[comment]: # ({7669b1c2-7669b1c2})
# 1. Протокол обмена данными сервер-прокси

[comment]: # ({/7669b1c2-7669b1c2})

[comment]: # ({7382efcd-7382efcd})
#### Обзор

Обмен данными сервер — прокси основывается на формате JSON.

Сообщения запроса и ответа должны начинаться с [заголовка и длины
данных](/manual/appendix/protocols/header_datalen).

[comment]: # ({/7382efcd-7382efcd})

[comment]: # ({14661e11-14661e11})
#### Пассивный прокси

[comment]: # ({/14661e11-14661e11})

[comment]: # ({52650084-fac082ad})
##### Запрос конфигурации

Сервер сначала отправит пустой запрос `proxy config`. Этот запрос отправляется каждые `ProxyConfigFrequency`
(параметр конфигурации сервера) секунд.

Прокси отвечает текущей версией прокси, токеном сеанса и ревизией конфигурации. Сервер отвечает данными конфигурации, которые необходимо обновить.

| name | <   | <   | <   | <   | value type | description |
|-|-|-|-|----------|----------|----------------------------------------|
| server→proxy: | <   | <   | <   | <   | <   | <   |
| **request** | <   | <   | <   | <   | *string* | 'proxy config' |
| |<|<|<|<|<|<|
| proxy→server: | <   | <   | <   | <   | <   | <   |
| **version** | <   | <   | <   | <   | *string* | Версия прокси (\<major>.\<minor>.\<build>). |
| **session** | <   | <   | <   | <   | *string* | Токен сеанса конфигурации прокси. |
| **config_revision** | <   | <   | <   | <   | *number* | Ревизия конфигурации прокси. |
| |<|<|<|<|<|<|
| server→proxy: | <   | <   | <   | <   | <   | <   |
| **full_sync** | <   | <   | <   | <   | *number* | 1 - если отправляются полные данные конфигурации; отсутствует - в противном случае (необязательно). |
| **data** | <   | <   | <   | <   | *array* | Объект табличных данных. Отсутствует, если конфигурация не была изменена (необязательно). |
|     | **\<table>** | <   | <   | <   | *object* | Один или несколько объектов с данными \<table> (необязательно, в зависимости от изменений). |
| ^   |     | **fields** | <   | <   | *array* | Массив имен полей. |
| ^   | ^   |     | -   | <   | *string* | Имя поля. |
| ^   | ^   | **data** | <   | <   | *array* | Массив строк. |
| ^   | ^   |     | -   | <   | *array* | Массив столбцов. |
| ^   | ^   | ^   |     | -   | *string*,*number* | Значение столбца с типом, зависящим от типа столбца в схеме базы данных. |
|     | <   | <   | <   | <   | <   | <   |
| **macro.secrets** | <   | <   | <   | <  | *object* | Информация о секретных макросах, отсутствует, если в макросах vault нет изменений (необязательно). |
| **config_revision** | <   | <   | <   | <   | *number* | Ревизия кэша конфигурации - отправляется вместе с данными конфигурации (необязательно). |
| **del_hostids** | <   | <   | <   | <   | *array* | Массив удаленных hostid (необязательно). |
|     | -   | <   | <   | <   | *number* | Идентификатор узла сети. |
| **del_macro_hostids** | <   | <   | <   | <   | *array* | Массив hostid, у которых удалены все макросы (необязательно). |
|     | -   | <   | <   | <   | *number* | Идентификатор узла сети. |
|     | <   | <   | <   | <   | <   | <   |
| proxy→server: | <   | <   | <   | <   | <   | <   |
| **response** | <   | <   | <   | <   | *string* | Информация об успешности запроса ('success' или 'failed'). |
| **version** | <   | <   | <   | <   | *string* | Версия прокси (\<major>.\<minor>.\<build>). |

Пример:

server→proxy:

```json
{
  "request":"proxy config"
} 
```

proxy→server:

```json
{
  "version": "7.4.0",
  "session": "0033124949800811e5686dbfd9bcea98",
  "config_revision": 0
}
```

server→proxy:

```json
{
	"full_sync": 1,
	"data": {
		"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": [
				[10084, "Zabbix server", 0, -1, 2, "", "", "Zabbix server", 1, 1, "", "", "", ""]
			]
		},
		"interface": {
			"fields": ["interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "available"],
			"data": [
				[1, 10084, 1, 1, 1, "127.0.0.1", "", "10053", 1]
			]
		},
		"interface_snmp": {
			"fields": ["interfaceid", "version", "bulk", "community", "securityname", "securitylevel", "authpassphrase", "privpassphrase", "authprotocol", "privprotocol", "contextname"],
			"data": []
		},
		"host_inventory": {
			"fields": ["hostid", "type", "type_full", "name", "alias", "os", "os_full", "os_short", "serialno_a", "serialno_b", "tag", "asset_tag", "macaddress_a", "macaddress_b", "hardware", "hardware_full", "software", "software_full", "software_app_a", "software_app_b", "software_app_c", "software_app_d", "software_app_e", "contact", "location", "location_lat", "location_lon", "notes", "chassis", "model", "hw_arch", "vendor", "contract_number", "installer_name", "deployment_status", "url_a", "url_b", "url_c", "host_networks", "host_netmask", "host_router", "oob_ip", "oob_netmask", "oob_router", "date_hw_purchase", "date_hw_install", "date_hw_expiry", "date_hw_decomm", "site_address_a", "site_address_b", "site_address_c", "site_city", "site_state", "site_country", "site_zip", "site_rack", "site_notes", "poc_1_name", "poc_1_email", "poc_1_phone_a", "poc_1_phone_b", "poc_1_cell", "poc_1_screen", "poc_1_notes", "poc_2_name", "poc_2_email", "poc_2_phone_a", "poc_2_phone_b", "poc_2_cell", "poc_2_screen", "poc_2_notes"],
			"data": [
				[10084, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "56.95387", "24.22067", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
			]
		},
		"items": {
			"fields": ["itemid", "type", "snmp_oid", "hostid", "key_", "delay", "history", "status", "value_type", "trapper_hosts", "logtimefmt", "params", "ipmi_sensor", "authtype", "username", "password", "publickey", "privatekey", "flags", "interfaceid", "inventory_link", "jmx_endpoint", "master_itemid", "timeout", "url", "query_fields", "posts", "status_codes", "follow_redirects", "post_type", "http_proxy", "headers", "retrieve_mode", "request_method", "output_format", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host", "allow_traps"],
			"data": [
				[44161, 7, "", 10084, "agent.hostmetadata", "10s", "90d", 0, 1, "", "", "", "", 0, "", "", "", "", 0, null, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0],
				[44162, 0, "", 10084, "agent.ping", "10s", "90d", 0, 3, "", "", "", "", 0, "", "", "", "", 0, 1, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0]
			]
		},
		"item_rtdata": {
			"fields": ["itemid", "lastlogsize", "mtime"],
			"data": [
				[44161, 0, 0],
				[44162, 0, 0]
			]
		},
		"item_preproc": {
			"fields": ["item_preprocid", "itemid", "step", "type", "params", "error_handler", "error_handler_params"],
			"data": []
		},
		"item_parameter": {
			"fields": ["item_parameterid", "itemid", "name", "value"],
			"data": []
		},
		"globalmacro": {
			"fields": ["globalmacroid", "macro", "value", "type"],
			"data": [
				[2, "{$SNMP_COMMUNITY}", "public", 0]
			]
		},
		"hosts_templates": {
			"fields": ["hosttemplateid", "hostid", "templateid", "link_type"],
			"data": []
		},
		"hostmacro": {
			"fields": ["hostmacroid", "hostid", "macro", "value", "type", "automatic"],
			"data": [
				[5676, 10084, "{$M}", "AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content", 2, 0]
			]
		},
		"drules": {
			"fields": ["druleid", "name", "iprange", "delay"],
			"data": [
				[2, "Local network", "127.0.0.1", "10s"]
			]
		},
		"dchecks": {
			"fields": ["dcheckid", "druleid", "type", "key_", "snmp_community", "ports", "snmpv3_securityname", "snmpv3_securitylevel", "snmpv3_authpassphrase", "snmpv3_privpassphrase", "uniq", "snmpv3_authprotocol", "snmpv3_privprotocol", "snmpv3_contextname", "host_source", "name_source"],
			"data": [
				[2, 2, 9, "system.uname", "", "10052", "", 0, "", "", 0, 0, 0, "", 1, 0]
			]
		},
		"regexps": {
			"fields": ["regexpid", "name"],
			"data": [
				[1, "File systems for discovery"],
				[2, "Network interfaces for discovery"],
				[3, "Storage devices for SNMP discovery"],
				[4, "Windows service names for discovery"],
				[5, "Windows service startup states for discovery"]
			]
		},
		"expressions": {
			"fields": ["expressionid", "regexpid", "expression", "expression_type", "exp_delimiter", "case_sensitive"],
			"data": [
				[1, 1, "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", 3, ",", 0],
				[3, 3, "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$", 4, ",", 1],
				[5, 4, "^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$", 4, ",", 1],
				[6, 5, "^(automatic|automatic delayed)$", 3, ",", 1],
				[7, 2, "^Software Loopback Interface", 4, ",", 1],
				[8, 2, "^(In)?[Ll]oop[Bb]ack[0-9._]*$", 4, ",", 1],
				[9, 2, "^NULL[0-9.]*$", 4, ",", 1],
				[10, 2, "^[Ll]o[0-9.]*$", 4, ",", 1],
				[11, 2, "^[Ss]ystem$", 4, ",", 1],
				[12, 2, "^Nu[0-9.]*$", 4, ",", 1]
			]
		},
		"settings": {
			"fields": ["name", "type", "value_str", "value_int"],
			"data": [
				["autoreg_tls_accept", 2, "", 1],
				["hk_history_global", 2, "", 0],
				["snmptrap_logging", 2, "", 1],
				["proxy_secrets_provider", 2, "", 0],
				["hk_history", 1, "31d", 0],
				["timeout_db_monitor", 1, "3s", 0],
				["timeout_external_check", 1, "3s", 0],
				["timeout_http_agent", 1, "3s", 0],
				["timeout_simple_check", 1, "3s", 0],
				["timeout_snmp_agent", 1, "3s", 0],
				["timeout_ssh_agent", 1, "3s", 0],
				["timeout_telnet_agent", 1, "3s", 0],
				["timeout_zabbix_agent", 1, "3s", 0],
				["timeout_browser", 1, "30s", 0]
			]
		},
		"httptest": {
			"fields": ["httptestid", "name", "delay", "agent", "authentication", "http_user", "http_password", "hostid", "http_proxy", "retries", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host"],
			"data": []
		},
		"httptestitem": {
			"fields": ["httptestitemid", "httptestid", "itemid", "type"],
			"data": []
		},
		"httptest_field": {
			"fields": ["httptest_fieldid", "httptestid", "type", "name", "value"],
			"data": []
		},
		"httpstep": {
			"fields": ["httpstepid", "httptestid", "name", "no", "url", "timeout", "posts", "required", "status_codes", "follow_redirects", "retrieve_mode", "post_type"],
			"data": []
		},
		"httpstepitem": {
			"fields": ["httpstepitemid", "httpstepid", "itemid", "type"],
			"data": []
		},
		"httpstep_field": {
			"fields": ["httpstep_fieldid", "httpstepid", "type", "name", "value"],
			"data": []
		},
		"config_autoreg_tls": {
			"fields": ["autoreg_tlsid", "tls_psk_identity", "tls_psk"],
			"data": [
				[1, "", ""]
			]
		}
	},
	"macro.secrets": {
		"AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix": {
			"Content": "738"
		}
	},
	"config_revision": 2
}
```

proxy→server:

```json
{
  "response": "success",
  "version": "7.4.0"
}
```

[comment]: # ({/52650084-fac082ad})

[comment]: # ({74b1e336-c348e5d9})
##### Запрос данных

Запрос `proxy data` используется для получения данных о доступности интерфейсов узлов сети, исторических данных, данных обнаружения и данных авто-регистрации от прокси. Этот запрос отправляется каждые `ProxyDataFrequency` (параметр конфигурации сервера) секунд.

|name|<|value type|description|
|-|----------|----------|----------------------------------------|
|server→proxy:|<|<|<|
|**request**|<|*string*|'proxy data'|
|proxy→server:|<|<|<|
|**session**|<|*string*|Токен сеанса данных.|
|**interface availability**|<|*array*|*(optional)* Массив объектов данных о доступности интерфейсов.|
| |**interfaceid**|*number*|Идентификатор интерфейса.|
|^|**available**|*number*|Доступность интерфейса:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - неизвестно<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - доступен<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - недоступен|
|^|**error**|*string*|Сообщение об ошибке интерфейса или пустая строка.|
|**history data**|<|*array*|*(optional)* Массив объектов исторических данных.|
| |**itemid**|*number*|Идентификатор элемента данных.|
|^|**clock**|*number*|Метка времени значения элемента данных (секунды).|
|^|**ns**|*number*|Метка времени значения элемента данных (наносекунды).|
|^|**value**|*string*|*(optional)* Значение элемента данных.|
|^|**id**|*number*|Идентификатор значения (возрастающий счетчик, уникальный в пределах одного сеанса данных).|
|^|**timestamp**|*number*|*(optional)* Метка времени для элементов данных типа log.|
|^|**source**|*string*|*(optional)* Значение источника элемента данных eventlog.|
|^|**severity**|*number*|*(optional)* Значение серьезности элемента данных eventlog.|
|^|**eventid**|*number*|*(optional)* Значение eventid элемента данных eventlog.|
|^|**state**|*string*|*(optional)* Состояние элемента данных:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*|
|^|**lastlogsize**|*number*|*(optional)* Последний размер журнала для элементов данных типа log.|
|^|**mtime**|*number*|*(optional)* Время изменения для элементов данных типа log.|
|**discovery data**|<|*array*|*(optional)* Массив объектов данных обнаружения.|
| |**clock**|*number*|Метка времени данных обнаружения.|
|^|**druleid**|*number*|Идентификатор правила обнаружения.|
|^|**dcheckid**|*number*|Идентификатор проверки обнаружения или null для данных правила обнаружения.|
|^|**type**|*number*|Тип проверки обнаружения:<br><br>**-1** данные правила обнаружения<br>**0**, *SVC\_SSH* - проверка службы SSH<br>**1**, *SVC\_LDAP* - проверка службы LDAP<br>**2**, *SVC\_SMTP* - проверка службы SMTP<br>**3**, *SVC\_FTP* - проверка службы FTP<br>**4**, *SVC\_HTTP* - проверка службы HTTP<br>**5**, *SVC\_POP* - проверка службы POP<br>**6**, *SVC\_NNTP* - проверка службы NNTP<br>**7**, *SVC\_IMAP* - проверка службы IMAP<br>**8**, *SVC\_TCP* - проверка доступности TCP-порта<br>**9**, *SVC\_AGENT* - агент Zabbix<br>**10**, *SVC\_SNMPv1* - агент SNMPv1<br>**11**, *SVC\_SNMPv2* - агент SNMPv2<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - агент SNMPv3<br>**14**, *SVC\_HTTPS* - проверка службы HTTPS<br>**15**, *SVC\_TELNET* - проверка доступности Telnet|
|^|**ip**|*string*|IP-адрес узла сети.|
|^|**dns**|*string*|DNS-имя узла сети.|
|^|**port**|*number*|*(optional)* Номер порта службы.|
|^|**key\_**|*string*|*(optional)* Ключ элемента данных для проверки обнаружения типа **9** *SVC\_AGENT*|
|^|**value**|*string*|*(optional)* Значение, полученное от службы, для большинства служб может быть пустым.|
|^|**status**|*number*|*(optional)* Состояние службы:<br><br>**0**, *DOBJECT\_STATUS\_UP* - служба доступна<br>**1**, *DOBJECT\_STATUS\_DOWN* - служба недоступна|
|**auto registration**|<|*array*|*(optional)* Массив объектов данных авто-регистрации.|
| |**clock**|*number*|Метка времени данных авто-регистрации.|
|^|**host**|*string*|Имя узла сети.|
|^|**ip**|*string*|*(optional)* IP-адрес узла сети.|
|^|**dns**|*string*|*(optional)* Разрешенное DNS-имя по IP-адресу.|
|^|**port**|*string*|*(optional)* Порт узла сети.|
|^|**host\_metadata**|*string*|*(optional)* Метаданные узла сети, отправленные агентом (на основе параметра конфигурации агента HostMetadata или HostMetadataItem).|
|**tasks**|<|*array*|*(optional)* Массив задач.|
| |**type**|*number*|Тип задачи:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - результат удаленной команды|
|^|**status**|*number*|Состояние выполнения удаленной команды:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - удаленная команда успешно выполнена<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - выполнение удаленной команды завершилось ошибкой|
|^|**error**|*string*|*(optional)* Сообщение об ошибке.|
|^|**parent\_taskid**|*number*|ID родительской задачи.|
|**more**|<|*number*|*(optional)* 1 - осталось еще исторических данных для отправки.|
|**clock**|<|*number*|*(optional)* Метка времени передачи данных (секунды).|
|**ns**|<|*number*|*(optional)* Метка времени передачи данных (наносекунды).|
|**version**|<|*string*|Версия прокси (<major>.<minor>.<build>).|
|server→proxy:|<|<|<|
|**response**|<|*string*|Информация об успешности запроса ('success' или 'failed').|
|**tasks**|<|*array*|*(optional)* Массив задач.|
| |**type**|*number*|Тип задачи:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - удаленная команда|
|^|**clock**|*number*|Время создания задачи.|
|^|**ttl**|*number*|Время в секундах, после которого задача истекает.|
|^|**commandtype**|*number*|Тип удаленной команды:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - использовать пользовательский скрипт<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - использовать IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - использовать SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - использовать Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - использовать глобальный скрипт (в настоящее время функционально эквивалентен пользовательскому скрипту)|
|^|**command**|*string*|Удаленная команда для выполнения.|
|^|**execute\_on**|*number*|Целевой объект выполнения для пользовательских скриптов:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - выполнить скрипт на агенте<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - выполнить скрипт на сервере<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - выполнить скрипт на прокси|
|^|**port**|*number*|*(optional)* Порт для команд Telnet и SSH.|
|^|**authtype**|*number*|*(optional)* Тип аутентификации для команд SSH.|
|^|**username**|*string*|*(optional)* Имя пользователя для команд Telnet и SSH.|
|^|**password**|*string*|*(optional)* Пароль для команд Telnet и SSH.|
|^|**publickey**|*string*|*(optional)* Открытый ключ для команд SSH.|
|^|**privatekey**|*string*|*(optional)* Закрытый ключ для команд SSH.|
|^|**parent\_taskid**|*number*|ID родительской задачи.|
|^|**hostid**|*number*|ID целевого узла сети.|

Пример:

server→proxy:

```json
{
  "request": "proxy data"
}
```

proxy→server:

```json
{
    "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":"7.4.0"
}
```

server→proxy:

```json
{
  "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
      }
  ]
}
```

[comment]: # ({/74b1e336-c348e5d9})

[comment]: # ({50f116cc-cecd61c8})
##### Запрос задач

Обмен `proxy tasks` обеспечивает доставку и подтверждение задач удаленных команд между сервером и пассивным прокси. Когда сервер опрашивает прокси на предмет результатов задач, он отправляет пустой запрос `proxy tasks` с интервалом, определяемым параметром `ProxyDataFrequency`. Прокси отвечает своей текущей версией и любыми ожидающими результатами задач (включая временные метки). Затем сервер подтверждает получение, возвращая `response`, и может включить новые задачи для выполнения прокси.

|name|<|value type|description|
|-|----------|----------|----------------------------------------|
|server→proxy:|<|<|<|
|**request**|<|*string*|'proxy tasks'|
|proxy→server:|<|<|<|
|**version**|<|*string*|Версия прокси (<major>.<minor>.<build>).|
|**clock**|<|*number*|*(optional)* Временная метка передачи данных (секунды).|
|**ns**|<|*number*|*(optional)* Временная метка передачи данных (наносекунды).|
|server→proxy:|<|<|<|
| **response** | <   | *string* | Информация об успешности запроса ('success' or 'failed'). |

Пример:

server→proxy:

```json
{
  "request":"proxy tasks"
}
```

proxy→server:

```json
{
  "version":"7.0.0",
  "clock":1721059872,
  "ns":848141522
}
```

server→proxy:

```json
{
  "response":"success"
}
```

[comment]: # ({/50f116cc-cecd61c8})

[comment]: # ({967ea060-967ea060})
#### Активный прокси

[comment]: # ({/967ea060-967ea060})

[comment]: # ({ec2f11cd-bed30a3b})
##### Запрос конфигурации

Запрос `proxy config` отправляется активным прокси для получения данных конфигурации прокси. Этот запрос отправляется каждые `ProxyConfigFrequency` секунд (параметр конфигурации прокси).

| name | <   | <   | <   | <   | value type | description |
|-|-|-|-|----------|----------|----------------------------------------|
| proxy→server: | <   | <   | <   | <   | <   | <   |
| **request** | <   | <   | <   | <   | *string* | 'proxy config' |
| **host** | <   | <   | <   | <   | *string<br>* | Имя прокси. |
| **version** | <   | <   | <   | <   | *string* | Версия прокси (\<major>.\<minor>.\<build>). |
| **session** | <   | <   | <   | <   | *string* | Токен сеанса конфигурации прокси. |
| **config_revision** | <   | <   | <   | <   | *number* | Ревизия конфигурации прокси. |
| **hostmap_revision** | <   | <   | <   | <   | *number* | Текущая ревизия сопоставления узел сети-прокси. |
|     | <   | <   | <   | <   | <   | <   |
| server→proxy: | <   | <   | <   | <   | <   | <   |
| **full_sync** | <   | <   | <   | <   | *number* | 1 - если отправляются полные данные конфигурации, иначе отсутствует (необязательно). |
| **data** | <   | <   | <   | <   | *array* | Объект табличных данных. Отсутствует, если конфигурация не изменилась (необязательно). |
|     | **\<table>** | <   | <   | <   | *object* | Один или несколько объектов с данными \<table> (необязательно, в зависимости от изменений). |
| ^   |     | **fields** | <   | <   | *array* | Массив имен полей. |
| ^   | ^   |     | -   | <   | *string* | Имя поля. |
| ^   | ^   | **data** | <   | <   | *array* | Массив строк. |
| ^   | ^   |     | -   | <   | *array* | Массив столбцов. |
| ^   | ^   | ^   |     | -   | *string*,*number* | Значение столбца с типом, зависящим от типа столбца в схеме базы данных. |
|     | <   | <   | <   | <   | <   | <   |
| **macro.secrets** | <   | <   | <   | <  | *object* | Информация о секретных макросах, отсутствует, если в макросах vault нет изменений (необязательно). |
| **proxy_group** | <   | <   | <   | <  | *string* | Имя группы прокси, к которой принадлежит прокси. |
| **config_revision** | <   | <   | <   | <   | *number* | Ревизия кэша конфигурации - отправляется вместе с данными конфигурации (необязательно). |
| **del_hostids** | <   | <   | <   | <   | *array* | Массив удаленных hostid (необязательно). |
|     | -   | <   | <   | <   | *number* | Идентификатор узла сети. |
| **del_macro_hostids** | <   | <   | <   | <   | *array* | Массив hostid, у которых удалены все макросы (необязательно). |
|     | -   | <   | <   | <   | *number* | Идентификатор узла сети. |

Пример:

proxy→server:

```json
{
  "request": "proxy config",
  "host": "Zabbix proxy",
  "version":"7.4.0",
  "session": "fd59a09ff4e9d1fb447de1f04599bcf6",
  "config_revision": 0
}
```

server→proxy:

```json
{
	"full_sync": 1,
	"data": {
		"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": [
				[10084, "Zabbix server", 0, -1, 2, "", "", "Zabbix server", 1, 1, "", "", "", ""]
			]
		},
		"interface": {
			"fields": ["interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "available"],
			"data": [
				[1, 10084, 1, 1, 1, "127.0.0.1", "", "10053", 1]
			]
		},
		"interface_snmp": {
			"fields": ["interfaceid", "version", "bulk", "community", "securityname", "securitylevel", "authpassphrase", "privpassphrase", "authprotocol", "privprotocol", "contextname"],
			"data": []
		},
		"host_inventory": {
			"fields": ["hostid", "type", "type_full", "name", "alias", "os", "os_full", "os_short", "serialno_a", "serialno_b", "tag", "asset_tag", "macaddress_a", "macaddress_b", "hardware", "hardware_full", "software", "software_full", "software_app_a", "software_app_b", "software_app_c", "software_app_d", "software_app_e", "contact", "location", "location_lat", "location_lon", "notes", "chassis", "model", "hw_arch", "vendor", "contract_number", "installer_name", "deployment_status", "url_a", "url_b", "url_c", "host_networks", "host_netmask", "host_router", "oob_ip", "oob_netmask", "oob_router", "date_hw_purchase", "date_hw_install", "date_hw_expiry", "date_hw_decomm", "site_address_a", "site_address_b", "site_address_c", "site_city", "site_state", "site_country", "site_zip", "site_rack", "site_notes", "poc_1_name", "poc_1_email", "poc_1_phone_a", "poc_1_phone_b", "poc_1_cell", "poc_1_screen", "poc_1_notes", "poc_2_name", "poc_2_email", "poc_2_phone_a", "poc_2_phone_b", "poc_2_cell", "poc_2_screen", "poc_2_notes"],
			"data": [
				[10084, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "56.95387", "24.22067", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
			]
		},
		"items": {
			"fields": ["itemid", "type", "snmp_oid", "hostid", "key_", "delay", "history", "status", "value_type", "trapper_hosts", "logtimefmt", "params", "ipmi_sensor", "authtype", "username", "password", "publickey", "privatekey", "flags", "interfaceid", "inventory_link", "jmx_endpoint", "master_itemid", "timeout", "url", "query_fields", "posts", "status_codes", "follow_redirects", "post_type", "http_proxy", "headers", "retrieve_mode", "request_method", "output_format", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host", "allow_traps"],
			"data": [
				[44161, 7, "", 10084, "agent.hostmetadata", "10s", "90d", 0, 1, "", "", "", "", 0, "", "", "", "", 0, null, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0],
				[44162, 0, "", 10084, "agent.ping", "10s", "90d", 0, 3, "", "", "", "", 0, "", "", "", "", 0, 1, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0]
			]
		},
		"item_rtdata": {
			"fields": ["itemid", "lastlogsize", "mtime"],
			"data": [
				[44161, 0, 0],
				[44162, 0, 0]
			]
		},
		"item_preproc": {
			"fields": ["item_preprocid", "itemid", "step", "type", "params", "error_handler", "error_handler_params"],
			"data": []
		},
		"item_parameter": {
			"fields": ["item_parameterid", "itemid", "name", "value"],
			"data": []
		},
		"globalmacro": {
			"fields": ["globalmacroid", "macro", "value", "type"],
			"data": [
				[2, "{$SNMP_COMMUNITY}", "public", 0]
			]
		},
		"hosts_templates": {
			"fields": ["hosttemplateid", "hostid", "templateid", "link_type"],
			"data": []
		},
		"hostmacro": {
			"fields": ["hostmacroid", "hostid", "macro", "value", "type", "automatic"],
			"data": [
				[5676, 10084, "{$M}", "AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content", 2, 0]
			]
		},
		"drules": {
			"fields": ["druleid", "name", "iprange", "delay"],
			"data": [
				[2, "Local network", "127.0.0.1", "10s"]
			]
		},
		"dchecks": {
			"fields": ["dcheckid", "druleid", "type", "key_", "snmp_community", "ports", "snmpv3_securityname", "snmpv3_securitylevel", "snmpv3_authpassphrase", "snmpv3_privpassphrase", "uniq", "snmpv3_authprotocol", "snmpv3_privprotocol", "snmpv3_contextname", "host_source", "name_source"],
			"data": [
				[2, 2, 9, "system.uname", "", "10052", "", 0, "", "", 0, 0, 0, "", 1, 0]
			]
		},
		"regexps": {
			"fields": ["regexpid", "name"],
			"data": [
				[1, "File systems for discovery"],
				[2, "Network interfaces for discovery"],
				[3, "Storage devices for SNMP discovery"],
				[4, "Windows service names for discovery"],
				[5, "Windows service startup states for discovery"]
			]
		},
		"expressions": {
			"fields": ["expressionid", "regexpid", "expression", "expression_type", "exp_delimiter", "case_sensitive"],
			"data": [
				[1, 1, "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", 3, ",", 0],
				[3, 3, "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$", 4, ",", 1],
				[5, 4, "^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$", 4, ",", 1],
				[6, 5, "^(automatic|automatic delayed)$", 3, ",", 1],
				[7, 2, "^Software Loopback Interface", 4, ",", 1],
				[8, 2, "^(In)?[Ll]oop[Bb]ack[0-9._]*$", 4, ",", 1],
				[9, 2, "^NULL[0-9.]*$", 4, ",", 1],
				[10, 2, "^[Ll]o[0-9.]*$", 4, ",", 1],
				[11, 2, "^[Ss]ystem$", 4, ",", 1],
				[12, 2, "^Nu[0-9.]*$", 4, ",", 1]
			]
		},
		"settings": {
			"fields": ["name", "type", "value_str", "value_int"],
			"data": [
				["autoreg_tls_accept", 2, "", 1],
				["hk_history_global", 2, "", 0],
				["snmptrap_logging", 2, "", 1],
				["proxy_secrets_provider", 2, "", 0],
				["hk_history", 1, "31d", 0],
				["timeout_db_monitor", 1, "3s", 0],
				["timeout_external_check", 1, "3s", 0],
				["timeout_http_agent", 1, "3s", 0],
				["timeout_simple_check", 1, "3s", 0],
				["timeout_snmp_agent", 1, "3s", 0],
				["timeout_ssh_agent", 1, "3s", 0],
				["timeout_telnet_agent", 1, "3s", 0],
				["timeout_zabbix_agent", 1, "3s", 0],
				["timeout_browser", 1, "30s", 0]
			]
		},
		"httptest": {
			"fields": ["httptestid", "name", "delay", "agent", "authentication", "http_user", "http_password", "hostid", "http_proxy", "retries", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host"],
			"data": []
		},
		"httptestitem": {
			"fields": ["httptestitemid", "httptestid", "itemid", "type"],
			"data": []
		},
		"httptest_field": {
			"fields": ["httptest_fieldid", "httptestid", "type", "name", "value"],
			"data": []
		},
		"httpstep": {
			"fields": ["httpstepid", "httptestid", "name", "no", "url", "timeout", "posts", "required", "status_codes", "follow_redirects", "retrieve_mode", "post_type"],
			"data": []
		},
		"httpstepitem": {
			"fields": ["httpstepitemid", "httpstepid", "itemid", "type"],
			"data": []
		},
		"httpstep_field": {
			"fields": ["httpstep_fieldid", "httpstepid", "type", "name", "value"],
			"data": []
		},
		"config_autoreg_tls": {
			"fields": ["autoreg_tlsid", "tls_psk_identity", "tls_psk"],
			"data": [
				[1, "", ""]
			]
		}
	},
	"macro.secrets": {
		"AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix": {
			"Content": "738"
		}
	},
	"config_revision": 2
}
```

[comment]: # ({/ec2f11cd-bed30a3b})

[comment]: # ({f7ffbeef-ef0ba621})
##### Запрос данных

Запрос `proxy data` отправляется прокси для передачи данных о доступности интерфейсов узлов сети, истории, обнаружении и авторегистрации.
Этот запрос отправляется каждые `DataSenderFrequency` секунд (параметр конфигурации прокси).
Обратите внимание, что активный прокси по-прежнему будет опрашивать сервер Zabbix каждую секунду на наличие задач удаленных команд (с пустым запросом `proxy data`).

|name|<|value type|description|
|-|----------|----------|----------------------------------------|
|proxy→server:|<|<|<|
|**request**|<|*string*|'proxy data'|
|**host**|<|*string*|Имя прокси.|
|**session**|<|*string*|Токен сеанса данных.|
|**interface availability**|<|*array*|*(optional)* Массив объектов данных о доступности интерфейсов.|
| |**interfaceid**|*number*|Идентификатор интерфейса.|
|^|**available**|*number*|Доступность интерфейса:<br><br>**0**, *INTERFACE_AVAILABLE_UNKNOWN* - неизвестно<br>**1**, *INTERFACE_AVAILABLE_TRUE* - доступен<br>**2**, *INTERFACE_AVAILABLE_FALSE* - недоступен|
|^|**error**|*string*|Сообщение об ошибке интерфейса или пустая строка.|
|**history data**|<|*array*|*(optional)* Массив объектов данных истории.|
| |**itemid**|*number*|Идентификатор элемента данных.|
|^|**clock**|*number*|Метка времени значения элемента данных (секунды).|
|^|**ns**|*number*|Метка времени значения элемента данных (наносекунды).|
|^|**value**|*string*|*(optional)* Значение элемента данных.|
|^|**id**|*number*|Идентификатор значения (возрастающий счетчик, уникальный в рамках одного сеанса данных).|
|^|**timestamp**|*number*|*(optional)* Метка времени элементов данных типа log.|
|^|**source**|*string*|*(optional)* Значение source элемента данных eventlog.|
|^|**severity**|*number*|*(optional)* Значение severity элемента данных eventlog.|
|^|**eventid**|*number*|*(optional)* Значение eventid элемента данных eventlog.|
|^|**state**|*string*|*(optional)* Состояние элемента данных:<br>**0**, *ITEM_STATE_NORMAL*<br>**1**, *ITEM_STATE_NOTSUPPORTED*|
|^|**lastlogsize**|*number*|*(optional)* Последний размер журнала для элементов данных типа log.|
|^|**mtime**|*number*|*(optional)* Время изменения для элементов данных типа log.|
|**discovery data**|<|*array*|*(optional)* Массив объектов данных обнаружения.|
| |**clock**|*number*|Метка времени данных обнаружения.|
|^|**druleid**|*number*|Идентификатор правила обнаружения.|
|^|**dcheckid**|*number*|Идентификатор проверки обнаружения или null для данных правила обнаружения.|
|^|**type**|*number*|Тип проверки обнаружения:<br><br>**-1** данные правила обнаружения<br>**0**, *SVC_SSH* - проверка службы SSH<br>**1**, *SVC_LDAP* - проверка службы LDAP<br>**2**, *SVC_SMTP* - проверка службы SMTP<br>**3**, *SVC_FTP* - проверка службы FTP<br>**4**, *SVC_HTTP* - проверка службы HTTP<br>**5**, *SVC_POP* - проверка службы POP<br>**6**, *SVC_NNTP* - проверка службы NNTP<br>**7**, *SVC_IMAP* - проверка службы IMAP<br>**8**, *SVC_TCP* - проверка доступности TCP-порта<br>**9**, *SVC_AGENT* - агент Zabbix<br>**10**, *SVC_SNMPv1* - агент SNMPv1<br>**11**, *SVC_SNMPv2* - агент SNMPv2<br>**12**, *SVC_ICMPPING* - ping ICMP<br>**13**, *SVC_SNMPv3* - агент SNMPv3<br>**14**, *SVC_HTTPS* - проверка службы HTTPS<br>**15**, *SVC_TELNET* - проверка доступности Telnet|
|^|**ip**|*string*|IP-адрес узла сети.|
|^|**dns**|*string*|DNS-имя узла сети.|
|^|**port**|*number*|*(optional)* Номер порта службы.|
|^|**key_**|*string*|*(optional)* Ключ элемента данных для проверки обнаружения типа **9** *SVC_AGENT*|
|^|**value**|*string*|*(optional)* Значение, полученное от службы, для большинства служб может быть пустым.|
|^|**status**|*number*|*(optional)* Статус службы:<br><br>**0**, *DOBJECT_STATUS_UP* - служба доступна<br>**1**, *DOBJECT_STATUS_DOWN* - служба недоступна|
|**autoregistration**|<|*array*|*(optional)* Массив объектов данных авторегистрации.|
| |**clock**|*number*|Метка времени данных авторегистрации.|
|^|**host**|*string*|Имя узла сети.|
|^|**ip**|*string*|*(optional)* IP-адрес узла сети.|
|^|**dns**|*string*|*(optional)* Разрешенное DNS-имя по IP-адресу.|
|^|**port**|*string*|*(optional)* Порт узла сети.|
|^|**host_metadata**|*string*|*(optional)* Метаданные узла сети, отправленные агентом (на основе параметра конфигурации агента HostMetadata или HostMetadataItem).|
|**tasks**|<|*array*|*(optional)* Массив задач.|
| |**type**|*number*|Тип задачи:<br><br>**0**, *ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT* - результат удаленной команды|
|^|**status**|*number*|Статус выполнения удаленной команды:<br><br>**0**, *ZBX_TM_REMOTE_COMMAND_COMPLETED* - удаленная команда успешно выполнена<br>**1**, *ZBX_TM_REMOTE_COMMAND_FAILED* - удаленная команда не выполнена|
|^|**error**|*string*|*(optional)* Сообщение об ошибке.|
|^|**parent_taskid**|*number*|ID родительской задачи.|
|**more**|<|*number*|*(optional)* 1 - есть еще данные истории для отправки|
|**clock**|<|*number*|*(optional)* Метка времени передачи данных (секунды).|
|**ns**|<|*number*|*(optional)* Метка времени передачи данных (наносекунды).|
|**version**|<|*string*|Версия прокси (<major>.<minor>.<build>).|
|server→proxy:|<|<|<|
|**response**|<|*string*|Информация об успешности запроса ('success' или 'failed').|
|**upload**|<|*string*|Управление загрузкой исторических данных (history, autoregistration, host availability, network discovery).<br><br>Возможные значения:<br>**enabled** - нормальная работа<br>**disabled** - сервер не принимает данные (возможно, из-за превышения внутреннего кэша)|
|**tasks**|<|*array*|*(optional)* Массив задач.|
| |**type**|*number*|Тип задачи:<br><br>**1**, *ZBX_TM_TASK_PROCESS_REMOTE_COMMAND* - удаленная команда|
|^|**clock**|*number*|Время создания задачи.|
|^|**ttl**|*number*|Время в секундах, по истечении которого задача становится недействительной.|
|^|**commandtype**|*number*|Тип удаленной команды:<br><br>**0**, *ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT* - использовать пользовательский скрипт<br>**1**, *ZBX_SCRIPT_TYPE_IPMI* - использовать IPMI<br>**2**, *ZBX_SCRIPT_TYPE_SSH* - использовать SSH<br>**3**, *ZBX_SCRIPT_TYPE_TELNET* - использовать Telnet<br>**4**, *ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT* - использовать глобальный скрипт (в настоящее время функционально эквивалентен пользовательскому скрипту)|
|^|**command**|*string*|Удаленная команда для выполнения.|
|^|**execute_on**|*number*|Цель выполнения для пользовательских скриптов:<br><br>**0**, *ZBX_SCRIPT_EXECUTE_ON_AGENT* - выполнить скрипт на агенте<br>**1**, *ZBX_SCRIPT_EXECUTE_ON_SERVER* - выполнить скрипт на сервере<br>**2**, *ZBX_SCRIPT_EXECUTE_ON_PROXY* - выполнить скрипт на прокси|
|^|**port**|*number*|*(optional)* Порт для команд Telnet и SSH.|
|^|**authtype**|*number*|*(optional)* Тип аутентификации для команд SSH.|
|^|**username**|*string*|*(optional)* Имя пользователя для команд Telnet и SSH.|
|^|**password**|*string*|*(optional)* Пароль для команд Telnet и SSH.|
|^|**publickey**|*string*|*(optional)* Открытый ключ для команд SSH.|
|^|**privatekey**|*string*|*(optional)* Закрытый ключ для команд SSH.|
|^|**parent_taskid**|*number*|ID родительской задачи.|
|^|**hostid**|*number*|ID целевого узла сети.|

Пример:

proxy→server:

```json
{
	"request": "proxy data",
	"host": "Zabbix proxy",
	"session": "818cdd1b537bdc5e50c09ed4969235b6",
	"interface availability": [{
		"interfaceid": 1,
		"available": 1,
		"error": ""
	}],
	"history data": [{
		"id": 1114,
		"itemid": 44162,
		"clock": 1665730632,
		"ns": 798953105,
		"value": "1"
	}, {
		"id": 1115,
		"itemid": 44161,
		"clock": 1665730633,
		"ns": 811684663,
		"value": "58"
	}],
	"auto registration": [{
		"clock": 1665730633,
		"host": "Zabbix server",
		"ip": "127.0.0.1",
		"dns": "localhost",
		"port": "10053",
		"host_metadata": "58",
		"tls_accepted": 1
	}],
	"discovery data": [{
		"clock": 1665732232,
		"drule": 2,
		"dcheck": 2,
		"ip": "127.0.0.1",
		"dns": "localhost",
		"port": 10052,
		"status": 1
	}, {
		"clock": 1665732232,
		"drule": 2,
		"dcheck": null,
		"ip": "127.0.0.1",
		"dns": "localhost",
		"status": 1
	}],
	"host data": [{
		"hostid": 10084,
		"active_status": 1
	}],
	"tasks": [{
		"type": 3,
		"clock": 1665730985,
		"ttl": 0,
		"status": -1,
		"info": "Remote commands are not enabled",
		"parent_taskid": 3
	}],
	"version": "7.4.0",
	"clock": 1665730643,
	"ns": 65389964
}
```

server→proxy:

```json
{
	"upload": "enabled",
	"response": "success",
	"tasks": [{
		"type": 2,
		"clock": 1665730986,
		"ttl": 600,
		"commandtype": 0,
		"command": "ping -c 3 127.0.0.1; case $? in [01]) true;; *) false;; esac",
		"execute_on": 2,
		"port": 0,
		"authtype": 0,
		"username": "",
		"password": "",
		"publickey": "",
		"privatekey": "",
		"alertid": 0,
		"parent_taskid": 4,
		"hostid": 10084
	}]
}
```

[comment]: # ({/f7ffbeef-ef0ba621})
