12 トラッパーアイテム

概要

トラッパーアイテムは、データを問い合わせる代わりに、受信したデータを受け付けます。
これは、Zabbix に送信したいあらゆるデータに役立ちます。

設定

トラッパーアイテムを設定するには、以下の手順を実行します。

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

必須の入力フィールドには、赤いアスタリスクが付いています。

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

タイプ 「Zabbixトラッパー」を選択します。
キー Zabbix server にデータを送信する際に、アイテムを識別するために使用されるキーを入力します。
データ型 送信されるデータの形式に対応する情報の種類を選択します。
許可されたホスト カンマ区切りのIPアドレス(CIDR表記も可)またはDNS名の一覧です。

指定した場合、ここに一覧表示されたホストからの受信接続のみが許可されます。
IPv6サポートが有効な場合、'127.0.0.1'、'::127.0.0.1'、'::ffff:127.0.0.1' は同等に扱われ、'::/0' は任意のIPv4またはIPv6アドレスを許可します。任意のIPv4アドレスを許可するには '0.0.0.0/0' を使用できます。

なお、「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 server が変更を取り込むまで最大60秒待つ必要がある場合があります。

データの送信

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

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

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最新データ に移動して結果を確認できます。

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