これは開発版のドキュメントを表示しています。内容が不完全な場合があります。
このページには自動翻訳されたコンテンツが含まれています。 誤りを見つけた場合は、その箇所を選択して Ctrl+Enter を押し、編集者に報告してください。

12 トラッパーアイテム

概要

トラッパーアイテムは、データを問い合わせる代わりに受信データを受け付けます。 これは、Zabbixに送信したい任意のデータに便利です。

設定

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

  1. データ収集ホスト に移動します。
  2. ホストの行で アイテム をクリックします。
  3. アイテムの作成 をクリックします。
  4. 設定フォームにアイテムのパラメータを入力します。

必須入力フィールドは赤いアスタリスクでマークされています。

トラッパーアイテムに特有の情報が必要なフィールドは次のとおりです。

タイプ 「Zabbixトラッパー」を選択します。
キー Zabbixサーバーにデータを送信する際にアイテムを識別するために使用されるキーを入力します。
情報のタイプ 送信されるデータのフォーマットに対応する情報のタイプを選択します。
許可されたホスト カンマ区切りのIPアドレス(オプションでCIDR表記)またはDNS名のリスト。

指定した場合、ここにリストされたホストからの着信接続のみが受け入れられます。
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で非推奨となっています。

例: 127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST}

スペース、ユーザーマクロ、およびホストマクロ{HOST.HOST}、{HOST.NAME}、{HOST.IP}、{HOST.DNS}、{HOST.CONN}がサポートされています。

値を送信する前に、アイテムを保存してからZabbixサーバーが設定キャッシュの更新で変更を取得するまで最大60秒待つ必要がある場合があります。

データの送信

Zabbix senderユーティリティまたはZabbix senderプロトコルを使用して、Zabbixサーバーまたはプロキシにデータを送信することができます。 history.pushAPIメソッドを使用して、Zabbixサーバーにデータを送信することも可能です。

Zabbix sender

Zabbix senderユーティリティを使用してZabbixサーバーまたはプロキシにデータを送信するには、次のコマンドを実行して「test value」を送信できます。

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

「test value」を送信するために、次のコマンドオプションが使用されます。

  • -z ZabbixサーバーのIPアドレスを指定
  • -p Zabbixサーバーのポート番号を指定(デフォルトは10051)
  • -s ホストを指定(表示名ではなく、必ず技術名を使用してください)
  • -k トラッパーアイテムで設定されたアイテムキーを指定
  • -o 送信する値を指定

Zabbixトラッパープロセスは、アイテムキーに使用されているマクロを展開して、対象ホストの対応するアイテムキーの存在を確認しません。

Zabbix senderとZabbixサーバーまたはプロキシ間の通信の詳細については、Zabbix senderプロトコルを参照してください。

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を参照してください。

データの表示

データが送信されたら、監視データ最新データに移動して結果を確認できます。

単一の数値が送信された場合、データのグラフは、その値の時刻の左右に水平線を表示します。