fluent-plugin-zabbix-simple 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/.gitignore +3 -0
 - data/README-ja.md +37 -26
 - data/README.md +40 -26
 - data/fluent-plugin-zabbix-simple.gemspec +7 -5
 - data/lib/fluent/plugin/out_zabbix_simple.rb +32 -19
 - data/test/plugin/test_out_zabbix_simple.rb +24 -17
 - metadata +55 -26
 - data/Gemfile.lock +0 -31
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 4819a9f396b2288843ec703cdd86c63ad1bff031
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 182c76cb21283ae8d967cacfd2b2e5a9082e018c
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d1c966b0f5e2b184deb2583db8cd35baf6b06b6690358858f2ad934213ebb448b04abc73415cf8a126507779bc1693494d558f08d1e45f4ff64612777d79a517
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: e36fb72acf351ae9667f616e76262f87acc5ea316db33459e776b71845ae769b0e8592fc0f1898d034cea3f8fc4af885d940454a075b32034a58c6a91de65898
         
     | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/README-ja.md
    CHANGED
    
    | 
         @@ -1,16 +1,21 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # fluent-plugin-zabbix-simple
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            ## 概要
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            **fluent-plugin-zabbix-simple** は、[fluentd](http://fluentd.org/ "fluentd") output plugin で、[Zabbix](http://www.zabbix.com/ "Zabbix") Server に値を送ることができます。
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            fluentd は、ログを JSON として収集します。
         
     | 
| 
      
 8 
     | 
    
         
            +
            fluent-plugin-zabbix-simple は、**fluentdのJSONキー** を **Zabbixキー** に変換し、_Zabbix キー_ とその値を Zabbix Server に送ります。
         
     | 
| 
       8 
9 
     | 
    
         | 
| 
       9 
10 
     | 
    
         
             
            * 変換するキーは複数個定義でき、個数に制限はありません。
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
            *  
     | 
| 
      
 12 
     | 
    
         
            +
            * **key-pattern** と **key-replacement** の両方に正規表現を使うことができます。
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
              * **key-pattern**(単に **pattern** と呼ぶ)は、_fluentdのJSONキー_ と照合されるキーです。
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              * **key-replacement**(単に **replacement** と呼ぶ)は、_pattern_ と _fluentdのJSONキー_ との照合に成功した場合、Zabbix Server に送信されるキーです。
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ## インストール方法
         
     | 
| 
       14 
19 
     | 
    
         | 
| 
       15 
20 
     | 
    
         
             
            コマンド `gem install` を実行します。
         
     | 
| 
       16 
21 
     | 
    
         | 
| 
         @@ -21,11 +26,11 @@ td-agent をインストールしている場合、td-agent 付属の gem コマ 
     | 
|
| 
       21 
26 
     | 
    
         | 
| 
       22 
27 
     | 
    
         
             
                $ sudo /usr/lib64/fluent/ruby/bin/gem isntall fluent-plugin-zabbix-simple
         
     | 
| 
       23 
28 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
            ## 確認
         
     | 
| 
       25 
30 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
            ### Zabbix Server 設定
         
     | 
| 
       27 
32 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
            あらかじめ Zabbix  
     | 
| 
      
 33 
     | 
    
         
            +
            あらかじめ Zabbix Server で次のようなアイテムを定義しておきます:
         
     | 
| 
       29 
34 
     | 
    
         | 
| 
       30 
35 
     | 
    
         
             
                Key: httpd.status[2xx]
         
     | 
| 
       31 
36 
     | 
    
         
             
                Type: Zabbix trapper
         
     | 
| 
         @@ -41,9 +46,9 @@ td-agent をインストールしている場合、td-agent 付属の gem コマ 
     | 
|
| 
       41 
46 
     | 
    
         | 
| 
       42 
47 
     | 
    
         
             
            * `Type of information` は適切な型を選択してください。
         
     | 
| 
       43 
48 
     | 
    
         | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
            ### Plugin 設定&テスト
         
     | 
| 
       45 
50 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
      
 51 
     | 
    
         
            +
            fluent-plugin-zabbix-simple をテストするため次のようなファイルを作成します。
         
     | 
| 
       47 
52 
     | 
    
         | 
| 
       48 
53 
     | 
    
         
             
                <source>
         
     | 
| 
       49 
54 
     | 
    
         
             
                  type forward
         
     | 
| 
         @@ -68,9 +73,21 @@ Plugin をテストするため次のようなファイルを作成します。 
     | 
|
| 
       68 
73 
     | 
    
         | 
| 
       69 
74 
     | 
    
         
             
            30 秒程度待って、Zabbix Server に 321 が記録されていることを確認します。
         
     | 
| 
       70 
75 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
      
 76 
     | 
    
         
            +
            ## 設定
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
            name | type | description
         
     | 
| 
      
 79 
     | 
    
         
            +
            -----|------|------
         
     | 
| 
      
 80 
     | 
    
         
            +
            type | string | plugin の type を指定します。fluent-plugin-zabbix-simple は、"zabbix_simple" を指定します。
         
     | 
| 
      
 81 
     | 
    
         
            +
            zabbix_server | string | Zabbix Server の IP address か hostname を指定します。
         
     | 
| 
      
 82 
     | 
    
         
            +
            port | integer | Zabbix Server が使用するポート番号を指定します(既定値は 10051)。
         
     | 
| 
      
 83 
     | 
    
         
            +
            host | string | Zabbix Server にデータを送信しようとしているホスト名です(既定値は `Socket.gethostname`)。
         
     | 
| 
      
 84 
     | 
    
         
            +
            key_size | integer | map_key のサイズ(既定値は 20)。
         
     | 
| 
      
 85 
     | 
    
         
            +
            map_key[n] | string | スペースで分割された _pattern_ と _replacement。 0 番目の map_key として `map_key0` を使用することができます。
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
       72 
87 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
      
 88 
     | 
    
         
            +
            ## 多くのキーを使う
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            既定では、20 番目のキーまで検索します。
         
     | 
| 
       74 
91 
     | 
    
         
             
            もし 20 個以上のキーを指定する場合、key_size を指定しなければなりません。
         
     | 
| 
       75 
92 
     | 
    
         | 
| 
       76 
93 
     | 
    
         
             
                <match httpd.access.status_count>
         
     | 
| 
         @@ -104,20 +121,14 @@ Plugin をテストするため次のようなファイルを作成します。 
     | 
|
| 
       104 
121 
     | 
    
         
             
                  map_key25 pattern25 replace25
         
     | 
| 
       105 
122 
     | 
    
         
             
                </match>
         
     | 
| 
       106 
123 
     | 
    
         | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
            * `map_key0` も使用できます。
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
            * 0 番目の map_key から順にマッチするかどうかを調べ、最初にマッチした map_key を使い、
         
     | 
| 
       112 
     | 
    
         
            -
              残りの map_key にマッチするものがあったとしても使用されません。
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
            * `map_key01` などのように 0 を数値の左に詰めてはいけません。
         
     | 
| 
      
 124 
     | 
    
         
            +
            ## 照合の詳細
         
     | 
| 
       115 
125 
     | 
    
         | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
      
 126 
     | 
    
         
            +
            fluent-plugin-zabbix-simple は、`map_key0` から照合を開始し、最初に照合に成功したキーを使用し、残りは無視します。
         
     | 
| 
       117 
127 
     | 
    
         | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
      
 128 
     | 
    
         
            +
            ## Legal Notification
         
     | 
| 
       119 
129 
     | 
    
         | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
      
 130 
     | 
    
         
            +
            ### Copyright
         
     | 
| 
      
 131 
     | 
    
         
            +
            Copyright (c) 2013 NAKANO Hideo
         
     | 
| 
       121 
132 
     | 
    
         | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
      
 133 
     | 
    
         
            +
            ### License
         
     | 
| 
      
 134 
     | 
    
         
            +
            Apache License, Version 2.0
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,29 +1,34 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # fluent-plugin-zabbix-simple, a plugin for [Fluentd](http://fluentd.org)
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            ## What is this
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            **fluent-plugin-zabbix-simple** is a [fluentd](http://fluentd.org/ "fluentd") output plugin to send values to [Zabbix](http://www.zabbix.com/ "Zabbix") Server.
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            fluentd collect logs as JSON.
         
     | 
| 
      
 8 
     | 
    
         
            +
            fluent-plugin-zabbix-simple converts **fluentd's JSON key** to **Zabbix key**, and sends _Zabbix key_ and its value to Zabbix Server.
         
     | 
| 
       8 
9 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
            * You can define multiple key  
     | 
| 
      
 10 
     | 
    
         
            +
            * You can define multiple key which you want to send, no size limitation.
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
            * You can use regex  
     | 
| 
      
 12 
     | 
    
         
            +
            * You can use regex both **key-pattern** and **key-replacement**.
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
              * **key-pattern** (simply called **pattern**) is a key that is matched against _fluentd's JSON key_.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              * **key-replacement** (simple called **replacement**) is a key that is send to Zabbix Server if _pattern_ matches _fluentd's JSON key_. Before sending to Zabbix Server, _fluentd's JSON key_ is converted to _Zabbix key_ according to the replacement.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ## How to Install
         
     | 
| 
       14 
19 
     | 
    
         | 
| 
       15 
20 
     | 
    
         
             
            execute command `gem install`:
         
     | 
| 
       16 
21 
     | 
    
         | 
| 
       17 
22 
     | 
    
         
             
                $ sudo gem install fluent-plugin-zabbix-simple
         
     | 
| 
       18 
23 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
            td-agent has its own Ruby ecosystem.
         
     | 
| 
       20 
     | 
    
         
            -
            If you have installed td-agent,  
     | 
| 
      
 24 
     | 
    
         
            +
            [td-agent](http://docs.fluentd.org/articles/install-by-rpm#what-is-td-agent) has its own Ruby ecosystem.
         
     | 
| 
      
 25 
     | 
    
         
            +
            If you have installed td-agent, you would use `gem` command included with td-agent.
         
     | 
| 
       21 
26 
     | 
    
         | 
| 
       22 
27 
     | 
    
         
             
                $ sudo /usr/lib64/fluent/ruby/bin/gem isntall fluent-plugin-zabbix-simple
         
     | 
| 
       23 
28 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
            ## Installation Check
         
     | 
| 
       25 
30 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
            ### Zabbix Server Configuration
         
     | 
| 
       27 
32 
     | 
    
         | 
| 
       28 
33 
     | 
    
         
             
            In advance, You shoud define zabbix items like this:
         
     | 
| 
       29 
34 
     | 
    
         | 
| 
         @@ -41,9 +46,9 @@ Tips: 
     | 
|
| 
       41 
46 
     | 
    
         | 
| 
       42 
47 
     | 
    
         
             
            * You must choose a appropriate `Type of information`.
         
     | 
| 
       43 
48 
     | 
    
         | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
            ### Plugin Configuration and Test
         
     | 
| 
       45 
50 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
            To test plugin, create file:
         
     | 
| 
      
 51 
     | 
    
         
            +
            To test fluent-plugin-zabbix-simple, create file:
         
     | 
| 
       47 
52 
     | 
    
         | 
| 
       48 
53 
     | 
    
         
             
                <source>
         
     | 
| 
       49 
54 
     | 
    
         
             
                  type forward
         
     | 
| 
         @@ -68,10 +73,23 @@ Open another termina, send a test message to fluentd server. 
     | 
|
| 
       68 
73 
     | 
    
         | 
| 
       69 
74 
     | 
    
         
             
            after a few seconds, confirm that the 321 has been recorded in the Zabbix Server.
         
     | 
| 
       70 
75 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            ## Configuration
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            name | type | description
         
     | 
| 
      
 80 
     | 
    
         
            +
            -----|------|------
         
     | 
| 
      
 81 
     | 
    
         
            +
            type | string | type of plugin. fluent-plugin-zabbix-simple has "zabbix_simple".
         
     | 
| 
      
 82 
     | 
    
         
            +
            zabbix_server | string | IP address or hostname of Zabbix Server.
         
     | 
| 
      
 83 
     | 
    
         
            +
            port | integer | port no which zabbix Server uses(default is 10051).
         
     | 
| 
      
 84 
     | 
    
         
            +
            host | string | hostname of sender(default is `Socket.gethostname`).
         
     | 
| 
      
 85 
     | 
    
         
            +
            key_size | integer | size of map_key(default is 20)
         
     | 
| 
      
 86 
     | 
    
         
            +
            map_key[n] | string | a space separated _pattern_ and _replacement. You can use `map_key0` as 0th map_key.
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            ## Use Many Keys
         
     | 
| 
       72 
90 
     | 
    
         | 
| 
       73 
91 
     | 
    
         
             
            By default, key_map is scanned up to 20.
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
      
 92 
     | 
    
         
            +
            You must specify `key_size` if you want to use key_map more than 20.
         
     | 
| 
       75 
93 
     | 
    
         | 
| 
       76 
94 
     | 
    
         
             
                <match httpd.access.status_count>
         
     | 
| 
       77 
95 
     | 
    
         
             
                  type zabbix_simple
         
     | 
| 
         @@ -104,19 +122,15 @@ you must specify `key_size` if you want to use key_map more than 20. 
     | 
|
| 
       104 
122 
     | 
    
         
             
                  map_key25 pattern25 replace25
         
     | 
| 
       105 
123 
     | 
    
         
             
                </match>
         
     | 
| 
       106 
124 
     | 
    
         | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
            * you can use `map_key0`.
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
            * lookup from `map_key0`, use first matched map_key, ignore the remaining map_keys.
         
     | 
| 
      
 125 
     | 
    
         
            +
            ## Detail of matching
         
     | 
| 
       112 
126 
     | 
    
         | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
      
 127 
     | 
    
         
            +
            fluent-plugin-zabbix-simple lookups from `map_key0` up to map_key[key_size], use the first matched map_key, ignore the rest of map_keys.
         
     | 
| 
       114 
128 
     | 
    
         | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
      
 129 
     | 
    
         
            +
            ## Legal Notification
         
     | 
| 
       116 
130 
     | 
    
         | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
      
 131 
     | 
    
         
            +
            ### Copyright
         
     | 
| 
      
 132 
     | 
    
         
            +
            Copyright (c) 2013 NAKANO Hideo
         
     | 
| 
       118 
133 
     | 
    
         | 
| 
       119 
     | 
    
         
            -
             
     | 
| 
      
 134 
     | 
    
         
            +
            ### License
         
     | 
| 
      
 135 
     | 
    
         
            +
            Apache License, Version 2.0
         
     | 
| 
       120 
136 
     | 
    
         | 
| 
       121 
     | 
    
         
            -
            Copyright:: Copyright (c) 2013 NAKANO Hideo
         
     | 
| 
       122 
     | 
    
         
            -
            License::   Apache License, Version 2.0
         
     | 
| 
         @@ -2,8 +2,8 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            # -*- mode:ruby -*-
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            Gem::Specification.new do |gem|
         
     | 
| 
       5 
     | 
    
         
            -
              gem.authors       = ["NAKANO Hideo"]
         
     | 
| 
       6 
     | 
    
         
            -
              gem.email         = ["nakano@ilu.co.jp"]
         
     | 
| 
      
 5 
     | 
    
         
            +
              gem.authors       = ["NAKANO Hideo", "Hiroshi Hatake", "Kenji Okimoto"]
         
     | 
| 
      
 6 
     | 
    
         
            +
              gem.email         = ["nakano@ilu.co.jp", "cosmo0920.oucc@gmail.com", "okkez000@gmail.com"]
         
     | 
| 
       7 
7 
     | 
    
         
             
              gem.description   = %q{Output data plugin to Zabbix}
         
     | 
| 
       8 
8 
     | 
    
         
             
              gem.summary       = %q{Output data plugin to Zabbix (like zabbix_sender)}
         
     | 
| 
       9 
9 
     | 
    
         
             
              gem.homepage      = "https://github.com/sunny4381/fluent-plugin-zabbix-simple"
         
     | 
| 
         @@ -13,9 +13,11 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       13 
13 
     | 
    
         
             
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
       14 
14 
     | 
    
         
             
              gem.name          = "fluent-plugin-zabbix-simple"
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem.require_paths = ["lib"]
         
     | 
| 
       16 
     | 
    
         
            -
              gem.version       = " 
     | 
| 
      
 16 
     | 
    
         
            +
              gem.version       = "2.0.0"
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
              gem.add_development_dependency " 
     | 
| 
       19 
     | 
    
         
            -
              gem. 
     | 
| 
      
 18 
     | 
    
         
            +
              gem.add_development_dependency "bundler"
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.add_development_dependency "rake"
         
     | 
| 
      
 20 
     | 
    
         
            +
              gem.add_development_dependency "test-unit", "~> 3.2.0"
         
     | 
| 
      
 21 
     | 
    
         
            +
              gem.add_runtime_dependency "fluentd", [">= 0.14.15", "< 2"]
         
     | 
| 
       20 
22 
     | 
    
         
             
              gem.add_runtime_dependency "zabbix"
         
     | 
| 
       21 
23 
     | 
    
         
             
            end
         
     | 
| 
         @@ -15,14 +15,17 @@ 
     | 
|
| 
       15 
15 
     | 
    
         
             
            #    See the License for the specific language governing permissions and
         
     | 
| 
       16 
16 
     | 
    
         
             
            #    limitations under the License.
         
     | 
| 
       17 
17 
     | 
    
         
             
            #
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            require 'zabbix'
         
     | 
| 
      
 20 
     | 
    
         
            +
            require 'socket'
         
     | 
| 
      
 21 
     | 
    
         
            +
            require 'fluent/plugin/output'
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            class Fluent::Plugin::ZabbixSimpleOutput < Fluent::Plugin::Output
         
     | 
| 
       19 
24 
     | 
    
         
             
              Fluent::Plugin.register_output('zabbix_simple', self)
         
     | 
| 
       20 
25 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
               
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                require 'socket'
         
     | 
| 
       25 
     | 
    
         
            -
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
              helpers :compat_parameters
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              DEFAULT_BUFFER_TYPE = "memory"
         
     | 
| 
       26 
29 
     | 
    
         | 
| 
       27 
30 
     | 
    
         
             
              attr_reader :zabbix_server, :port, :host, :key_size, :map_keys
         
     | 
| 
       28 
31 
     | 
    
         | 
| 
         @@ -31,9 +34,14 @@ class Fluent::ZabbixSimpleOutput < Fluent::Output 
     | 
|
| 
       31 
34 
     | 
    
         
             
              config_param :host, :string,             :default => Socket.gethostname
         
     | 
| 
       32 
35 
     | 
    
         
             
              config_param :key_size, :integer,        :default => 20
         
     | 
| 
       33 
36 
     | 
    
         | 
| 
      
 37 
     | 
    
         
            +
              config_section :buffer do
         
     | 
| 
      
 38 
     | 
    
         
            +
                config_set_default :@type, DEFAULT_BUFFER_TYPE
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
       34 
41 
     | 
    
         
             
              KeyMap = Struct.new(:id, :pattern, :replace)
         
     | 
| 
       35 
42 
     | 
    
         | 
| 
       36 
43 
     | 
    
         
             
              def configure(conf)
         
     | 
| 
      
 44 
     | 
    
         
            +
                compat_parameters_convert(conf, :buffer)
         
     | 
| 
       37 
45 
     | 
    
         
             
                super
         
     | 
| 
       38 
46 
     | 
    
         | 
| 
       39 
47 
     | 
    
         
             
                if @zabbix_server.nil?
         
     | 
| 
         @@ -64,49 +72,54 @@ class Fluent::ZabbixSimpleOutput < Fluent::Output 
     | 
|
| 
       64 
72 
     | 
    
         
             
                Zabbix::Sender.new(:host => @zabbix_server, :port => @port)
         
     | 
| 
       65 
73 
     | 
    
         
             
              end
         
     | 
| 
       66 
74 
     | 
    
         | 
| 
       67 
     | 
    
         
            -
              def  
     | 
| 
      
 75 
     | 
    
         
            +
              def send_zabbix(zbx_sender, name, value, time)
         
     | 
| 
       68 
76 
     | 
    
         
             
                begin
         
     | 
| 
       69 
     | 
    
         
            -
                   
     | 
| 
      
 77 
     | 
    
         
            +
                  log.debug { "name: #{name}, value: #{value}, time: #{time}" }
         
     | 
| 
       70 
78 
     | 
    
         | 
| 
       71 
79 
     | 
    
         
             
                  opts = { :host => @host, :ts => time }
         
     | 
| 
       72 
80 
     | 
    
         
             
                  status = zbx_sender.send_data(name, value.to_s, opts)
         
     | 
| 
       73 
81 
     | 
    
         | 
| 
       74 
82 
     | 
    
         
             
                rescue IOError, EOFError, SystemCallError
         
     | 
| 
       75 
83 
     | 
    
         
             
                  # server didn't respond
         
     | 
| 
       76 
     | 
    
         
            -
                   
     | 
| 
      
 84 
     | 
    
         
            +
                  log.warn "Zabbix::Sender.send_data raises exception: #{$!.class}, '#{$!.message}'"
         
     | 
| 
       77 
85 
     | 
    
         
             
                  status = false
         
     | 
| 
       78 
86 
     | 
    
         
             
                end
         
     | 
| 
       79 
87 
     | 
    
         
             
                unless status
         
     | 
| 
       80 
     | 
    
         
            -
                   
     | 
| 
      
 88 
     | 
    
         
            +
                  log.warn "failed to send to zabbix_server `#{@zabbix_server}(port:`#{@port}`), host:#{@host} '#{name}': #{value}"
         
     | 
| 
       81 
89 
     | 
    
         
             
                end
         
     | 
| 
       82 
90 
     | 
    
         
             
              end
         
     | 
| 
       83 
91 
     | 
    
         | 
| 
       84 
     | 
    
         
            -
              def  
     | 
| 
      
 92 
     | 
    
         
            +
              def format(tag, time, record)
         
     | 
| 
      
 93 
     | 
    
         
            +
                [time, record].to_msgpack
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
              def formatted_to_msgpack_binary?
         
     | 
| 
      
 97 
     | 
    
         
            +
                true
         
     | 
| 
      
 98 
     | 
    
         
            +
              end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
              def write(chunk)
         
     | 
| 
       85 
101 
     | 
    
         
             
                zbx_sender = nil
         
     | 
| 
       86 
102 
     | 
    
         
             
                begin
         
     | 
| 
       87 
     | 
    
         
            -
                   
     | 
| 
      
 103 
     | 
    
         
            +
                  log.trace { "connecting to zabbix server `#{@zabbix_server}(port:`#{@port}`)" }
         
     | 
| 
       88 
104 
     | 
    
         
             
                  zbx_sender = create_zbx_sender
         
     | 
| 
       89 
105 
     | 
    
         
             
                  zbx_sender.connect
         
     | 
| 
       90 
     | 
    
         
            -
                   
     | 
| 
      
 106 
     | 
    
         
            +
                  log.trace "done connected to zabbix server"
         
     | 
| 
       91 
107 
     | 
    
         
             
                rescue
         
     | 
| 
       92 
     | 
    
         
            -
                   
     | 
| 
      
 108 
     | 
    
         
            +
                  log.warn "could not connect to zabbix server `#{@zabbix_server}(port:`#{@port})`, exception: #{$!.class}, '#{$!.message}'"
         
     | 
| 
       93 
109 
     | 
    
         
             
                end
         
     | 
| 
       94 
110 
     | 
    
         | 
| 
       95 
111 
     | 
    
         
             
                if zbx_sender
         
     | 
| 
       96 
     | 
    
         
            -
                   
     | 
| 
      
 112 
     | 
    
         
            +
                  chunk.msgpack_each do |time, record|
         
     | 
| 
       97 
113 
     | 
    
         
             
                    record.each do |key,value|
         
     | 
| 
       98 
114 
     | 
    
         
             
                      @map_keys.each do |map|
         
     | 
| 
       99 
115 
     | 
    
         
             
                        zbx_key = map_key(key, map.pattern, map.replace)
         
     | 
| 
       100 
116 
     | 
    
         
             
                        next unless zbx_key
         
     | 
| 
       101 
     | 
    
         
            -
                         
     | 
| 
      
 117 
     | 
    
         
            +
                        send_zabbix(zbx_sender, zbx_key, value, time)
         
     | 
| 
       102 
118 
     | 
    
         
             
                      end
         
     | 
| 
       103 
119 
     | 
    
         
             
                    end
         
     | 
| 
       104 
120 
     | 
    
         
             
                  end
         
     | 
| 
       105 
121 
     | 
    
         
             
                  zbx_sender.disconnect
         
     | 
| 
       106 
122 
     | 
    
         
             
                end
         
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
                # call next chain
         
     | 
| 
       109 
     | 
    
         
            -
                chain.next
         
     | 
| 
       110 
123 
     | 
    
         
             
              end
         
     | 
| 
       111 
124 
     | 
    
         | 
| 
       112 
125 
     | 
    
         
             
              def map_key(key, pattern, replace)
         
     | 
| 
         @@ -1,10 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'fluent/test/driver/output'
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            module Mock
         
     | 
| 
       4 
     | 
    
         
            -
              class ::Fluent::ZabbixSimpleOutput
         
     | 
| 
      
 5 
     | 
    
         
            +
              class ::Fluent::Plugin::ZabbixSimpleOutput
         
     | 
| 
       5 
6 
     | 
    
         
             
                def self.mock!
         
     | 
| 
       6 
7 
     | 
    
         
             
                  include MockZabbixSimpleOutput
         
     | 
| 
       7 
     | 
    
         
            -
                  alias_method :old_create_zbx_sender, :create_zbx_sender 
     | 
| 
      
 8 
     | 
    
         
            +
                  alias_method :old_create_zbx_sender, :create_zbx_sender
         
     | 
| 
       8 
9 
     | 
    
         
             
                  alias_method :create_zbx_sender, :mock_create_zbx_sender
         
     | 
| 
       9 
10 
     | 
    
         
             
                end
         
     | 
| 
       10 
11 
     | 
    
         
             
                def self.unmock!
         
     | 
| 
         @@ -52,16 +53,18 @@ class ZabbixOutputSimpleTest < Test::Unit::TestCase 
     | 
|
| 
       52 
53 
     | 
    
         
             
                map_key2        x2 y2
         
     | 
| 
       53 
54 
     | 
    
         
             
              ]
         
     | 
| 
       54 
55 
     | 
    
         | 
| 
       55 
     | 
    
         
            -
              def create_driver(conf = CONFIG 
     | 
| 
       56 
     | 
    
         
            -
                Fluent::Test:: 
     | 
| 
      
 56 
     | 
    
         
            +
              def create_driver(conf = CONFIG)
         
     | 
| 
      
 57 
     | 
    
         
            +
                Fluent::Test::Driver::Output.new(Fluent::Plugin::ZabbixSimpleOutput).configure(conf)
         
     | 
| 
       57 
58 
     | 
    
         
             
              end
         
     | 
| 
       58 
59 
     | 
    
         | 
| 
       59 
60 
     | 
    
         
             
              def test_emit001
         
     | 
| 
       60 
61 
     | 
    
         
             
                ::Mock::MockZbxSender.clearData
         
     | 
| 
       61 
     | 
    
         
            -
                Fluent::ZabbixSimpleOutput.mock!
         
     | 
| 
      
 62 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.mock!
         
     | 
| 
       62 
63 
     | 
    
         
             
                d = create_driver
         
     | 
| 
       63 
     | 
    
         
            -
                d. 
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
      
 64 
     | 
    
         
            +
                d.run(default_tag: 'test') do
         
     | 
| 
      
 65 
     | 
    
         
            +
                  d.feed({"x1" => "test value of x1"})
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.unmock!
         
     | 
| 
       65 
68 
     | 
    
         | 
| 
       66 
69 
     | 
    
         
             
                assert_equal(1, ::Mock::MockZbxSender.data.size)
         
     | 
| 
       67 
70 
     | 
    
         
             
                assert_equal("y1", ::Mock::MockZbxSender.data[0][0])
         
     | 
| 
         @@ -76,10 +79,12 @@ class ZabbixOutputSimpleTest < Test::Unit::TestCase 
     | 
|
| 
       76 
79 
     | 
    
         
             
              def test_emit002
         
     | 
| 
       77 
80 
     | 
    
         
             
                ::Mock::MockZbxSender.clearData
         
     | 
| 
       78 
81 
     | 
    
         | 
| 
       79 
     | 
    
         
            -
                Fluent::ZabbixSimpleOutput.mock!
         
     | 
| 
      
 82 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.mock!
         
     | 
| 
       80 
83 
     | 
    
         
             
                d = create_driver
         
     | 
| 
       81 
     | 
    
         
            -
                d. 
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
      
 84 
     | 
    
         
            +
                d.run(default_tag: 'test') do
         
     | 
| 
      
 85 
     | 
    
         
            +
                  d.feed({"x3" => "test value of x3"})
         
     | 
| 
      
 86 
     | 
    
         
            +
                end
         
     | 
| 
      
 87 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.unmock!
         
     | 
| 
       83 
88 
     | 
    
         | 
| 
       84 
89 
     | 
    
         
             
                assert_equal(0, ::Mock::MockZbxSender.data.size)
         
     | 
| 
       85 
90 
     | 
    
         | 
| 
         @@ -89,14 +94,16 @@ class ZabbixOutputSimpleTest < Test::Unit::TestCase 
     | 
|
| 
       89 
94 
     | 
    
         
             
              def test_emit003
         
     | 
| 
       90 
95 
     | 
    
         
             
                ::Mock::MockZbxSender.clearData
         
     | 
| 
       91 
96 
     | 
    
         | 
| 
       92 
     | 
    
         
            -
                Fluent::ZabbixSimpleOutput.mock!
         
     | 
| 
      
 97 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.mock!
         
     | 
| 
       93 
98 
     | 
    
         
             
                d = create_driver %{
         
     | 
| 
       94 
99 
     | 
    
         
             
                  zabbix_server  127.0.0.1
         
     | 
| 
       95 
100 
     | 
    
         
             
                  map_key1       input_([^_]+)_count httpd.count[\\1]
         
     | 
| 
       96 
101 
     | 
    
         
             
                }
         
     | 
| 
       97 
     | 
    
         
            -
                d. 
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
      
 102 
     | 
    
         
            +
                d.run(default_tag: 'test') do
         
     | 
| 
      
 103 
     | 
    
         
            +
                  d.feed({"input_unmatched_count" => 10, "input_unmatched_rate" => 0.431, "input_unmatched_percentage" => 0.73})
         
     | 
| 
      
 104 
     | 
    
         
            +
                  d.feed({"input_status2xx_count" => 1884540035, "input_status2xx_rate" => 2041995578.0 / 730602602.0, "input_status2xx_percentage" => 422483907.0 / 426370718.0})
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
                Fluent::Plugin::ZabbixSimpleOutput.unmock!
         
     | 
| 
       100 
107 
     | 
    
         | 
| 
       101 
108 
     | 
    
         
             
                assert_equal(2, ::Mock::MockZbxSender.data.size)
         
     | 
| 
       102 
109 
     | 
    
         
             
                assert_equal("httpd.count[unmatched]", ::Mock::MockZbxSender.data[0][0])
         
     | 
| 
         @@ -171,14 +178,14 @@ class ZabbixOutputSimpleTest < Test::Unit::TestCase 
     | 
|
| 
       171 
178 
     | 
    
         
             
              def test_map_key
         
     | 
| 
       172 
179 
     | 
    
         
             
                d = create_driver
         
     | 
| 
       173 
180 
     | 
    
         | 
| 
       174 
     | 
    
         
            -
                assert_equal("http.statusCount[2xx]", 
     | 
| 
      
 181 
     | 
    
         
            +
                assert_equal("http.statusCount[2xx]",
         
     | 
| 
       175 
182 
     | 
    
         
             
                  d.instance.map_key("input_status2xx_count", /^.+_status(...)_count$/,
         
     | 
| 
       176 
183 
     | 
    
         
             
                    'http.statusCount[\1]'))
         
     | 
| 
       177 
     | 
    
         
            -
                assert_equal("http.statusCount[2xx]", 
     | 
| 
      
 184 
     | 
    
         
            +
                assert_equal("http.statusCount[2xx]",
         
     | 
| 
       178 
185 
     | 
    
         
             
                  d.instance.map_key("input_status2xx_count",
         
     | 
| 
       179 
186 
     | 
    
         
             
                     Regexp.new('^.+_status(...)_count$'),
         
     | 
| 
       180 
187 
     | 
    
         
             
                    'http.statusCount[\1]'))
         
     | 
| 
       181 
     | 
    
         
            -
                assert_nil( 
     | 
| 
      
 188 
     | 
    
         
            +
                assert_nil(
         
     | 
| 
       182 
189 
     | 
    
         
             
                  d.instance.map_key("input_status2xx_rate",
         
     | 
| 
       183 
190 
     | 
    
         
             
                     Regexp.new('^.+_status(...)_count$'),
         
     | 
| 
       184 
191 
     | 
    
         
             
                    'http.statusCount[\1]'))
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,74 +1,104 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: fluent-plugin-zabbix-simple
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
       5 
     | 
    
         
            -
              prerelease: 
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.0
         
     | 
| 
       6 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
7 
     | 
    
         
             
            - NAKANO Hideo
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Hiroshi Hatake
         
     | 
| 
      
 9 
     | 
    
         
            +
            - Kenji Okimoto
         
     | 
| 
       9 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2017-07-03 00:00:00.000000000 Z
         
     | 
| 
       13 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
     | 
    
         
            -
              name:  
     | 
| 
      
 16 
     | 
    
         
            +
              name: bundler
         
     | 
| 
       16 
17 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
     | 
    
         
            -
                none: false
         
     | 
| 
       18 
18 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
     | 
    
         
            -
                - -  
     | 
| 
      
 19 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       20 
20 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       21 
21 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       22 
22 
     | 
    
         
             
              type: :development
         
     | 
| 
       23 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
24 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
     | 
    
         
            -
                none: false
         
     | 
| 
       26 
25 
     | 
    
         
             
                requirements:
         
     | 
| 
       27 
     | 
    
         
            -
                - -  
     | 
| 
      
 26 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       28 
27 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       29 
28 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       30 
29 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       31 
     | 
    
         
            -
              name:  
     | 
| 
      
 30 
     | 
    
         
            +
              name: rake
         
     | 
| 
       32 
31 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       33 
     | 
    
         
            -
                none: false
         
     | 
| 
       34 
32 
     | 
    
         
             
                requirements:
         
     | 
| 
       35 
     | 
    
         
            -
                - -  
     | 
| 
      
 33 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       36 
34 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       37 
35 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       38 
     | 
    
         
            -
              type: : 
     | 
| 
      
 36 
     | 
    
         
            +
              type: :development
         
     | 
| 
       39 
37 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       40 
38 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       41 
     | 
    
         
            -
                none: false
         
     | 
| 
       42 
39 
     | 
    
         
             
                requirements:
         
     | 
| 
       43 
     | 
    
         
            -
                - -  
     | 
| 
      
 40 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       44 
41 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       45 
42 
     | 
    
         
             
                    version: '0'
         
     | 
| 
      
 43 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 44 
     | 
    
         
            +
              name: test-unit
         
     | 
| 
      
 45 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 46 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 47 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 48 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 49 
     | 
    
         
            +
                    version: 3.2.0
         
     | 
| 
      
 50 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 51 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 52 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 53 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 54 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 55 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 56 
     | 
    
         
            +
                    version: 3.2.0
         
     | 
| 
      
 57 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 58 
     | 
    
         
            +
              name: fluentd
         
     | 
| 
      
 59 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 60 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 61 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 62 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 63 
     | 
    
         
            +
                    version: 0.14.15
         
     | 
| 
      
 64 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 66 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
      
 67 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 68 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 69 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 70 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 71 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 72 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 73 
     | 
    
         
            +
                    version: 0.14.15
         
     | 
| 
      
 74 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 75 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 76 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
       46 
77 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       47 
78 
     | 
    
         
             
              name: zabbix
         
     | 
| 
       48 
79 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       49 
     | 
    
         
            -
                none: false
         
     | 
| 
       50 
80 
     | 
    
         
             
                requirements:
         
     | 
| 
       51 
     | 
    
         
            -
                - -  
     | 
| 
      
 81 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       52 
82 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       53 
83 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       54 
84 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       55 
85 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       56 
86 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       57 
     | 
    
         
            -
                none: false
         
     | 
| 
       58 
87 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - -  
     | 
| 
      
 88 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       60 
89 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
90 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       62 
91 
     | 
    
         
             
            description: Output data plugin to Zabbix
         
     | 
| 
       63 
92 
     | 
    
         
             
            email:
         
     | 
| 
       64 
93 
     | 
    
         
             
            - nakano@ilu.co.jp
         
     | 
| 
      
 94 
     | 
    
         
            +
            - cosmo0920.oucc@gmail.com
         
     | 
| 
      
 95 
     | 
    
         
            +
            - okkez000@gmail.com
         
     | 
| 
       65 
96 
     | 
    
         
             
            executables: []
         
     | 
| 
       66 
97 
     | 
    
         
             
            extensions: []
         
     | 
| 
       67 
98 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       68 
99 
     | 
    
         
             
            files:
         
     | 
| 
       69 
     | 
    
         
            -
            - .gitignore
         
     | 
| 
      
 100 
     | 
    
         
            +
            - ".gitignore"
         
     | 
| 
       70 
101 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       71 
     | 
    
         
            -
            - Gemfile.lock
         
     | 
| 
       72 
102 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       73 
103 
     | 
    
         
             
            - README-ja.md
         
     | 
| 
       74 
104 
     | 
    
         
             
            - README.md
         
     | 
| 
         @@ -79,27 +109,26 @@ files: 
     | 
|
| 
       79 
109 
     | 
    
         
             
            - test/plugin/test_out_zabbix_simple.rb
         
     | 
| 
       80 
110 
     | 
    
         
             
            homepage: https://github.com/sunny4381/fluent-plugin-zabbix-simple
         
     | 
| 
       81 
111 
     | 
    
         
             
            licenses: []
         
     | 
| 
      
 112 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
       82 
113 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       83 
114 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       84 
115 
     | 
    
         
             
            require_paths:
         
     | 
| 
       85 
116 
     | 
    
         
             
            - lib
         
     | 
| 
       86 
117 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       87 
     | 
    
         
            -
              none: false
         
     | 
| 
       88 
118 
     | 
    
         
             
              requirements:
         
     | 
| 
       89 
     | 
    
         
            -
              - -  
     | 
| 
      
 119 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       90 
120 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       91 
121 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       92 
122 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       93 
     | 
    
         
            -
              none: false
         
     | 
| 
       94 
123 
     | 
    
         
             
              requirements:
         
     | 
| 
       95 
     | 
    
         
            -
              - -  
     | 
| 
      
 124 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       96 
125 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       97 
126 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       98 
127 
     | 
    
         
             
            requirements: []
         
     | 
| 
       99 
128 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       100 
     | 
    
         
            -
            rubygems_version:  
     | 
| 
      
 129 
     | 
    
         
            +
            rubygems_version: 2.6.11
         
     | 
| 
       101 
130 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       102 
     | 
    
         
            -
            specification_version:  
     | 
| 
      
 131 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
       103 
132 
     | 
    
         
             
            summary: Output data plugin to Zabbix (like zabbix_sender)
         
     | 
| 
       104 
133 
     | 
    
         
             
            test_files:
         
     | 
| 
       105 
134 
     | 
    
         
             
            - test/helper.rb
         
     | 
    
        data/Gemfile.lock
    DELETED
    
    | 
         @@ -1,31 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            PATH
         
     | 
| 
       2 
     | 
    
         
            -
              remote: .
         
     | 
| 
       3 
     | 
    
         
            -
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                fluent-plugin-zabbix-simple (1.0.0)
         
     | 
| 
       5 
     | 
    
         
            -
                  fluentd
         
     | 
| 
       6 
     | 
    
         
            -
                  zabbix
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            GEM
         
     | 
| 
       9 
     | 
    
         
            -
              remote: https://rubygems.org/
         
     | 
| 
       10 
     | 
    
         
            -
              specs:
         
     | 
| 
       11 
     | 
    
         
            -
                cool.io (1.1.0)
         
     | 
| 
       12 
     | 
    
         
            -
                  iobuffer (>= 1.0.0)
         
     | 
| 
       13 
     | 
    
         
            -
                fluentd (0.10.31)
         
     | 
| 
       14 
     | 
    
         
            -
                  cool.io (~> 1.1.0)
         
     | 
| 
       15 
     | 
    
         
            -
                  http_parser.rb (~> 0.5.1)
         
     | 
| 
       16 
     | 
    
         
            -
                  json (>= 1.4.3)
         
     | 
| 
       17 
     | 
    
         
            -
                  msgpack (~> 0.4.4)
         
     | 
| 
       18 
     | 
    
         
            -
                  yajl-ruby (~> 1.0)
         
     | 
| 
       19 
     | 
    
         
            -
                http_parser.rb (0.5.3)
         
     | 
| 
       20 
     | 
    
         
            -
                iobuffer (1.1.2)
         
     | 
| 
       21 
     | 
    
         
            -
                json (1.7.7)
         
     | 
| 
       22 
     | 
    
         
            -
                msgpack (0.4.7)
         
     | 
| 
       23 
     | 
    
         
            -
                yajl-ruby (1.1.0)
         
     | 
| 
       24 
     | 
    
         
            -
                zabbix (0.4.0)
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
            PLATFORMS
         
     | 
| 
       27 
     | 
    
         
            -
              ruby
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
            DEPENDENCIES
         
     | 
| 
       30 
     | 
    
         
            -
              fluent-plugin-zabbix-simple!
         
     | 
| 
       31 
     | 
    
         
            -
              fluentd
         
     |