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

必須入力フィールドには、赤いアスタリスクが付いています。
トラッパーアイテムで固有の情報が必要なフィールドは次のとおりです。
| タイプ | 「Zabbixトラッパー」を選択します。 |
| キー | Zabbixサーバーにデータを送信する際にアイテムを識別するために使用されるキーを入力します。 |
| データ型 | 送信されるデータの形式に対応する情報の種類を選択します。 |
| 許可するホスト | カンマ区切りの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サーバーが変更を反映するまで最大60秒待つ必要がある場合があります。
データの送信
Zabbix sender ユーティリティまたは Zabbix sender protocol を使用して、Zabbix サーバーまたはプロキシにデータを送信できます。
history.push API メソッドを使用して、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 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サーバーによる検証に失敗したことを示します。 これは、次の理由で発生する可能性があります。
- データを送信するユーザーに、そのアイテムのホストに対するread権限がない。
- ホストが無効になっている、またはデータ収集を伴わないメンテナンス中である。
- アイテムが存在しない、またはまだサーバー設定キャッシュに含まれていない。
- アイテムが無効になっている、またはそのタイプがZabbixトラッパーもしくはHTTP agent(トラップ有効)以外である。
- ユーザーのIPまたはDNSが、そのアイテムのAllowed hostsリストに設定されていない。
- 別のアイテムに、ナノ秒レベルでタイムスタンプが重複する値がある。
エラーがない場合は、送信された値が処理対象として受け入れられたことを示します。これには、前処理(存在する場合)、トリガー処理、およびデータベースへの保存が含まれます。 なお、受け入れられた値の処理も失敗する可能性があります(たとえば、preprocessing中)。その場合、その値は破棄されます。
Zabbix APIの使用方法の詳細については、APIを参照してください。
データの表示
データが送信されると、監視 → 最新データ に移動して結果を確認できます。

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