12 トラッパーアイテム
概要
トラッパーアイテムは、データを問い合わせる代わりに、受信したデータを受け付けます。
これは、Zabbix に送信したいあらゆるデータに役立ちます。
設定
トラッパーアイテムを設定するには、以下の手順を実行します。
- データ収集 → ホスト に移動します。
- 対象ホストの行で アイテム をクリックします。
- アイテムの作成 をクリックします。
- 設定フォームにアイテムのパラメータを入力します。

必須の入力フィールドには、赤いアスタリスクが付いています。
トラッパーアイテムで特定の情報の入力が必要なフィールドは次のとおりです。
| タイプ | 「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 → 最新データ に移動して結果を確認できます。

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