Servidor - a troca de dados do proxy é baseada no formato JSON.
As mensagens de solicitação e resposta devem começar com cabeçalho e dados comprimento.
O server enviará primeiro uma solicitação vazia de proxy config. Esta solicitação é enviada a cada ProxyConfigFrequency (segundos do parâmetro de configuração do server).
O proxy responde com a versão atual do proxy, token de sessão e revisão da configuração. O server responde com os dados de configuração que precisam ser atualizados.
| nome | tipo de valor | descrição | ||||
|---|---|---|---|---|---|---|
| server→proxy: | ||||||
| request | string | 'proxy config' | ||||
| proxy→server: | ||||||
| version | string | Versão do proxy (<major>.<minor>.<build>). | ||||
| session | string | Token de sessão de configuração do proxy. | ||||
| config_revision | number | Revisão da configuração do proxy. | ||||
| server→proxy: | ||||||
| full_sync | number | 1 - se os dados completos de configuração forem enviados; ausente - caso contrário (opcional). | ||||
| data | array | Objeto de dados da tabela. Ausente se a configuração não foi alterada (opcional). | ||||
| <table> | object | Um ou mais objetos com dados da tabela <table> (opcional, dependendo das alterações). | ||||
| fields | array | Array de nomes de campos. | ||||
| - | string | Nome do campo. | ||||
| data | array | Array de linhas. | ||||
| - | array | Array de colunas. | ||||
| - | string,number | Valor da coluna com tipo dependendo do tipo da coluna no esquema do banco de dados. | ||||
| macro.secrets | object | Informação de macro secreta, ausente se não houver alterações em macros de cofre (opcional). | ||||
| config_revision | number | Revisão do cache de configuração - enviada com os dados de configuração (opcional). | ||||
| del_hostids | array | Array de hostids removidos (opcional). | ||||
| - | number | Identificador do host. | ||||
| del_macro_hostids | array | Array de hostids com todas as macros removidas (opcional). | ||||
| - | number | Identificador do host. | ||||
| proxy→server: | ||||||
| response | string | Informação de sucesso da solicitação ('success' ou 'failed'). | ||||
| version | string | Versão do proxy (<major>.<minor>.<build>). | ||||
Exemplo:
server→proxy:
proxy→server:
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] ] }, "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:
A solicitação proxy data é usada para obter a disponibilidade da interface do host, dados históricos, de descoberta e de autorregistro do proxy. Esta solicitação é enviada a cada ProxyDataFrequency (parâmetro de configuração do server) segundos.
| nome | tipo de valor | descrição | |
|---|---|---|---|
| server→proxy: | |||
| request | string | 'proxy data' | |
| proxy→server: | |||
| session | string | Token da sessão de dados. | |
| interface availability | array | (opcional) Array de objetos de dados de disponibilidade de interface. | |
| interfaceid | number | Identificador da interface. | |
| available | number | Disponibilidade da interface: 0, INTERFACE_AVAILABLE_UNKNOWN - desconhecida 1, INTERFACE_AVAILABLE_TRUE - disponível 2, INTERFACE_AVAILABLE_FALSE - indisponível | |
| error | string | Mensagem de erro da interface ou string vazia. | |
| history data | array | (opcional) Array de objetos de dados históricos. | |
| itemid | number | Identificador do item. | |
| clock | number | Timestamp do valor do item (segundos). | |
| ns | number | Timestamp do valor do item (nanosegundos). | |
| value | string | (opcional) Valor do item. | |
| id | number | Identificador do valor (contador crescente, único dentro de uma sessão de dados). | |
| timestamp | number | (opcional) Timestamp de items do tipo log. | |
| source | string | (opcional) Valor da fonte do item eventlog. | |
| severity | number | (opcional) Valor de severidade do item eventlog. | |
| eventid | number | (opcional) Valor eventid do item eventlog. | |
| state | string | (opcional) Estado do item: 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED | |
| lastlogsize | number | (opcional) Último tamanho do log de items do tipo log. | |
| mtime | number | (opcional) Tempo de modificação de items do tipo log. | |
| discovery data | array | (opcional) Array de objetos de dados de descoberta. | |
| clock | number | Timestamp dos dados de descoberta. | |
| druleid | number | Identificador da regra de descoberta. | |
| dcheckid | number | Identificador da verificação de descoberta ou nulo para dados da regra de descoberta. | |
| type | number | Tipo de verificação de descoberta: -1 dados da regra de descoberta 0, SVC_SSH - verificação de serviço SSH 1, SVC_LDAP - verificação de serviço LDAP 2, SVC_SMTP - verificação de serviço SMTP 3, SVC_FTP - verificação de serviço FTP 4, SVC_HTTP - verificação de serviço HTTP 5, SVC_POP - verificação de serviço POP 6, SVC_NNTP - verificação de serviço NNTP 7, SVC_IMAP - verificação de serviço IMAP 8, SVC_TCP - verificação de disponibilidade da porta TCP 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 - verificação de serviço HTTPS 15, SVC_TELNET - verificação de disponibilidade Telnet | |
| ip | string | Endereço IP do host. | |
| dns | string | Nome DNS do host. | |
| port | number | (opcional) Número da porta do serviço. | |
| key_ | string | (opcional) Chave do item para verificação de descoberta do tipo 9 SVC_AGENT | |
| value | string | (opcional) Valor recebido do serviço, pode estar vazio para a maioria dos serviços. | |
| status | number | (opcional) Status do serviço: 0, DOBJECT_STATUS_UP - Serviço ATIVO 1, DOBJECT_STATUS_DOWN - Serviço INATIVO | |
| auto registration | array | (opcional) Array de objetos de dados de autorregistro. | |
| clock | number | Timestamp dos dados de autorregistro. | |
| host | string | Nome do host. | |
| ip | string | (opcional) Endereço IP do host. | |
| dns | string | (opcional) Nome DNS resolvido a partir do endereço IP. | |
| port | string | (opcional) Porta do host. | |
| host_metadata | string | (opcional) Metadados do host enviados pelo agent (baseado no parâmetro de configuração do agent HostMetadata ou HostMetadataItem). | |
| tasks | array | (opcional) Array de tarefas. | |
| type | number | Tipo de tarefa: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado do comando remoto | |
| status | number | Status da execução do comando remoto: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - comando remoto concluído com sucesso 1, ZBX_TM_REMOTE_COMMAND_FAILED - comando remoto falhou | |
| error | string | (opcional) Mensagem de erro. | |
| parent_taskid | number | ID da tarefa pai. | |
| more | number | (opcional) 1 - há mais dados históricos para enviar. | |
| clock | number | (opcional) Timestamp da transferência de dados (segundos). | |
| ns | number | (opcional) Timestamp da transferência de dados (nanosegundos). | |
| version | string | Versão do proxy (<major>.<minor>.<build>). | |
| server→proxy: | |||
| response | string | Informação de sucesso da solicitação ('success' ou 'failed'). | |
| tasks | array | (opcional) Array de tarefas. | |
| type | number | Tipo de tarefa: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comando remoto | |
| clock | number | Hora de criação da tarefa. | |
| ttl | number | Tempo em segundos após o qual a tarefa expira. | |
| commandtype | number | Tipo de comando remoto: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - usar script customizado 1, ZBX_SCRIPT_TYPE_IPMI - usar IPMI 2, ZBX_SCRIPT_TYPE_SSH - usar SSH 3, ZBX_SCRIPT_TYPE_TELNET - usar Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - usar script global (atualmente funcionalmente equivalente ao script customizado) | |
| command | string | Comando remoto a ser executado. | |
| execute_on | number | Destino de execução para scripts customizados: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - executar script no agent 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - executar script no server 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - executar script no proxy | |
| port | number | (opcional) Porta para comandos Telnet e SSH. | |
| authtype | number | (opcional) Tipo de autenticação para comandos SSH. | |
| username | string | (opcional) Nome de usuário para comandos Telnet e SSH. | |
| password | string | (opcional) Senha para comandos Telnet e SSH. | |
| publickey | string | (opcional) Chave pública para comandos SSH. | |
| privatekey | string | (opcional) Chave privada para comandos SSH. | |
| parent_taskid | number | ID da tarefa pai. | |
| hostid | number | ID do host de destino. | |
Exemplo:
server→proxy:
proxy→server:
{ "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:
{ "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 } ] }A solicitação proxy config é enviada pelo proxy ativo para obter os dados de configuração do proxy. Esta solicitação é enviada a cada ProxyConfigFrequency (parâmetro de configuração do proxy) segundos.
| nome | tipo de valor | descrição | ||||
|---|---|---|---|---|---|---|
| proxy→server: | ||||||
| request | string | 'proxy config' | ||||
| host | string | Nome do proxy. | ||||
| version | string | Versão do proxy (<major>.<minor>.<build>). | ||||
| session | string | Token de sessão de configuração do proxy. | ||||
| config_revision | number | Revisão da configuração do proxy. | ||||
| server→proxy: | ||||||
| fullsync | number | 1 - se todos os dados de configuração forem enviados, ausente caso contrário (opcional). | ||||
| data | array | Objeto de dados da tabela. Ausente se a configuração não foi alterada (opcional). | ||||
| <table> | object | Um ou mais objetos com dados da tabela <table> (opcional, dependendo das alterações). | ||||
| fields | array | Array de nomes de campos. | ||||
| - | string | Nome do campo. | ||||
| data | array | Array de linhas. | ||||
| - | array | Array de colunas. | ||||
| - | string,number | Valor da coluna com tipo dependendo do tipo da coluna no esquema do banco de dados. | ||||
| macro.secrets | object | Informação de macro secreta, ausente se não houver alterações em macros do cofre (opcional). | ||||
| config_revision | number | Revisão do cache de configuração - enviada com os dados de configuração (opcional). | ||||
| del_hostids | array | Array de hostids removidos (opcional). | ||||
| - | number | Identificador do host. | ||||
| del_macro_hostids | array | Array de hostids com todas as macros removidas (opcional). | ||||
| - | number | Identificador do host. | ||||
Exemplo:
proxy→server:
{ "request": "proxy config", "host": "Zabbix proxy", "version":"7.4.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] ] }, "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 }A solicitação proxy data é enviada pelo proxy para fornecer disponibilidade de interface de host, histórico, descoberta e dados de autorregistro. Esta solicitação é enviada a cada DataSenderFrequency (parâmetro de configuração do proxy) segundos. Observe que o proxy ativo ainda irá consultar o Zabbix server a cada segundo para tarefas de comando remoto (com uma solicitação proxy data vazia).
| nome | tipo de valor | descrição | |
|---|---|---|---|
| proxy→server: | |||
| request | string | 'proxy data' | |
| host | string | Nome do proxy. | |
| session | string | Token de sessão de dados. | |
| interface availability | array | (opcional) Array de objetos de dados de disponibilidade de interface. | |
| interfaceid | number | Identificador da interface. | |
| available | number | Disponibilidade da interface: 0, INTERFACE_AVAILABLE_UNKNOWN - desconhecido 1, INTERFACE_AVAILABLE_TRUE - disponível 2, INTERFACE_AVAILABLE_FALSE - indisponível | |
| error | string | Mensagem de erro da interface ou string vazia. | |
| history data | array | (opcional) Array de objetos de dados históricos. | |
| itemid | number | Identificador do item. | |
| clock | number | Timestamp do valor do item (segundos). | |
| ns | number | Timestamp do valor do item (nanossegundos). | |
| value | string | (opcional) Valor do item. | |
| id | number | Identificador do valor (contador crescente, único dentro de uma sessão de dados). | |
| timestamp | number | (opcional) Timestamp de itens do tipo log. | |
| source | string | (opcional) Valor da fonte do item eventlog. | |
| severity | number | (opcional) Valor de severidade do item eventlog. | |
| eventid | number | (opcional) Valor eventid do item eventlog. | |
| state | string | (opcional) Estado do item: 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED | |
| lastlogsize | number | (opcional) Último tamanho do log de itens do tipo log. | |
| mtime | number | (opcional) Tempo de modificação de itens do tipo log. | |
| discovery data | array | (opcional) Array de objetos de dados de descoberta. | |
| clock | number | Timestamp dos dados de descoberta. | |
| druleid | number | Identificador da regra de descoberta. | |
| dcheckid | number | Identificador da verificação de descoberta ou nulo para dados da regra de descoberta. | |
| type | number | Tipo de verificação de descoberta: -1 dados da regra de descoberta 0, SVC_SSH - verificação de serviço SSH 1, SVC_LDAP - verificação de serviço LDAP 2, SVC_SMTP - verificação de serviço SMTP 3, SVC_FTP - verificação de serviço FTP 4, SVC_HTTP - verificação de serviço HTTP 5, SVC_POP - verificação de serviço POP 6, SVC_NNTP - verificação de serviço NNTP 7, SVC_IMAP - verificação de serviço IMAP 8, SVC_TCP - verificação de disponibilidade de porta TCP 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 - verificação de serviço HTTPS 15, SVC_TELNET - verificação de disponibilidade Telnet | |
| ip | string | Endereço IP do host. | |
| dns | string | Nome DNS do host. | |
| port | number | (opcional) Número da porta do serviço. | |
| key_ | string | (opcional) Chave do item para verificação de descoberta do tipo 9 SVC_AGENT | |
| value | string | (opcional) Valor recebido do serviço, pode estar vazio para a maioria dos serviços. | |
| status | number | (opcional) Status do serviço: 0, DOBJECT_STATUS_UP - Serviço UP 1, DOBJECT_STATUS_DOWN - Serviço DOWN | |
| autoregistration | array | (opcional) Array de objetos de dados de autorregistro. | |
| clock | number | Timestamp dos dados de autorregistro. | |
| host | string | Nome do host. | |
| ip | string | (opcional) Endereço IP do host. | |
| dns | string | (opcional) Nome DNS resolvido a partir do endereço IP. | |
| port | string | (opcional) Porta do host. | |
| host_metadata | string | (opcional) Metadados do host enviados pelo agent (com base no parâmetro de configuração do agent HostMetadata ou HostMetadataItem). | |
| tasks | array | (opcional) Array de tarefas. | |
| type | number | Tipo de tarefa: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado do comando remoto | |
| status | number | Status da execução do comando remoto: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - comando remoto concluído com sucesso 1, ZBX_TM_REMOTE_COMMAND_FAILED - comando remoto falhou | |
| error | string | (opcional) Mensagem de erro. | |
| parent_taskid | number | ID da tarefa pai. | |
| more | number | (opcional) 1 - há mais dados históricos para enviar | |
| clock | number | (opcional) Timestamp da transferência de dados (segundos). | |
| ns | number | (opcional) Timestamp da transferência de dados (nanossegundos). | |
| version | string | Versão do proxy (<major>.<minor>.<build>). | |
| server→proxy: | |||
| response | string | Informação de sucesso da solicitação ('success' ou 'failed'). | |
| upload | string | Controle de upload para dados históricos (histórico, autorregistro, disponibilidade de host, descoberta de rede). Valores possíveis: enabled - operação normal disabled - o server não está aceitando dados (possivelmente devido ao limite interno do cache) | |
| tasks | array | (opcional) Array de tarefas. | |
| type | number | Tipo de tarefa: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comando remoto | |
| clock | number | Hora de criação da tarefa. | |
| ttl | number | Tempo em segundos após o qual a tarefa expira. | |
| commandtype | number | Tipo de comando remoto: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - usar script personalizado 1, ZBX_SCRIPT_TYPE_IPMI - usar IPMI 2, ZBX_SCRIPT_TYPE_SSH - usar SSH 3, ZBX_SCRIPT_TYPE_TELNET - usar Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - usar script global (atualmente funcionalmente equivalente ao script personalizado) | |
| command | string | Comando remoto a ser executado. | |
| execute_on | number | Destino de execução para scripts personalizados: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - executar script no agent 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - executar script no server 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - executar script no proxy | |
| port | number | (opcional) Porta para comandos Telnet e SSH. | |
| authtype | number | (opcional) Tipo de autenticação para comandos SSH. | |
| username | string | (opcional) Nome de usuário para comandos Telnet e SSH. | |
| password | string | (opcional) Senha para comandos Telnet e SSH. | |
| publickey | string | (opcional) Chave pública para comandos SSH. | |
| privatekey | string | (opcional) Chave privada para comandos SSH. | |
| parent_taskid | number | ID da tarefa pai. | |
| hostid | number | ID do host de destino. | |
Exemplo:
proxy→server:
{ "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:
{ "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 }] }