Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
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 entre servidor y proxy

Descripción general

El intercambio de datos entre servidor y proxy se basa en el formato JSON.

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

Proxy pasivo

Solicitud de configuración

El servidor enviará primero una solicitud vacía de proxy config. Esta solicitud se envía cada ProxyConfigFrequency (segundos del 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 deben actualizarse.

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 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 vault (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 del equipo.
del_macro_hostids array Array de hostids con todas las macros eliminadas (opcional).
- number Identificador del equipo.
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": "8.0.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": "8.0.0"
       }
Solicitud de datos

La solicitud proxy data se utiliza para obtener la disponibilidad de interfaces de equipos, datos históricos, de descubrimiento y de autoregistro 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 interfaces.
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 de la métrica.
clock number Marca de tiempo del valor de la métrica (segundos).
ns number Marca de tiempo del valor de la métrica (nanosegundos).
value string (opcional) Valor de la métrica.
id number Identificador del valor (contador ascendente, único dentro de una sesión de datos).
timestamp number (opcional) Marca de tiempo de métricas de tipo log.
source string (opcional) Valor de origen de la métrica eventlog.
severity number (opcional) Valor de severidad de la métrica eventlog.
eventid number (opcional) Valor eventid de la métrica eventlog.
state string (opcional) Estado de la métrica:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize number (opcional) Último tamaño de log de métricas de tipo log.
mtime number (opcional) Hora de modificación de métricas 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 la regla de descubrimiento.
type number Tipo de comprobación de descubrimiento:

-1 datos de la 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 de la métrica 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 autoregistro.
clock number Marca de tiempo de los datos de autoregistro.
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 del agente HostMetadata o HostMetadataItem).
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 (<major>.<minor>.<build>).
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":"8.0.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 vault (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 del equipo.
del_macro_hostids array Array de hostids con todas las macros eliminadas (opcional).
- number Identificador del equipo.

Ejemplo:

proxy→servidor:

{
         "request": "proxy config",
         "host": "Zabbix proxy",
         "version":"8.0.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 la disponibilidad de interfaces de equipos, históricos, datos de descubrimiento y de autorregistro. Esta solicitud se envía cada DataSenderFrequency (parámetro de configuración del proxy) segundos. 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 string 'proxy data'
host string Nombre del proxy.
session string Token de sesión de datos.
interface availability array (opcional) Array de objetos de datos de disponibilidad de interfaces.
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 de la métrica.
clock number Marca de tiempo del valor de la métrica (segundos).
ns number Marca de tiempo del valor de la métrica (nanosegundos).
value string (opcional) Valor de la métrica.
id number Identificador de valor (contador ascendente, único dentro de una sesión de datos).
timestamp number (opcional) Marca de tiempo de métricas de tipo log.
source string (opcional) Valor de origen de la métrica eventlog.
severity number (opcional) Valor de severidad de la métrica eventlog.
eventid number (opcional) Valor eventid de la métrica eventlog.
state string (opcional) Estado de la métrica:
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize number (opcional) Último tamaño de log de métricas de tipo log.
mtime number (opcional) Hora de modificación de métricas 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 de la métrica 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
autoregistration 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 del agente HostMetadata o HostMetadataItem).
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 tarea padre.
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 (<major>.<minor>.<build>).
servidor→proxy:
response string Información de éxito de la solicitud ('success' o 'failed').
upload string Control de subida para datos históricos (histórico, autorregistro, disponibilidad de equipos, 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 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 tarea padre.
hostid number ID del equipo 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": "8.0.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
           }]
       }