Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

1 サーバープロキシデータ交換プロトコル

概要

サーバー - プロキシ間のデータ交換は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
                   ]
               ]
           },
           ...
       }

プロキシからサーバー:

{
         "response": "success",
         "version": "5.4.0"
       }
プロキシリクエスト

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

例:

サーバーからプロキシ:

{
         "request": "proxy data"
       }

プロキシからサーバー:

{
           "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 heartbeatリクエストはプロキシが実行中であることを報告するためにプロキシによって送信されます。 このリクエストはHeartbeatFrequency(プロキシ設定パラメータ)秒ごとに送信されます。

名前 値のタイプ 説明
プロキシからサーバー:
request string 'proxy heartbeat'
host string プロキシ名
version string プロキシバージョン (<major>.<minor>.<build>)
サーバーからプロキシ:
response string リクエストの成否 ('success'または'failed')

プロキシからサーバー:

{
          "request": "proxy heartbeat",
          "host": "Proxy #12",
          "version": "5.4.0"
       }

サーバーからプロキシ:

{
         "response": "success"
       }
プロキシコンフィグリクエスト

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')

例:

プロキシからサーバー:

{
         "request": "proxy config",
         "host": "Proxy #12",
         "version":"5.4.0"
       }

サーバーからプロキシ:

{
           "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
                   ]
               ]
           },
           ...
       }

プロキシからサーバー:

{
         "response": "success"
       }
プロキシデータリクエスト

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
             }
         ]
       }