Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

1 Protocolo de intercambio de datos servidor-proxy

Descripción general

Servidor - el intercambio de datos proxy se basa en el formato JSON.

Los mensajes de solicitud y respuesta deben comenzar con encabezado y longitud de datos.

Proxy pasivo

Solicitud de configuración

El servidor primero enviará una solicitud vacía de proxy config. Esta solicitud se envía cada ProxyConfigFrequency (segundos, parámetro de configuración del servidor).

El proxy responde con la versión actual del proxy, el token de sesión y la revisión de la configuración. El servidor responde con los datos de configuración que necesitan ser actualizados.

nombre tipo de valor descripción
servidor→proxy:
request string 'proxy config'
proxy→servidor:
version string Versión del proxy (<major>.<minor>.<build>).
session string Token de sesión de configuración del proxy.
config_revision number Revisión de la configuración del proxy.
servidor→proxy:
full_sync number 1 - si se envían todos los datos de configuración; ausente - en caso contrario (opcional).
data array Objeto de datos de tabla. Ausente si la configuración no ha cambiado (opcional).
<table> object Uno o más objetos con datos de <table> (opcional, dependiendo de los cambios).
fields array Array de nombres de campos.
- string Nombre del campo.
data array Array de filas.
- array Array de columnas.
- string,number Valor de la columna con tipo dependiendo del tipo de columna en el esquema de la base de datos.
macro.secrets object Información de macro secreta, ausente si no hay cambios en las macros de bóveda (opcional).
config_revision number Revisión de la caché de configuración - se envía con los datos de configuración (opcional).
del_hostids array Array de hostids eliminados (opcional).
- number Identificador de host.
del_macro_hostids array Array de hostids con todas las macros eliminadas (opcional).
- number Identificador de host.
proxy→servidor:
response string Información de éxito de la solicitud ('success' o 'failed').
version string Versión del proxy (<major>.<minor>.<build>).

Ejemplo:

servidor→proxy:

{
         "request":"proxy config"
       } 

proxy→servidor:

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

servidor→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→servidor:

{
         "response": "success",
         "version": "7.4.0"
       }
Solicitud de datos

La solicitud proxy data se utiliza para obtener la disponibilidad de las interfaces de los equipos, datos históricos, de descubrimiento y de autorregistro desde el proxy. Esta solicitud se envía cada ProxyDataFrequency (parámetro de configuración del servidor) segundos.

nombre tipo de valor descripción
servidor→proxy:
request string 'proxy data'
proxy→servidor:
session string Token de sesión de datos.
interface availability array (opcional) Array de objetos de datos de disponibilidad de interfaz.
interfaceid number Identificador de la interfaz.
available number Disponibilidad de la interfaz:

0, INTERFACE_AVAILABLE_UNKNOWN - desconocido
1, INTERFACE_AVAILABLE_TRUE - disponible
2, INTERFACE_AVAILABLE_FALSE - no disponible
error string Mensaje de error de la interfaz o cadena vacía.
history data array (opcional) Array de objetos de datos históricos.
itemid number Identificador del elemento.
clock number Marca de tiempo del valor del elemento (segundos).
ns number Marca de tiempo del valor del elemento (nanosegundos).
value string (opcional) Valor del elemento.
id number Identificador de valor (contador ascendente, único dentro de una sesión de datos).
timestamp number (opcional) Marca de tiempo de elementos de tipo log.
source string (opcional) Valor de origen del elemento eventlog.
severity number (opcional) Valor de severidad del elemento eventlog.
eventid number (opcional) Valor eventid del elemento eventlog.
state string (opcional) Estado del elemento:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize number (opcional) Último tamaño de log de elementos de tipo log.
mtime number (opcional) Hora de modificación de elementos de tipo log.
discovery data array (opcional) Array de objetos de datos de descubrimiento.
clock number Marca de tiempo de los datos de descubrimiento.
druleid number Identificador de la regla de descubrimiento.
dcheckid number Identificador de la comprobación de descubrimiento o nulo para datos de regla de descubrimiento.
type number Tipo de comprobación de descubrimiento:

-1 datos de regla de descubrimiento
0, SVC_SSH - comprobación de servicio SSH
1, SVC_LDAP - comprobación de servicio LDAP
2, SVC_SMTP - comprobación de servicio SMTP
3, SVC_FTP - comprobación de servicio FTP
4, SVC_HTTP - comprobación de servicio HTTP
5, SVC_POP - comprobación de servicio POP
6, SVC_NNTP - comprobación de servicio NNTP
7, SVC_IMAP - comprobación de servicio IMAP
8, SVC_TCP - comprobación de disponibilidad de puerto TCP
9, SVC_AGENT - agente Zabbix
10, SVC_SNMPv1 - agente SNMPv1
11, SVC_SNMPv2 - agente SNMPv2
12, SVC_ICMPPING - ping ICMP
13, SVC_SNMPv3 - agente SNMPv3
14, SVC_HTTPS - comprobación de servicio HTTPS
15, SVC_TELNET - comprobación de disponibilidad Telnet
ip string Dirección IP del equipo.
dns string Nombre DNS del equipo.
port number (opcional) Número de puerto del servicio.
key_ string (opcional) Clave del elemento para comprobación de descubrimiento de tipo 9 SVC_AGENT
value string (opcional) Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.
status number (opcional) Estado del servicio:

0, DOBJECT_STATUS_UP - Servicio ARRIBA
1, DOBJECT_STATUS_DOWN - Servicio ABAJO
auto registration array (opcional) Array de objetos de datos de autorregistro.
clock number Marca de tiempo de los datos de autorregistro.
host string Nombre del equipo.
ip string (opcional) Dirección IP del equipo.
dns string (opcional) Nombre DNS resuelto desde la dirección IP.
port string (opcional) Puerto del equipo.
host_metadata string (opcional) Metadatos del equipo enviados por el agente (basado en el parámetro de configuración HostMetadata o HostMetadataItem del agente).
tasks array (opcional) Array de tareas.
type number Tipo de tarea:

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado de comando remoto
status number Estado de ejecución del comando remoto:

0, ZBX_TM_REMOTE_COMMAND_COMPLETED - comando remoto completado correctamente
1, ZBX_TM_REMOTE_COMMAND_FAILED - comando remoto fallido
error string (opcional) Mensaje de error.
parent_taskid number ID de la tarea principal.
more number (opcional) 1 - hay más datos históricos para enviar.
clock number (opcional) Marca de tiempo de transferencia de datos (segundos).
ns number (opcional) Marca de tiempo de transferencia de datos (nanosegundos).
version string Versión del proxy (<mayor>.<menor>.<compilación>).
servidor→proxy:
response string Información de éxito de la solicitud ('success' o 'failed').
tasks array (opcional) Array de tareas.
type number Tipo de tarea:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comando remoto
clock number Hora de creación de la tarea.
ttl number Tiempo en segundos tras el cual la tarea 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 (actualmente funcionalmente equivalente a script personalizado)
command string Comando remoto a ejecutar.
execute_on number Destino de ejecución para scripts personalizados:

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - ejecutar script en el agente
1, ZBX_SCRIPT_EXECUTE_ON_SERVER - ejecutar script en el servidor
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - ejecutar script en el proxy
port number (opcional) Puerto para comandos Telnet y SSH.
authtype number (opcional) Tipo de autenticación para comandos SSH.
username string (opcional) Nombre de usuario para comandos Telnet y SSH.
password string (opcional) Contraseña para comandos Telnet y SSH.
publickey string (opcional) Clave pública para comandos SSH.
privatekey string (opcional) Clave privada para comandos SSH.
parent_taskid number ID de la tarea principal.
hostid number ID del equipo de destino.

Ejemplo:

servidor→proxy:

{
         "request": "proxy data"
       }

proxy→servidor:

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

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

Proxy activo

Solicitud de configuración

La solicitud proxy config es enviada por el proxy activo para obtener los datos de configuración del proxy. Esta solicitud se envía cada ProxyConfigFrequency (parámetro de configuración del proxy) segundos.

nombre tipo de valor descripción
proxy→servidor:
request string 'proxy config'
host string
Nombre del proxy.
version string Versión del proxy (<major>.<minor>.<build>).
session string Token de sesión de configuración del proxy.
config_revision number Revisión de la configuración del proxy.
servidor→proxy:
fullsync number 1 - si se envían todos los datos de configuración, ausente en caso contrario (opcional).
data array Objeto de datos de tabla. Ausente si la configuración no ha cambiado (opcional).
<table> object Uno o más objetos con datos de <table> (opcional, dependiendo de los cambios).
fields array Array de nombres de campos.
- string Nombre del campo.
data array Array de filas.
- array Array de columnas.
- string,number Valor de columna con tipo dependiendo del tipo de columna en el esquema de la base de datos.
macro.secrets object Información de macro secreta, ausente si no hay cambios en las macros de bóveda (opcional).
config_revision number Revisión de la caché de configuración - se envía con los datos de configuración (opcional).
del_hostids array Array de hostids eliminados (opcional).
- number Identificador de host.
del_macro_hostids array Array de hostids con todas las macros eliminadas (opcional).
- number Identificador de host.

Ejemplo:

proxy→servidor:

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

servidor→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
       }
Solicitud de datos

La solicitud proxy data es enviada por el proxy para proporcionar datos de disponibilidad de interfaces de host, histórico, descubrimiento y autorregistro. Esta solicitud se envía cada DataSenderFrequency segundos (parámetro de configuración del proxy). Tenga en cuenta que el proxy activo seguirá consultando al servidor Zabbix cada segundo para tareas de comandos remotos (con una solicitud proxy data vacía).

nombre tipo de valor descripción
proxy→servidor:
request cadena 'proxy data'
host cadena Nombre del proxy.
session cadena Token de sesión de datos.
interface availability array (opcional) Array de objetos de datos de disponibilidad de interfaz.
interfaceid número Identificador de la interfaz.
available número Disponibilidad de la interfaz:

0, INTERFACE_AVAILABLE_UNKNOWN - desconocido
1, INTERFACE_AVAILABLE_TRUE - disponible
2, INTERFACE_AVAILABLE_FALSE - no disponible
error cadena Mensaje de error de la interfaz o cadena vacía.
history data array (opcional) Array de objetos de datos históricos.
itemid número Identificador del elemento.
clock número Marca de tiempo del valor del elemento (segundos).
ns número Marca de tiempo del valor del elemento (nanosegundos).
value cadena (opcional) Valor del elemento.
id número Identificador del valor (contador ascendente, único dentro de una sesión de datos).
timestamp número (opcional) Marca de tiempo de elementos de tipo log.
source cadena (opcional) Valor de origen del elemento eventlog.
severity número (opcional) Valor de severidad del elemento eventlog.
eventid número (opcional) Valor eventid del elemento eventlog.
state cadena (opcional) Estado del elemento:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize número (opcional) Último tamaño de log de elementos de tipo log.
mtime número (opcional) Hora de modificación de elementos de tipo log.
discovery data array (opcional) Array de objetos de datos de descubrimiento.
clock número Marca de tiempo de los datos de descubrimiento.
druleid número Identificador de la regla de descubrimiento.
dcheckid número Identificador de la comprobación de descubrimiento o nulo para datos de regla de descubrimiento.
type número Tipo de comprobación de descubrimiento:

-1 datos de regla de descubrimiento
0, SVC_SSH - comprobación de servicio SSH
1, SVC_LDAP - comprobación de servicio LDAP
2, SVC_SMTP - comprobación de servicio SMTP
3, SVC_FTP - comprobación de servicio FTP
4, SVC_HTTP - comprobación de servicio HTTP
5, SVC_POP - comprobación de servicio POP
6, SVC_NNTP - comprobación de servicio NNTP
7, SVC_IMAP - comprobación de servicio IMAP
8, SVC_TCP - comprobación de disponibilidad de puerto TCP
9, SVC_AGENT - agente Zabbix
10, SVC_SNMPv1 - agente SNMPv1
11, SVC_SNMPv2 - agente SNMPv2
12, SVC_ICMPPING - ping ICMP
13, SVC_SNMPv3 - agente SNMPv3
14, SVC_HTTPS - comprobación de servicio HTTPS
15, SVC_TELNET - comprobación de disponibilidad Telnet
ip cadena Dirección IP del host.
dns cadena Nombre DNS del host.
port número (opcional) Número de puerto del servicio.
key_ cadena (opcional) Clave del elemento para comprobación de descubrimiento de tipo 9 SVC_AGENT
value cadena (opcional) Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.
status número (opcional) Estado del servicio:

0, DOBJECT_STATUS_UP - Servicio ARRIBA
1, DOBJECT_STATUS_DOWN - Servicio ABAJO
autoregistration array (opcional) Array de objetos de datos de autorregistro.
clock número Marca de tiempo de los datos de autorregistro.
host cadena Nombre del host.
ip cadena (opcional) Dirección IP del host.
dns cadena (opcional) Nombre DNS resuelto desde la dirección IP.
port cadena (opcional) Puerto del host.
host_metadata cadena (opcional) Metadatos del host enviados por el agente (basado en el parámetro de configuración del agente HostMetadata o HostMetadataItem).
tasks array (opcional) Array de tareas.
type número Tipo de tarea:

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado de comando remoto
status número Estado de ejecución del comando remoto:

0, ZBX_TM_REMOTE_COMMAND_COMPLETED - comando remoto completado correctamente
1, ZBX_TM_REMOTE_COMMAND_FAILED - comando remoto fallido
error cadena (opcional) Mensaje de error.
parent_taskid número ID de la tarea padre.
more número (opcional) 1 - hay más datos históricos para enviar
clock número (opcional) Marca de tiempo de transferencia de datos (segundos).
ns número (opcional) Marca de tiempo de transferencia de datos (nanosegundos).
version cadena Versión del proxy (<mayor>.<menor>.<compilación>).
servidor→proxy:
response cadena Información de éxito de la solicitud ('success' o 'failed').
upload cadena Control de carga para datos históricos (histórico, autorregistro, disponibilidad de host, descubrimiento de red).

Valores posibles:
enabled - operación normal
disabled - el servidor no acepta datos (posiblemente debido a que la caché interna ha superado el límite)
tasks array (opcional) Array de tareas.
type número Tipo de tarea:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comando remoto
clock número Hora de creación de la tarea.
ttl número Tiempo en segundos tras el cual la tarea expira.
commandtype número 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 (actualmente funcionalmente equivalente a script personalizado)
command cadena Comando remoto a ejecutar.
execute_on número Destino de ejecución para scripts personalizados:

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - ejecutar script en el agente
1, ZBX_SCRIPT_EXECUTE_ON_SERVER - ejecutar script en el servidor
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - ejecutar script en el proxy
port número (opcional) Puerto para comandos Telnet y SSH.
authtype número (opcional) Tipo de autenticación para comandos SSH.
username cadena (opcional) Nombre de usuario para comandos Telnet y SSH.
password cadena (opcional) Contraseña para comandos Telnet y SSH.
publickey cadena (opcional) Clave pública para comandos SSH.
privatekey cadena (opcional) Clave privada para comandos SSH.
parent_taskid número ID de la tarea padre.
hostid número ID del host de destino.

Ejemplo:

proxy→servidor:

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

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