1 Сервер-прокси протокол за размену података

Преглед

Сервер - прокси размена података је заснована на JSON формату.

Поруке захтева и одговора морају да почињу са заглављем и дужином података.

Пасивни прокси

Захтев за конфигурацију

Сервер ће прво послати празан захтев proxy config. Овај захтев се шаље сваке ProxyConfigFrequency (параметар конфигурације сервера) секунде.

Прокси одговара са тренутном верзијом проксија, токеном сесије и ревизијом конфигурације. Сервер одговара конфигурационим подацима које треба ажурирати.

name value type description
server→proxy:
захтев string 'proxy config'
прокси→сервер:
верзија string Верзија проксија (<major>.<minor>.<build>).
сесија string Токен сесије конфигурације проксија.
config_revision број Ревизија конфигурације проксија.
сервер→прокси:
full_sync број 1 - ако се шаљу потпуни подаци о конфигурацији; одсутан - иначе (опционо).
data низ Објекат података табеле. Одсутан ако конфигурација није промењена (опционо).
<table> објекат Један или више објеката са <table> подацима (опционо, у зависности од промена).
fields низ Низ имена поља.
- * string* Назив поља.
data низ Низ редова.
- array Низ колона.
- string,number Вредност колоне са типом у зависности од типа колоне у шеми базе података.
macro.secrets објекат Тајне информације о макроу, одсутне ако нема промена у макроима трезора (опционо).
config_revision број Ревизија кеша конфигурације - послата са подацима о конфигурацији (опционо)
del_hostids низ Низ уклоњених hostids-а (опционо).
- број Идентификатор домаћина.
del_macro_hostids низ Низ hostids-а са уклоњеним свим макроима (опционо).
- број Идентификатор домаћина.
прокси→сервер:
response string Захтевајте информације о успеху ('success' или 'failed').
version * string* Прокси верзије (<major>.<minor>.<build>).

Пример:

сервер→прокси:

сервер→прокси:

{
         "request":"proxy config"
       } 

прокси→сервер:

{
         "version": "7.0.0",
         "session": "0033124949800811e5686dbfd9bcea98",
         "config_revision": 0
       }

сервер→прокси:


       {
           "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]
                   ]
               },
               "config": {
                   "fields": ["configid", "snmptrap_logging", "hk_history_global", "hk_history", "autoreg_tls_accept"],
                   "data": [
                       [1, 1, 0, "90d", 1]
                   ]
               },
               "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
       }

прокси→сервер:

{
         "response": "success",
         "version": "7.0.0"
       }
Захтев за податке

Захтев proxy data се користи за добијање доступности интерфејса домаћина, историјске податаке, податаке о откривању и аутоматској регистрацији од проксија. Овај захтев се шаље сваке ProxyDataFrequency (параметар конфигурације сервера) у секунди.

name value type description
сервер→прокси:
request string 'proxy data'
прокси→сервер:
session string Токен сесије података.
interface availability низ (опционо) Низ објеката података о доступности интерфејса.
interfaceid број Идентификатор интерфејса.
available број Доступност интерфејса:

0, INTERFACE_AVAILABLE_UNKNOWN - непознато
1, INTERFACE_AVAILABLE_TRUE - доступно
2, INTERFACE_AVAILABLE_FALSE - недоступно
error string Порука о грешци интерфејса или празан стринг.
history data низ (опционо) Низ објеката података историје.
itemid број Идентификатор ставке.
clock број Временска ознака вредности ставке (секунде).
ns број Временска ознака вредности ставке (наносекунде).
value string (опционо) Вредност ставке.
id број Идентификатор вредности (узлазни бројач, јединствен у оквиру једне сесије података).
timestamp број (опционо) Временска ознака ставки лог типа.
source string (опционо) изворна вредност ставке дневника догађаја.
severity број (опционо)Вредност озбиљности ставке лог догађаја.
eventid број (опционо) Вредност eventid ставке ставке лог догађаја.
state string (опционо) Вредност ставке:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize број (опционо) Последња лог величина ставки лог типа.
mtime број (опционо) Време измене ставки лог типа.
discovery data низ (опционо) Низ објеката података откривања.
clock број Временска ознака података откривања.
druleid број Идентификатор правила откривања.
dcheckid број Идентификатор за проверу откривања или null за податке правила откривања.
type број Тип провере откривања:

-1 discovery rule data
0, SVC_SSH - SSH service check
1, SVC_LDAP - LDAP service check
2, SVC_SMTP - SMTP service check
3, SVC_FTP - FTP service check
4, SVC_HTTP - HTTP service check
5, SVC_POP - POP service check
6, SVC_NNTP - NNTP service check
7, SVC_IMAP - IMAP service check
8, SVC_TCP - TCP port availability check
9, SVC_AGENT - Zabbix agent
10, SVC_SNMPv1 - SNMPv1 agent
11, SVC_SNMPv2 - SNMPv2 agent
12, SVC_ICMPPING - ICMP ping
13, SVC_SNMPv3 - SNMPv3 agent
14, SVC_HTTPS - HTTPS service check
15, SVC_TELNET - Telnet availability check
ip string IP адреса домаћина.
dns string DNS назив домаћина.
port број (опционо) Број сервисног порта.
key_ string (опционо) Кључ ставке за проверу типа откривања 9 SVC_AGENT
value string (опционо) Вредност примљена од услуге, може бити празна за већину услуга.
status број (опционо) Статус услуге:

0, DOBJECT_STATUS_UP - Service UP
1, DOBJECT_STATUS_DOWN - Service DOWN
auto registration низ (опционо) Низ објеката података за аутоматску регистрацију.
clock број Временска ознака података за аутоматску регистрацију.
host string Назив домаћина.
ip string (опционо) IP адреса домаћина.
dns string (опционо) Разрешено DNS име са IP адресе.
port string (опционо) Порт домаћина.
host_metadata string (опционо) Метаподаци домаћина које шаље агент (на основу параметра конфигурације агента HostMetadata или HostMetadataItem).
tasks низ (опционо) Низ задатака.
type број Тип задатака:

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - 远程命令结果
status број Статус извршења даљинске команде:

0, ZBX_TM_REMOTE_COMMAND_COMPLETED - даљинска команда је успешно завршена
1, ZBX_TM_REMOTE_COMMAND_FAILED - даљинска команда није успела
error string (опционо) Порука о грешци.
parent_taskid број ID родитељског задатка.
more број (опционо) 1 - има још података из историје за слање.
clock број (опционо) Временска ознака преноса података (секунде).
ns број (опционо) Временска ознака преноса података (наносекунде).
version string Верзија проксија (<major>.<minor>.<build>).
сервер→прокси:
response string Затражите информације о успеху ('success' или 'failed').
tasks array (опционо) Низ задатака.
type number Тип задатка:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - даљинска команда
clock број Време креирања задатка.
ttl број Време у секундама након којег задатак истиче.
commandtype број Тип даљинске команде:

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 број (опционо) Порт за Telnet и SSH команде.
authtype број (опционо) Тип аутентификације за SSH команде.
username string (опционо) Корисничко име за Telnet и SSH команде.
password string (опционо) Лозинка за Telnet и SSH команде.
publickey string (опционо) Јавни кључ за SSH команде.
privatekey string (опционо) Приватни кључ за SSH команде.
parent_taskid број ID родитељског задатка.
hostid број 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":"7.0.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
             }
         ]
       }

Активни прокси

Захтев за конфигурацију

Захтев за конфигурацију проксија шаље активни прокси да би добио податке о конфигурацији проксија. Овај захтев се шаље сваке ProxyConfigFrequency (параметар прокси конфигурације) секунде.

name value type description
proxy→server:
request string 'proxy config'
host string
Назив проксија.
version string Прокси верзија (<major>.<minor>.<build>).
session string Токен сесије конфигурације проксија.
config_revision број Ревизија конфигурације проксија.
server→proxy:
fullsync број 1 - ако се шаљу потпуни подаци о конфигурацији, иначе одсутни (опционо).
data низ Објекат података табеле. Одсутан ако конфигурација није промењена (опционо).
<table> објекат Један или више објеката са < table> подацима (опционо, у зависности од промена).
fields низ Низ назива поља
- string Назив поља.
data низ Низ реда.
- низ Низ колоне.
- string,number Вредност колоне са типом у зависности од типа колоне у шеми базе података.
macro.secrets објекат Тајне информације о макроу, одсутне ако нема промена у макроима трезора (опционо).
config_revision број Ревизија кеша конфигурације - шаље се са конфигурационим подацима (опционо).
del_hostids array Низ уклоњених hostids-а (опционо).
- број Идентификатор домаћина.
del_macro_hostids низ Низ hostids-а са уклоњеним свим макроима (опционо).
- number Идентификатор домаћина.

Пример:

proxy→server:

{
         "request": "proxy config",
         "host": "Zabbix proxy",
         "version":"7.0.0",
         "session": "fd59a09ff4e9d1fb447de1f04599bcf6",
         "config_revision": 0
       }

server→proxy:

{
           "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]
                   ]
               },
               "config": {
                   "fields": ["configid", "snmptrap_logging", "hk_history_global", "hk_history", "autoreg_tls_accept"],
                   "data": [
                       [1, 1, 0, "90d", 1]
                   ]
               },
               "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 data шаље прокси да би обезбедио доступност интерфејса домаћина, историју, откриће и податке за аутоматску регистрацију. Овај захтев се шаље сваке секунде DataSenderFrequency (конфигурациони параметар проксија). Имајте на уму да ће активни прокси и даље испитивати Zabbix сервер сваке секунде за задатке даљинске команде (са празним захтевом proxy data).

name value type description
proxy→server:
request string 'proxy data'
host string Назив проксија.
session string Токен сесије података.
interface availability низ (опционо) Низ објеката података о доступности интерфејса.
interfaceid number Идентификатор интерфејса.
available number Доступност интерфејса:

0, INTERFACE_AVAILABLE_UNKNOWN - непознато
1, INTERFACE_AVAILABLE_TRUE - доступно
2, INTERFACE_AVAILABLE_FALSE - недоступно
error string Порука о грешци интерфејса или празан стринг.
history data низ (опционо) Низ објеката података историје.
itemid број Идентификатор ставке.
clock број Временска ознака вредности ставке (секунде).
ns број Временска ознака вредности ставке (наносекунде).
value string (опционо) Вредност ставке.
id number Идентификатор вредности (узлазни бројач, јединствен у оквиру једне сесије података).
timestamp број (опционо) Временска ознака ставки лог типа.
source string (опционо) изворна вредност ставке лог догађаја.
severity број (опционо) Вредност озбиљности ставке лог догађаја.
eventid број (опционо) Вредност eventid ставке из лога догађаја.
state string (опционо) Стање ставке:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize број (опционо) Последња лог величина ставки лог типа.
mtime број (опционо) Време измене ставки лог типа.
discovery data низ (опционо) Низ објеката података откривања.
clock број Временска ознака података откривања.
druleid број Идентификатор правила откривања.
dcheckid број Идентификатор за проверу откривања или null за податке правила откривања.
type број Тип провере откривања:

-1 discovery rule data
0, SVC_SSH - SSH service check
1, SVC_LDAP - LDAP service check
2, SVC_SMTP - SMTP service check
3, SVC_FTP - FTP service check
4, SVC_HTTP - HTTP service check
5, SVC_POP - POP service check
6, SVC_NNTP - NNTP service check
7, SVC_IMAP - IMAP service check
8, SVC_TCP - TCP port availability check
9, SVC_AGENT - Zabbix agent
10, SVC_SNMPv1 - SNMPv1 agent
11, SVC_SNMPv2 - SNMPv2 agent
12, SVC_ICMPPING - ICMP ping
13, SVC_SNMPv3 - SNMPv3 agent
14, SVC_HTTPS - HTTPS service check
15, SVC_TELNET - Telnet availability check
ip string IP адреса домаћина.
dns string DNS назив доамћина.
port number (опционо) Број сервисног порта.
key_ string (опционо) Кључ ставке за проверу типа откривања 9 SVC_AGENT
value string (опционо) Вредност примљена од услуге, може бити празна за већину услуга.
status број (опционо) Статус услуге:

0, DOBJECT_STATUS_UP - Service UP
1, DOBJECT_STATUS_DOWN - Service DOWN
autoregistration низ (опционо) Низ објеката података за аутоматску регистрацију.
clock number Временска ознака података за аутоматску регистрацију.
host string Назив домаћина.
ip string (опционо) IP адреса домаћина.
dns string (опционо) Решено DNS име са IP адресе.
port string (опционо) Порт домаћина.
host_metadata string (опционо) Метаподаци домаћина које шаље агент (на основу параметра конфигурације агента HostMetadata или HostMetadataItem).
tasks низ (опционо) Низ зададтака.
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 број (опционо) 1 - има још података из историје за слање
clock број (опционо) временска ознака преноса података (секунде).
ns number (опционо) Временска ознака преноса података (наносекунде).
version string Проски верзија (<major>.<minor>.<build>).
сервер→прокси:
response string Затражите информације о успеху ('success' или 'failed').
upload string Контрола отпремања историјских података (историја, аутоматска регистрација, доступност домаћина, откривање мреже).

Могуће вредности:
омогућено - нормалан рад
онемогућено - сервер не прихвата податке (могуће због интерног кеша преко ограничења)
tasks низ (опционо) Низ задатака.
type број Тип задатка:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - даљинска команда
clock број Време креирања задатка.
ttl број Време у секундама након којег задатак истиче.
commandtype број Тип даљинске команде:

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 број Циљ извршења за прилагођене скрипте:

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - извршавање скрипте на агенту
1, ZBX_SCRIPT_EXECUTE_ON_SERVER - извршавање скрипте на серверу
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - извршавање скрипте на проксију
port број (опционо) Порт за Telnet и SSH команде.
authtype број (опционо) Тип аутентификације за SSH команде.
username string (опционо) Корисничко име за Telnet и SSH команде.
password string (опционо) Лозинка за Telnet и SSH команде.
publickey string (опционо) Јавни кључ за SSH команде.
privatekey string (опционо) Приватни кључ за SSH команде.
parent_taskid број ID родитељског задатка.
hostid број ID циљаног домаћина.

Пример:

прокси→сервер:

{
           "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.0.0",
           "clock": 1665730643,
           "ns": 65389964
       }

server→proxy:

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