You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

4 Zabbixエージェント2プラグインプロトコル

Zabbixエージェント2プロトコルはコード、サイズ、データ モデルに基づいています。

コード

タイプ サイズ コメント
Byte 4 ペイロードタイプ。現在サポートされているのはJSONのみです。

サイズ

タイプ サイズ コメント
バイト 4 現在のペイロードのサイズ(バイト単位)。

ペイロードデータ

タイプ サイズ コメント
バイト Size フィールドで定義 JSON 形式のデータ。
ペイロードデータの定義
共通データ

これらのパラメータはすべてのリクエスト/レスポンスに存在します:

名前 タイプ コメント
id uint32 リクエストの場合 - レスポンスとリクエストを関連付けるために使用されるインクリメント識別子。リクエストの方向(つまり、エージェントからプラグイン、またはプラグインからエージェント)内で一意です。
レスポンスの場合 - 対応するリクエストのID。
type uint32 リクエストタイプ。
ログリクエスト

プラグインがエージェントのログファイルにログメッセージを書き込むために送信するリクエスト。

direction plugin → agent
response なし

ログリクエストに固有のパラメータ:

名前 コメント
severity uint32 メッセージの重大度(ログレベル)。
message string ログに記録するメッセージ。

例:

{"id":0,"type":1,"severity":3,"message":"message"}
登録リクエスト

プラグインを登録するために、エージェントの起動フェーズ中にエージェントから送信されるリクエストです。

direction agent → plugin
response yes

登録リクエストに固有のパラメータ:

名前 コメント
version string プロトコルバージョン <major>.<minor>

例:

{"id":1,"type":2,"version":"1.0"}
レスポンスの登録

registerリクエストに対するプラグインのレスポンス。

direction plugin → agent
response n/a

registerレスポンスに固有のパラメータ:

名前 コメント
name string プラグイン名。
metrics 文字列の配列 (オプション) プラグインで使用される説明付きのメトリクス。RegisterMetrics()を返します。エラーが返された場合は存在しません。
interfaces uint32 (オプション) プラグインがサポートするインターフェースのビットマスク。エラーが返された場合は存在しません。
error string (オプション) プラグインを開始できない場合に返されるエラーメッセージ。メトリクスが返される場合は存在しません。

例:

{"id":2,"type":3,"metrics":["external.test", "External exporter Test."], "interfaces": 4}

または

{"id":2,"type":3,"error":"error message"}
Startリクエスト

RunnerインターフェースのStart関数を実行するリクエスト。

direction agent → plugin
response なし

リクエストには特定のパラメータはなく、共通データパラメータのみが含まれます。

例:

{"id":3,"type":4}
リクエストの終了

プラグインをシャットダウンするためにエージェントから送信されるリクエスト。

direction agent → plugin
response no

このリクエストには特定のパラメータはなく、共通データパラメータのみが含まれます。

例:

{"id":3,"type":5}
エクスポートリクエスト

ExporterインターフェースのExport関数を実行するためのリクエストです。

direction agent → plugin
response no

エクスポートリクエストに固有のパラメータ:

名前 コメント
key string プラグインキー
parameters 文字列の配列(オプション) Export関数のパラメータ

例:

{"id":4,"type":6,"key":"test.key","parameters":["foo","bar"]}
エクスポートレスポンス

ExporterインターフェースのExport関数からのレスポンス。

direction plugin → agent
response n/a

エクスポートレスポンスに固有のパラメータ:

名前 コメント
value string (省略可能) Export関数からのレスポンス値。エラーが返された場合は存在しません。
error string (省略可能) Export関数が正常に実行されなかった場合のエラーメッセージ。値が返された場合は存在しません。

例:

{"id":5,"type":7,"value":"response"}

または

{"id":5,"type":7,"error":"error message"}
設定リクエスト

ConfiguratorインターフェースのConfigure関数を実行するリクエスト。

direction agent → plugin
response n/a

Configureリクエストに固有のパラメータ:

名前 コメント
global_options JSONオブジェクト グローバルなエージェント設定オプションを含むJSONオブジェクト
private_options JSONオブジェクト(省略可) 指定された場合、プライベートなプラグイン設定オプションを含むJSONオブジェクト

例:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
リクエストの検証

ConfiguratorインターフェースのValidate関数を実行するリクエスト。

direction agent → plugin
response yes

Validateリクエストに固有のパラメータ:

名前 コメント
private_options JSONオブジェクト(オプション) プライベートなプラグイン設定オプションを含むJSONオブジェクト。指定された場合のみ。

例:

{"id":7,"type":9,"private_options":{...}}
Validate response

ConfiguratorインターフェースのValidate関数からのレスポンス。

direction plugin → agent
response n/a

Validateレスポンスに固有のパラメータ:

名前 コメント
error string (オプション) Validate関数が正常に実行されなかった場合に返されるエラーメッセージ。正常に実行された場合は省略されます。

例:

{"id":8,"type":10}

または

{"id":8,"type":10,"error":"error message"}