サーバー - プロキシ間のデータ交換はJSON形式に基づいています。
要求メッセージと応答メッセージはヘッダーとデータの長さに則って始まる必要があります。
proxy configリクエストは、プロキシ設定データを提供するためにサーバーによって送信されます。 このリクエストはProxyConfigFrequency(サーバー設定パラメーター)秒ごとに送信されます。
| 名前 | 値の型 | 説明 | |||
|---|---|---|---|---|---|
| サーバーからプロキシ: | |||||
| request | string | 'proxy config' | |||
| <table> | object | テーブルのデータを持つ1つ以上のオブジェクト | |||
| fields | array | フィールド名の配列 | |||
| - | string | フィールド名 | |||
| data | array | 配列の行 | |||
| - | array | 配列の列 | |||
| - | string,number | データベーススキーマの列タイプに応じたタイプの列値 | |||
| プロキシからサーバー: | |||||
| response | string | リクエストの成功情報('success'または'failed') | |||
| version | string | プロキシバージョン(<メジャー>.<マイナー>.<ビルド>) | |||
例:
サーバーからプロキシ:
{ "request": "proxy config", "globalmacro":{ "fields":[ "globalmacroid", "macro", "value" ], "data":[ [ 2, "{$SNMP_COMMUNITY}", "public" ] ] }, "hosts":{ "fields":[ "hostid", "host", "status", "ipmi_authtype", "ipmi_privilege", "ipmi_username", "ipmi_password", "name", "tls_connect", "tls_accept", "tls_issuer", "tls_subject", "tls_psk_identity", "tls_psk" ], "data":[ [ 10001, "Linux", 3, -1, 2, "", "", "Linux", 1, 1, "", "", "", "" ], [ 10050, "Zabbix Agent", 3, -1, 2, "", "", "Zabbix Agent", 1, 1, "", "", "", "" ], [ 10105, "Logger", 0, -1, 2, "", "", "Logger", 1, 1, "", "", "", "" ] ] }, "interface":{ "fields":[ "interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "bulk" ], "data":[ [ 2, 10105, 1, 1, 1, "127.0.0.1", "", "10050", 1 ] ] }, ... }プロキシからサーバー:
proxy dataリクエストはプロキシからホストインターフェースの可用性、ヒストリ、検出、および自動登録のデータを取得するために使用されます。 このリクエストはProxyDataFrequency(サーバー設定パラメーター)秒ごとに送信されます。
| 名前 | 値の型 | 説明 | |
|---|---|---|---|
| サーバーからプロキシ: | |||
| request | string | 'proxy data' | |
| プロキシからサーバー: | |||
| session | string | データセッショントークン | |
| interface availability | array | (オプション)インターフェイス可用性データオブジェクトの配列 | |
| interfaceid | number | インターフェイスID | |
| available | number | インターフェイスの可用性 0, INTERFACE_AVAILABLE_UNKNOWN - 不明 1, INTERFACE_AVAILABLE_TRUE - 利用可能 2, INTERFACE_AVAILABLE_FALSE - 利用不可 | |
| error | string | インターフェースエラーメッセージまたは空の文字列 | |
| history data | array | (オプション) ヒストリデータオブジェクトの配列 | |
| itemid | number | アイテムID | |
| clock | number | アイテム値のタイムスタンプ(秒) | |
| ns | number | アイテム値のタイムスタンプ(ナノ秒) | |
| value | string | (オプション) アイテム値 | |
| id | number | ID (1つのデータセッション内で一意の昇順カウンター) | |
| timestamp | number | (オプション) ログタイプアイテムのタイムスタンプ | |
| source | string | (オプション) イベントログアイテムのソース値 | |
| severity | number | (オプション) イベントログアイテムの深刻度の値 | |
| eventid | number | (オプション) イベントログアイテムのイベントID値 | |
| state | string | (オプション) アイテムの状態 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED | |
| lastlogsize | number | (オプション) ログタイプアイテムの最後のログサイズ | |
| mtime | number | (オプション) ログタイプの項目の時刻を変更 | |
| discovery data | array | (オプション) ディスカバリデータオブジェクトの配列 | |
| clock | number | ディスカバリデータのタイムスタンプ | |
| druleid | number | ディスカバリルールID | |
| dcheckid | number | ディスカバリーチェックIDまたはヌルのディスカバリー・ルール・データ | |
| type | number | ディスカバリチェックタイプ: -1 ディスカバリルールデータ 0, SVC_SSH - SSHサービスチェック 1, SVC_LDAP - LDAPサービスチェック 2, SVC_SMTP - SMTPサービスチェック 3, SVC_FTP - FTPサービスチェック 4, SVC_HTTP - HTTPサービスチェック 5, SVC_POP - POPサービスチェック 6, SVC_NNTP - NNTPサービスチェック 7, SVC_IMAP - IMAPサービスチェック 8, SVC_TCP - TCPポートの可用性チェック 9, SVC_AGENT - Zabbixエージェント 10, SVC_SNMPv1 - SNMPv1エージェント 11, SVC_SNMPv2 - SNMPv2エージェント 12, SVC_ICMPPING - ICMPピング 13, SVC_SNMPv3 - SNMPv3エージェント 14, SVC_HTTPS - HTTPSサービスチェック 15, SVC_TELNET - Telnetの可用性チェック | |
| ip | string | ホストのIPアドレス | |
| dns | string | ホストのDNS名 | |
| port | number | (オプション) サービスポート番号 | |
| key_ | string | (オプション) タイプのディスカバリーチェック用アイテムキー 9 SVC_AGENT | |
| value | string | (オプション) サービスから受け取った値は、ほとんどのサービスで空になります | |
| status | number | (オプション) サービスステータス: 0, DOBJECT_STATUS_UP - サービスアップ 1, DOBJECT_STATUS_DOWN - サービスダウン | |
| auto registration | array | (オプションl) オートレジストレーションデータオブジェクトの配列 | |
| clock | number | オートレジストレーションデータのタイムスタンプ | |
| host | string | ホスト名 | |
| ip | string | (オプション) IPアドレス | |
| dns | string | (オプション) IPアドレスから解決されたDNS名 | |
| port | string | (オプション) ホストのポート | |
| host_metadata | string | (オプション) エージェントによって送信されたホストメタデータ(HostMetadataまたはHostMetadataItemエージェント構成パラメーターに基づく) | |
| tasks | array | (オプション) タスクの配列 | |
| type | number | タスクのタイプ: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - リモートコマンドの結果 | |
| status | number | リモートコマンドの実行ステータス: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - リモートコマンドは正常に完了 1, ZBX_TM_REMOTE_COMMAND_FAILED - リモートコマンド失敗 | |
| error | string | (オプション) エラーメッセージ | |
| parent_taskid | number | 親タスクID | |
| more | number | (オプション) 1 - 追加の送信ヒストリデータ | |
| clock | number | (オプション) データ転送のタイムスタンプ (秒) | |
| ns | number | (オプション) データ転送のタイムスタンプ (ナノ秒) | |
| version | string | プロキシバージョン (<メジャー>.<マイナー>.<ビルド>) | |
| サーバーからプロキシ: | |||
| response | string | リクエストの成否 ('success'または'failed') | |
| tasks | array | (オプション) タスクの配列 | |
| type | number | タスクのタイプ: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - リモートコマンド | |
| clock | number | タスクの作成時間 | |
| ttl | number | タスクが期限切れになるまでの秒単位の時間 | |
| commandtype | number | リモートコマンドのタイプ: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - カスタムスクリプト使用 1, ZBX_SCRIPT_TYPE_IPMI - IPMI使用 2, ZBX_SCRIPT_TYPE_SSH - SSH使用 3, ZBX_SCRIPT_TYPE_TELNET - Telnet使用 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - グローバルスクリプト使用 (現在、機能的にはカスタムスクリプトと同等) | |
| command | string | 実行するリモートコマンド | |
| execute_on | number | カスタムスクリプトの実行ターゲット: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - エージェントでスクリプト実行 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - サーバーでスクリプト実行 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - プロキシでスクリプト実行 | |
| port | number | (オプション) telnetおよびsshコマンドのポート | |
| authtype | number | (オプション) sshコマンドの認証タイプ | |
| username | string | (オプション) telnetおよびsshコマンドのユーザー名 | |
| password | string | (オプション) telnetおよびsshコマンドのパスワード | |
| publickey | string | (オプション) sshコマンドの公開鍵 | |
| privatekey | string | (オプション) sshコマンドの秘密鍵 | |
| parent_taskid | number | 親タスクID | |
| hostid | number | ターゲットホストID | |
例:
サーバーからプロキシ:
プロキシからサーバー:
{ "session": "12345678901234567890123456789012" "interface availability": [ { "interfaceid": 1, "available": 1, "error": "" }, { "interfaceid": 2, "available": 2, "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused" }, { "interfaceid": 3, "available": 1, "error": "" }, { "interfaceid": 4, "available": 1, "error": "" } ], "history data":[ { "itemid":"12345", "clock":1478609647, "ns":332510044, "value":"52956612", "id": 1 }, { "itemid":"12346", "clock":1478609647, "ns":330690279, "state":1, "value":"Cannot find information for this network interface in /proc/net/dev.", "id": 2 } ], "discovery data":[ { "clock":1478608764, "drule":2, "dcheck":3, "type":12, "ip":"10.3.0.10", "dns":"vdebian", "status":1 }, { "clock":1478608764, "drule":2, "dcheck":null, "type":-1, "ip":"10.3.0.10", "dns":"vdebian", "status":1 } ], "auto registration":[ { "clock":1478608371, "host":"Logger1", "ip":"10.3.0.1", "dns":"localhost", "port":"10050" }, { "clock":1478608381, "host":"Logger2", "ip":"10.3.0.2", "dns":"localhost", "port":"10050" } ], "tasks":[ { "type": 0, "status": 0, "parent_taskid": 10 }, { "type": 0, "status": 1, "error": "No permissions to execute task.", "parent_taskid": 20 } ], "version":"5.4.0" }サーバーからプロキシ:
{ "response": "success", "tasks":[ { "type": 1, "clock": 1478608371, "ttl": 600, "commandtype": 2, "command": "restart_service1.sh", "execute_on": 2, "port": 80, "authtype": 0, "username": "userA", "password": "password1", "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe", "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd", "parent_taskid": 10, "hostid": 10070 }, { "type": 1, "clock": 1478608381, "ttl": 600, "commandtype": 1, "command": "restart_service2.sh", "execute_on": 0, "authtype": 0, "username": "", "password": "", "publickey": "", "privatekey": "", "parent_taskid": 20, "hostid": 10084 } ] }proxy configリクエストはプロキシ設定データを取得するためにプロキシによって送信されます。 このリクエストは、 ConfigFrequency(プロキシ設定パラメータ)秒ごとに送信されます。
| 名前 | 値の型 | 説明 | |||
|---|---|---|---|---|---|
| プロキシからサーバー: | |||||
| request | string | 'proxy config' | |||
| host | string | プロキシ名 | |||
| version | string | プロキシバージョン (<メジャー>.<マイナー>.<ビルド>) | |||
| サーバーからプロキシ: | |||||
| request | string | 'proxy config' | |||
| <table> | object | <table>データを持つ1つ以上のオブジェクト | |||
| fields | array | フィールド名の配列 | |||
| - | string | フィールド名 | |||
| data | array | 行の配列 | |||
| - | array | 列の配列 | |||
| - | string,number | データベーススキーマの列タイプに応じたタイプの列値 | |||
| プロキシからサーバー: | |||||
| response | string | リクエストの成否 ('success'または'failed') | |||
例:
プロキシからサーバー:
サーバーからプロキシ:
{ "globalmacro":{ "fields":[ "globalmacroid", "macro", "value" ], "data":[ [ 2, "{$SNMP_COMMUNITY}", "public" ] ] }, "hosts":{ "fields":[ "hostid", "host", "status", "ipmi_authtype", "ipmi_privilege", "ipmi_username", "ipmi_password", "name", "tls_connect", "tls_accept", "tls_issuer", "tls_subject", "tls_psk_identity", "tls_psk" ], "data":[ [ 10001, "Linux", 3, -1, 2, "", "", "Linux", 1, 1, "", "", "", "" ], [ 10050, "Zabbix Agent", 3, -1, 2, "", "", "Zabbix Agent", 1, 1, "", "", "", "" ], [ 10105, "Logger", 0, -1, 2, "", "", "Logger", 1, 1, "", "", "", "" ] ] }, "interface":{ "fields":[ "interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "bulk" ], "data":[ [ 2, 10105, 1, 1, 1, "127.0.0.1", "", "10050", 1 ] ] }, ... }プロキシからサーバー:
proxy dataリクエストはプロキシによって送信され、ホストインターフェイスの可用性、ヒストリ、ディスカバリ、および自動登録データを提供します。 このリクエストはDataSenderFrequency(プロキシ設定パラメータ)秒ごとに送信されます。
| 名前 | 値の型 | 説明 | |
|---|---|---|---|
| プロキシからサーバー: | |||
| request | string | 'proxy data' | |
| host | string | プロキシ名 | |
| session | string | データセッショントークン | |
| interface availability | array | (オプション) インターフェイス可用性データオブジェクトの配列 | |
| interfaceid | number | インターフェースID | |
| available | number | インターフェースの可用性 0, INTERFACE_AVAILABLE_UNKNOWN - 不明 1, INTERFACE_AVAILABLE_TRUE - 使用可能 2, INTERFACE_AVAILABLE_FALSE - 使用不可 | |
| error | string | インターフェースエラーメッセージまたは空白 | |
| history data | array | (オプション) ヒストリデータオブジェクトの配列 | |
| itemid | number | アイテムID | |
| clock | number | アイテム値のタイムスタンプ (秒) | |
| ns | number | アイテム値のタイムスタンプ (ナノ秒) | |
| value | string | (オプション) アイテム値 | |
| id | number | ID (1つのデータセッション内で一意の昇順カウンター) | |
| timestamp | number | (オプション) ログタイプアイテムのタイムスタンプ | |
| source | string | (オプション) イベントログアイテムのソース値 | |
| severity | number | (オプション) イベントログアイテムの深刻度 | |
| eventid | number | (オプション) イベントログアイテムのイベントログID | |
| state | string | (オプション) アイテムの状態 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED | |
| lastlogsize | number | (オプション) ログタイプアイテムの最後のログサイズ | |
| mtime | number | (オプション) ログタイプの項目の時刻を変更 | |
| discovery data | array | (オプション) ディスカバリデータオブジェクトの配列 | |
| clock | number | ディスカバリデータのタイムスタンプ | |
| druleid | number | ディスカバリルールID | |
| dcheckid | number | ディスカバリーチェックIDまたはヌルのディスカバリー・ルール・データ | |
| type | number | ディスカバリチェックタイプ: -1 ディスカバリルールデータ 0, SVC_SSH - SSHサービスチェック 1, SVC_LDAP - LDAPサービスチェック 2, SVC_SMTP - SMTPサービスチェック 3, SVC_FTP - FTPサービスチェック 4, SVC_HTTP - HTTPサービスチェック 5, SVC_POP - POPサービスチェック 6, SVC_NNTP - NNTPサービスチェック 7, SVC_IMAP - IMAPサービスチェック 8, SVC_TCP - TCPポートの可用性チェック 9, SVC_AGENT - Zabbixエージェント 10, SVC_SNMPv1 - SNMPv1エージェント 11, SVC_SNMPv2 - SNMPv2エージェント 12, SVC_ICMPPING - ICMPピング 13, SVC_SNMPv3 - SNMPv3エージェント 14, SVC_HTTPS - HTTPSサービスチェック 15, SVC_TELNET - Telnetの可用性チェック | |
| ip | string | ホストのIPアドレス | |
| dns | string | ホストのDNS名 | |
| port | number | (オプション) サービスポート番号 | |
| key_ | string | (オプション) タイプのディスカバリーチェック用アイテムキー 9 SVC_AGENT | |
| value | string | (オプション) サービスから受け取った値は、ほとんどのサービスで空になります | |
| status | number | (オプション) サービスステータス: 0, DOBJECT_STATUS_UP - サービスアップ 1, DOBJECT_STATUS_DOWN - サービスダウン | |
| auto registration | array | (オプションl) オートレジストレーションデータオブジェクトの配列 | |
| clock | number | オートレジストレーションデータのタイムスタンプ | |
| host | string | ホスト名 | |
| ip | string | (オプション) IPアドレス | |
| dns | string | (オプション) IPアドレスから解決されたDNS名 | |
| port | string | (オプション) ホストのポート | |
| host_metadata | string | (オプション) エージェントによって送信されたホストメタデータ(HostMetadataまたはHostMetadataItemエージェント構成パラメーターに基づく) | |
| tasks | array | (オプション) タスクの配列 | |
| type | number | タスクのタイプ: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - リモートコマンドの結果 | |
| status | number | リモートコマンドの実行ステータス: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - リモートコマンドは正常に完了 1, ZBX_TM_REMOTE_COMMAND_FAILED - リモートコマンド失敗 | |
| error | string | (オプション) エラーメッセージ | |
| parent_taskid | number | 親タスクID | |
| more | number | (オプション) 1 - 追加の送信ヒストリデータ | |
| clock | number | (オプション) データ転送のタイムスタンプ (秒) | |
| ns | number | (オプション) データ転送のタイムスタンプ (ナノ秒) | |
| version | string | プロキシバージョン (<major>.<minor>.<build>) | |
| サーバーからプロキシ: | |||
| response | string | リクエストの成否 ('success'または'failed') | |
| upload | string | ヒストリデータ(ヒストリ、自動登録、ホストの可用性、ネットワークディスカバリ)のアップロード制御。 使用可能な値 -'enabled'または'disabled' | |
| tasks | array | (オプション) タスクの配列 | |
| type | number | タスクのタイプ: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - リモートコマンド | |
| clock | number | タスクの作成時間 | |
| ttl | number | タスクが期限切れになるまでの秒単位の時間 | |
| commandtype | number | リモートコマンドのタイプ: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - カスタムスクリプト使用 1, ZBX_SCRIPT_TYPE_IPMI - IPMI使用 2, ZBX_SCRIPT_TYPE_SSH - SSH使用 3, ZBX_SCRIPT_TYPE_TELNET - Telnet使用 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - グローバルスクリプト使用 (現在、機能的にはカスタムスクリプトと同等) | |
| command | string | 実行するリモートコマンド | |
| execute_on | number | カスタムスクリプトの実行ターゲット: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - エージェントでスクリプト実行 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - サーバーでスクリプト実行 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - プロキシでスクリプト実行 | |
| port | number | (オプション) telnetおよびsshコマンドのポート | |
| authtype | number | (オプション) sshコマンドの認証タイプ | |
| username | string | (オプション) telnetおよびsshコマンドのユーザー名 | |
| password | string | (オプション) telnetおよびsshコマンドのパスワード | |
| publickey | string | (オプション) sshコマンドの公開鍵 | |
| privatekey | string | (オプション) sshコマンドの秘密鍵 | |
| parent_taskid | number | 親タスクID | |
| hostid | number | ターゲットホストID | |
例:
プロキシからサーバー:
{ "request": "proxy data", "host": "Proxy #12", "session": "12345678901234567890123456789012", "interface availability": [ { "interfaceid": 1, "available": 1, "error": "" }, { "interfaceid": 2, "available": 2, "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused" }, { "interfaceid": 3, "available": 1, "error": "" }, { "interfaceid": 4, "available": 1, "error": "" } ], "history data":[ { "itemid":"12345", "clock":1478609647, "ns":332510044, "value":"52956612", "id": 1 }, { "itemid":"12346", "clock":1478609647, "ns":330690279, "state":1, "value":"Cannot find information for this network interface in /proc/net/dev.", "id": 2 } ], "discovery data":[ { "clock":1478608764, "drule":2, "dcheck":3, "type":12, "ip":"10.3.0.10", "dns":"vdebian", "status":1 }, { "clock":1478608764, "drule":2, "dcheck":null, "type":-1, "ip":"10.3.0.10", "dns":"vdebian", "status":1 } ], "auto registration":[ { "clock":1478608371, "host":"Logger1", "ip":"10.3.0.1", "dns":"localhost", "port":"10050" }, { "clock":1478608381, "host":"Logger2", "ip":"10.3.0.2", "dns":"localhost", "port":"10050" } ], "tasks":[ { "type": 2, "clock":1478608371, "ttl": 600, "commandtype": 2, "command": "restart_service1.sh", "execute_on": 2, "port": 80, "authtype": 0, "username": "userA", "password": "password1", "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe", "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd", "parent_taskid": 10, "hostid": 10070 }, { "type": 2, "clock":1478608381, "ttl": 600, "commandtype": 1, "command": "restart_service2.sh", "execute_on": 0, "authtype": 0, "username": "", "password": "", "publickey": "", "privatekey": "", "parent_taskid": 20, "hostid": 10084 } ], "tasks":[ { "type": 0, "status": 0, "parent_taskid": 10 }, { "type": 0, "status": 1, "error": "No permissions to execute task.", "parent_taskid": 20 } ], "version":"5.4.0" }サーバーからプロキシ:
{ "response": "success", "upload": "enabled", "tasks":[ { "type": 1, "clock": 1478608371, "ttl": 600, "commandtype": 2, "command": "restart_service1.sh", "execute_on": 2, "port": 80, "authtype": 0, "username": "userA", "password": "password1", "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe", "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd", "parent_taskid": 10, "hostid": 10070 }, { "type": 1, "clock": 1478608381, "ttl": 600, "commandtype": 1, "command": "restart_service2.sh", "execute_on": 0, "authtype": 0, "username": "", "password": "", "publickey": "", "privatekey": "", "parent_taskid": 20, "hostid": 10084 } ] }