このセクションでは、Zabbix エージェントによるパッシブチェックとアクティブチェック詳細を示します。
Zabbix は、Zabbix エージェントとの通信にJSON ベースの通信プロトコルを使用します。
Zabbix によって使用されるプロトコルの詳細には次のようないくつかの定義が使用されます:
<HEADER> - "ZBXD\x01" (5 bytes) <DATALEN> - data length (8 bytes). 1 will be formatted as 01/00/00/00/00/00/00/00 (eight bytes in HEX, 64 bit number)
(潜在的に)メモリを使い果たさないように、Zabbix プロトコルを使用するとき、Zabbix サーバは1回の通信で128MBだけ受信するように制限されています。(Zabbix 2.0.3より前は無制限でした)。
パッシブチェックは、単純なデータのリクエストです。Zabbix サーバまたはプロキシが、データ(例えば、CPUロード)を問合せ、Zabbix エージェントがサーバに結果を送り返します。
サーバのリクエスト
<item key>\n
エージェントの応答
<HEADER><DATALEN><DATA>
例:
アクティブチェックでは、もっと複雑な処理を必要とします。エージェントは最初に、個別の処理のためにサーバからアイテムのリストを取得します。
それから、エージェントは定期的に新しい値をサーバに送信します。
エージェントのリクエスト
<HEADER><DATALEN>{ "request":"active checks", "host":"<hostname>" }
サーバの応答
{ "response":"success", "data":[ { "key":"log[\/home\/zabbix\/logs\/zabbix_agentd.log]", "delay":"30", "lastlogsize":"0" }, { "key":"agent.version", "delay":"600" } ] }
サーバは成功で応答する必要があります。返された値ごとに、キーと間隔が存在しなければなりません。「Log」タイプをもつアイテムには、lastlogsize も存在しなければなりません。
例:
エージェントが以下を送信
<HEADER><DATALEN>{ "request":"agent data", "data":[ { "host":"<hostname>", "key":"log[\/home\/zabbix\/logs\/zabbix_agentd.log]", "value":" 13039:20090907:184546.759 zabbix_agentd started. ZABBIX 1.6.6 (revision {7836}).", "lastlogsize":80, "clock":1252926015 }, { "host":"<hostname>", "key":"agent.version", "value":"1.6.6", "clock":1252926015 } ], "clock":1252926016 }
サーバの応答
<HEADER><DATALEN>{ "response":"success", "info":"Processed 2 Failed 0 Total 2 Seconds spent 0.002070" }
例:
本ページは2013/06/02時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。