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