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