This is a translation of the original English documentation page. Help us make it better.

12 トラッパーアイテム

概要

Trapper item は、問合せの代わりに受信データを受け取ります。

Zabbixに "プッシュ" したいデータに対して有効です。

Trapper item を使用するには、以下が必要です。

  • Zabbixに Trapper item が設定されていること
  • Zabbixにデータを送信すること
アイテム設定

トラッパーアイテム を設定するには:

  • 設定ホスト にアクセスします。
  • ホストの行の アイテム をクリックします。
  • アイテムの作成 をクリックします。
  • item のパラメータをフォームに入力します。

すべての必須入力項目には赤いアスタリスクが付けられています。

トラッパーアイテム で特定の情報を必要とするフィールドは、次のとおりです。

タイプ Zabbix トラッパー を選択します
キー データ送信時にアイテムを認識するためのキーを入力します
データ型 送信されるデータの形式に対応する情報の種類を選択します
許可されたホスト コンマ区切りの IP アドレスのリスト。オプションで CIDR 表記またはホスト名を使用します。
指定すると、ここにリストされているホストからの着信接続のみが受け入れられます。
IPv6 サポートが有効になっている場合は、'127.0.0.1', ': :127.0.0.1'、'::ffff:127.0.0.1' は同等に扱われ、'::/0' は任意の IPv4 または IPv6 アドレスを許可します。
'0.0.0.0/0'を使用して任意の IPv4 アドレスを許可できます。
"IPv4 互換の IPv6 アドレス"(0000::/96 プレフィックス) はサポートされていますが、RFC4291 によって非推奨になっていることに注意してください。 .
例: Server=127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, zabbix.domain
Zabbix 2.2.0 以降、このフィールドではスペースと ユーザー マクロ を使用できます。
ホスト マクロ: {HOST.HOST}、{HOST.NAME}、{HOST.IP} 、{HOST.DNS}、{HOST.CONN} は、Zabbix 4.0.2 以降、このフィールドで許可されています。

アイテム を保存した後、値を送信する前に サーバー がコンフィギュレーションキャッシュの更新から変更を拾うまで、最大60秒待つ必要がある場合があります。

データの送信

Zabbixサーバーまたはプロキシへのデータ送信は、Zabbix senderユーティリティまたはZabbix sender プロトコルを使用して行うことができます。 Zabbixサーバーへのデータ送信は、history.push APIメソッドを使用して行うこともできます。

データの送信

最も単純なケースでは、zabbix_senderユーティリティを使用して
'テスト値'を送信することができま す。

zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"

値を送信するには、これらのキーを使用します。

-z - ZabbixサーバのIPアドレスを指定します

-p - Zabbixサーバのポート番号を指定します(デフォルトは10051)

-s - ホストを指定します (ここでは 'visible' な名前ではなく、必ず 'technical' host name を使ってください)

-k - 定義した item のキーを指定します

-o - 実際に送信する値を指定します

Zabbix の trapper item で、ターゲットホストの対応する item キーの存在を確認する際、
item キーで使用されているマクロが展開されないことがあります。

history.push

history.push API メソッドを使用して Zabbix サーバーにデータを送信するには、テスト値を含む次の HTTP POST リクエストを実行します。

curl --request POST \
         --url 'https://example.com/zabbix/api_jsonrpc.php' \
         --header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
         --header 'Content-Type: application/json-rpc' \
         --data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'

リクエストが正しければ、API から返されるレスポンスは以下のようになります。

{
           "jsonrpc": "2.0",
           "result": {
           "response": "success",
           "data": [
           {
           "itemid": "10600"
           },
          {
           "itemid": "10601",
           "error": "Item is disabled."
           },
           {
           "error": "No permissions to referred object or it does not exist."
           }
           ]
           },
           "id": 1
       }

レスポンスデータにエラーがある場合は、特定のアイテムの送信データが Zabbix サーバーによる検証に失敗したことを示します。 これは以下の理由で発生する可能性があります。

  • データを送信したユーザーに、アイテムのホストに対する 読み取り 権限がない。
  • ホストが無効化されているか、データ収集なしでメンテナンス中である。
  • アイテムが存在しないか、サーバー設定キャッシュにまだ含まれていない。
  • アイテムが無効化されているか、ZabbixトラッパーまたはHTTPエージェント(トラップが有効)以外のタイプである。
  • ユーザーのIPアドレスまたはDNSがアイテムの許可ホストリストに設定されていない。
  • 別のアイテムに、ナノ秒レベルで重複したタイムスタンプを持つ値がある。

エラーがない場合、送信された値は処理のために受け入れられたことを示します。処理には、前処理(存在する場合)、トリガー処理、データベースへの保存が含まれます。

受け入れられた値の処理は失敗する可能性があり(例えば、前処理中)、その結果、値が破棄されることに注意してください。

Zabbix APIの使用方法の詳細については、APIを参照してください。

表示

Monitoring → Latest data での結果です。

なお、単一の数値が送られた場合、データグラフにはその数値の時点の左と右に横線が表示されます。