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 de "configuración de proxy" vacía. Esta solicitud se envía cada ProxyConfigFrequency
(parámetro de configuración del servidor) segundos.
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: | ||||||
solicitud | cadena | 'configuración de proxy' | ||||
proxy→servidor: | ||||||
version | cadena | Versión de proxy (<principal>.<menor>.<compilación>). | ||||
session | cadena | Token de sesión de configuración de proxy. | ||||
config_revision | número | Revisión de la configuración del proxy. | ||||
servidor→proxy: | ||||||
full_sync | número | 1 - si se envían los datos de configuración completos; ausente - en caso contrario (opcional). | ||||
data | matriz | Objeto de datos de la tabla. Ausente si no se ha cambiado la configuración (opcional). | ||||
<tabla> | objeto | Uno o más objetos con datos <table> (opcional, dependiendo de los cambios). | ||||
fields | matriz | Matriz de nombres de campos. | ||||
- | cadena | Nombre del campo. | ||||
data | matriz | Conjunto de filas. | ||||
- | array | Conjunto de columnas. | ||||
- | string,number | Valor de columna con tipo según el tipo de columna en el esquema de la base de datos. | ||||
macro.secrets | objeto | Información de macro secreta, ausente si no hay cambios en las macros de la bóveda (opcional). | ||||
config_revision | número | Revisión de la caché de configuración: enviada con datos de configuración (opcional). | ||||
del_hostids | matriz | Matriz de hostids eliminados (opcional). | ||||
- | número | Identificador de equipo. | ||||
del_macro_hostids | matriz | Matriz de hostids con todas las macros eliminadas (opcional). | ||||
- | número | Identificador de equipo. | ||||
proxy→servidor: | ||||||
response | cadena | Solicite información de éxito ("éxito" o "fallido"). | ||||
version | cadena | Versión de proxy (<principal>.<menor>.<compilación>). |
Ejemplo:
servidor→proxy:
servidor→proxy:
proxy→servidor:
server→proxy:
{
"full_sync": 1,
"data": {
"hosts": {
"fields": ["hostid", "host", "status", "ipmi_authtype", "ipmi_privilege", "ipmi_username", "ipmi_password", "name", "tls_connect", "tls_accept", "tls_issuer", "tls_subject", "tls_psk_identity", "tls_psk"],
"data": [
[10084, "Zabbix server", 0, -1, 2, "", "", "Zabbix server", 1, 1, "", "", "", ""]
]
},
"interface": {
"fields": ["interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "available"],
"data": [
[1, 10084, 1, 1, 1, "127.0.0.1", "", "10053", 1]
]
},
"interface_snmp": {
"fields": ["interfaceid", "version", "bulk", "community", "securityname", "securitylevel", "authpassphrase", "privpassphrase", "authprotocol", "privprotocol", "contextname"],
"data": []
},
"host_inventory": {
"fields": ["hostid", "type", "type_full", "name", "alias", "os", "os_full", "os_short", "serialno_a", "serialno_b", "tag", "asset_tag", "macaddress_a", "macaddress_b", "hardware", "hardware_full", "software", "software_full", "software_app_a", "software_app_b", "software_app_c", "software_app_d", "software_app_e", "contact", "location", "location_lat", "location_lon", "notes", "chassis", "model", "hw_arch", "vendor", "contract_number", "installer_name", "deployment_status", "url_a", "url_b", "url_c", "host_networks", "host_netmask", "host_router", "oob_ip", "oob_netmask", "oob_router", "date_hw_purchase", "date_hw_install", "date_hw_expiry", "date_hw_decomm", "site_address_a", "site_address_b", "site_address_c", "site_city", "site_state", "site_country", "site_zip", "site_rack", "site_notes", "poc_1_name", "poc_1_email", "poc_1_phone_a", "poc_1_phone_b", "poc_1_cell", "poc_1_screen", "poc_1_notes", "poc_2_name", "poc_2_email", "poc_2_phone_a", "poc_2_phone_b", "poc_2_cell", "poc_2_screen", "poc_2_notes"],
"data": [
[10084, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "56.95387", "24.22067", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
]
},
"items": {
"fields": ["itemid", "type", "snmp_oid", "hostid", "key_", "delay", "history", "status", "value_type", "trapper_hosts", "logtimefmt", "params", "ipmi_sensor", "authtype", "username", "password", "publickey", "privatekey", "flags", "interfaceid", "inventory_link", "jmx_endpoint", "master_itemid", "timeout", "url", "query_fields", "posts", "status_codes", "follow_redirects", "post_type", "http_proxy", "headers", "retrieve_mode", "request_method", "output_format", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host", "allow_traps"],
"data": [
[44161, 7, "", 10084, "agent.hostmetadata", "10s", "90d", 0, 1, "", "", "", "", 0, "", "", "", "", 0, null, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0],
[44162, 0, "", 10084, "agent.ping", "10s", "90d", 0, 3, "", "", "", "", 0, "", "", "", "", 0, 1, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0]
]
},
"item_rtdata": {
"fields": ["itemid", "lastlogsize", "mtime"],
"data": [
[44161, 0, 0],
[44162, 0, 0]
]
},
"item_preproc": {
"fields": ["item_preprocid", "itemid", "step", "type", "params", "error_handler", "error_handler_params"],
"data": []
},
"item_parameter": {
"fields": ["item_parameterid", "itemid", "name", "value"],
"data": []
},
"globalmacro": {
"fields": ["globalmacroid", "macro", "value", "type"],
"data": [
[2, "{$SNMP_COMMUNITY}", "public", 0]
]
},
"hosts_templates": {
"fields": ["hosttemplateid", "hostid", "templateid", "link_type"],
"data": []
},
"hostmacro": {
"fields": ["hostmacroid", "hostid", "macro", "value", "type", "automatic"],
"data": [
[5676, 10084, "{$M}", "AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content", 2, 0]
]
},
"drules": {
"fields": ["druleid", "name", "iprange", "delay"],
"data": [
[2, "Local network", "127.0.0.1", "10s"]
]
},
"dchecks": {
"fields": ["dcheckid", "druleid", "type", "key_", "snmp_community", "ports", "snmpv3_securityname", "snmpv3_securitylevel", "snmpv3_authpassphrase", "snmpv3_privpassphrase", "uniq", "snmpv3_authprotocol", "snmpv3_privprotocol", "snmpv3_contextname", "host_source", "name_source"],
"data": [
[2, 2, 9, "system.uname", "", "10052", "", 0, "", "", 0, 0, 0, "", 1, 0]
]
},
"regexps": {
"fields": ["regexpid", "name"],
"data": [
[1, "File systems for discovery"],
[2, "Network interfaces for discovery"],
[3, "Storage devices for SNMP discovery"],
[4, "Windows service names for discovery"],
[5, "Windows service startup states for discovery"]
]
},
"expressions": {
"fields": ["expressionid", "regexpid", "expression", "expression_type", "exp_delimiter", "case_sensitive"],
"data": [
[1, 1, "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", 3, ",", 0],
[3, 3, "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$", 4, ",", 1],
[5, 4, "^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$", 4, ",", 1],
[6, 5, "^(automatic|automatic delayed)$", 3, ",", 1],
[7, 2, "^Software Loopback Interface", 4, ",", 1],
[8, 2, "^(In)?[Ll]oop[Bb]ack[0-9._]*$", 4, ",", 1],
[9, 2, "^NULL[0-9.]*$", 4, ",", 1],
[10, 2, "^[Ll]o[0-9.]*$", 4, ",", 1],
[11, 2, "^[Ss]ystem$", 4, ",", 1],
[12, 2, "^Nu[0-9.]*$", 4, ",", 1]
]
},
"config": {
"fields": ["configid", "snmptrap_logging", "hk_history_global", "hk_history", "autoreg_tls_accept"],
"data": [
[1, 1, 0, "90d", 1]
]
},
"httptest": {
"fields": ["httptestid", "name", "delay", "agent", "authentication", "http_user", "http_password", "hostid", "http_proxy", "retries", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host"],
"data": []
},
"httptestitem": {
"fields": ["httptestitemid", "httptestid", "itemid", "type"],
"data": []
},
"httptest_field": {
"fields": ["httptest_fieldid", "httptestid", "type", "name", "value"],
"data": []
},
"httpstep": {
"fields": ["httpstepid", "httptestid", "name", "no", "url", "timeout", "posts", "required", "status_codes", "follow_redirects", "retrieve_mode", "post_type"],
"data": []
},
"httpstepitem": {
"fields": ["httpstepitemid", "httpstepid", "itemid", "type"],
"data": []
},
"httpstep_field": {
"fields": ["httpstep_fieldid", "httpstepid", "type", "name", "value"],
"data": []
},
"config_autoreg_tls": {
"fields": ["autoreg_tlsid", "tls_psk_identity", "tls_psk"],
"data": [
[1, "", ""]
]
}
},
"macro.secrets": {
"AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix": {
"Content": "738"
}
},
"config_revision": 2
}
proxy→server:
La solicitud de "datos de proxy" se utiliza para obtener la disponibilidad de la interfaz del equipo, los datos históricos, de descubrimiento y de autoregistro desde el proxy. Esta petición se envía cada ProxyDataFrequency
segundos (parámetro de configuración del servidor).
nombre | tipo de valor | descripción | |
---|---|---|---|
servidor→proxy: | |||
request | cadena | 'datos de proxy' | |
proxy→servidor: | |||
session | cadena | Token de sesión de datos. | |
interface availability | matriz | (opcional) Matriz de objetos de datos de disponibilidad de interfaz. | |
interfaceid | número | Identificador de interfaz. | |
available | número | Disponibilidad de interfaz: 0, INTERFACE_AVAILABLE_UNKNOWN - desconocido 1, INTERFACE_AVAILABLE _TRUE - disponible 2, INTERFACE_AVAILABLE_FALSE - no disponible |
|
error | cadena | Mensaje de error de interfaz o cadena vacía. | |
history data | matriz | (opcional) Matriz de objetos de datos históricos. | |
itemid | número | Identificador de la métrica. | |
clock | número | Marca de tiempo del valor de la métrica (segundos). | |
ns | número | Marca de tiempo del valor de la métrica (nanosegundos). | |
value | cadena | (opcional) Valor de la métrica. | |
id | número | Identificador de valor (contador ascendente, único dentro de una sesión de datos). | |
timestamp | número | (opcional) Marca de tiempo de las métricas de tipo de registro. | |
source | cadena | (opcional) Valor de origen de la métrica de registro de eventos. | |
severity | número | (opcional) Valor de gravedad de la métrica del registro de eventos. | |
eventid | número | (opcional) Valor de eventid de la métrica de registro de eventos. | |
state | cadena | (opcional) Estado de la métrica: 0, ITEM_STATE_NORMAL 1, ITEM_STATE _NOTSUPPORTED |
|
lastlogsize | number | (opcional) Último tamaño de registro de las métricas del tipo de registro. | |
mtime | number | (opcional) Hora de modificación de las métricas del tipo de registro. | |
discovery data | matriz | (opcional) Matriz de objetos de datos de descubrimiento. | |
clock | número | Marca de tiempo de datos de descubrimiento. | |
druleid | número | Identificador de regla de descubrimiento. | |
dcheckid | number | Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento. | |
type | número | Tipo de verificación de descubrimiento: -1 datos de regla de descubrimiento 0, SVC_SSH - Verificación del servicio SSH 1, SVC_LDAP - Verificación del servicio LDAP 2, SVC_SMTP - Verificación del servicio SMTP 3, SVC_FTP - Verificación del servicio FTP 4, SVC_HTTP - Verificación del servicio HTTP 5, SVC_POP - Verificación del servicio POP 6, * SVC_NNTP* - Verificación del servicio NNTP 7, SVC_IMAP - Verificación del servicio IMAP 8, SVC_TCP - Verificación de disponibilidad del 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 - Verificación del servicio HTTPS<br >15**, SVC_TELNET - Verificación de disponibilidad de Telnet |
|
ip | cadena | Dirección IP del equipo. | |
dns | cadena | Nombre DNS del equipo. | |
port | número | (opcional) Número de puerto de servicio. | |
key_ | string | (opcional) Clave de elemento para verificació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 |
|
auto registration | matriz | (opcional) Matriz de objetos de datos de registro automático. | |
clock | número | Marca de tiempo de datos de registro automático. | |
host | cadena | Nombre de equipo. | |
ip | cadena | (opcional) Dirección IP del equipo. | |
dns | cadena | (opcional) Nombre DNS resuelto desde la dirección IP. | |
port | cadena | (opcional) Puerto del equipo. | |
host_metadata | cadena | (opcional) Metadatos del equipo enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem). | |
tasks | matriz | (opcional) Matriz de tareas. | |
type | número | Tipo de tarea: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado del comando remoto |
|
status | number | Estado de ejecución del comando remoto: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - el comando remoto se completó correctamente 1, ZBX_TM_REMOTE_COMMAND_FAILED - error del comando remoto |
|
error | cadena | (opcional) Mensaje de error. | |
parent_taskid | number | ID de tarea principal. | |
more | número | (opcional) 1 - hay más datos del historial 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 de proxy (<principal>.<menor>.<compilación>). | |
servidor→proxy: | |||
response | cadena | Solicitud de información de éxito ('éxito' o 'fallido'). | |
tasks | matriz | (opcional) Matriz 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 después del cual caduca la tarea. | |
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 un script personalizado) |
|
command | cadena | Comando remoto para ejecutar. | |
execute_on | number | Destino de ejecución para scripts personalizados: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - ejecutar script en el agente< br>1, ZBX_SCRIPT_EXECUTE_ON_SERVER - ejecutar script en el servidor 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - ejecutar script en proxy |
|
port | número | (opcional) Puerto para comandos Telnet y SSH. | |
authtype | number | (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 | string | (opcional) Clave privada para comandos SSH. | |
parent_taskid | number | ID de tarea principal. | |
hostid | número | 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":"6.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
segundos (parámetro de configuración del proxy).
nombre | tipo de valor | descripción | ||||
---|---|---|---|---|---|---|
proxy→servidor: | ||||||
request | cadena | 'proxy config' | ||||
host | cadena |
Nombre del proxy. | ||||
version | cadena | Versión de proxy (<principal>.<menor>.<compilación>). | ||||
session | cadena | Token de sesión de configuración de proxy. | ||||
config_revision | número | Revisión de la configuración del proxy. | ||||
servidor→proxy: | ||||||
fullsync | número | 1 - si se envían los datos de configuración completos, ausente en caso contrario (opcional). | ||||
data | matriz | Objeto de datos de la tabla. Ausente si no se ha cambiado la configuración (opcional). | ||||
<table> | objeto | Uno o más objetos con datos <table> (opcional, dependiendo de los cambios). | ||||
fields | matriz | Matriz de nombres de campos. | ||||
- | string | Nombre del campo. | ||||
data | matriz | Conjunto de filas. | ||||
- | array | Conjunto de columnas. | ||||
- | string,number | Valor de columna con tipo según el tipo de columna en el esquema de la base de datos. | ||||
macro.secrets | objeto | Información de macro secreta, ausente si no hay cambios en las macros de almacén (opcional). | ||||
config_revision | número | Revisión de la caché de configuración: enviada con datos de configuración (opcional). | ||||
del_hostids | matriz | Matriz de hostids eliminados (opcional). | ||||
- | number | Identificador de equipo. | ||||
del_macro_hostids | matriz | Matriz de hostids con todas las macros eliminadas (opcional). | ||||
- | number | Identificador de equipo. |
Ejemplo:
proxy→servidor:
{
"request": "proxy config",
"host": "Zabbix proxy",
"version":"6.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]
]
},
"config": {
"fields": ["configid", "snmptrap_logging", "hk_history_global", "hk_history", "autoreg_tls_accept"],
"data": [
[1, 1, 0, "90d", 1]
]
},
"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 de "datos de proxy" se envía por el proxy para proporcionar datos de disponibilidad, historial, descubrimiento y registro automático de la interfaz del equipo. Esta solicitud se envía cada segundos de DataSenderFrequency
(parámetro de configuración de proxy). Tenga en cuenta que el proxy activo seguirá sondeando el servidor Zabbix cada segundo en busca de tareas de comando remotas (con una solicitud de "datos de proxy" vacía).
nombre | tipo de valor | descripción | |
---|---|---|---|
proxy→servidor: | |||
request | cadena | 'datos de proxy' | |
host | cadena | Nombre de proxy. | |
session | cadena | Token de sesión de datos. | |
interface availability | matriz | (opcional) Matriz de objetos de datos de disponibilidad de interfaz. | |
interfaceid | número | Identificador de interfaz. | |
available | número | Disponibilidad de interfaz: 0, INTERFACE_AVAILABLE_UNKNOWN - desconocido 1, INTERFACE_AVAILABLE _TRUE - disponible 2, INTERFACE_AVAILABLE_FALSE - no disponible |
|
error | cadena | Mensaje de error de interfaz o cadena vacía. | |
history data | matriz | (opcional) Matriz de objetos de datos históricos. | |
itemid | número | Identificador de métrica. | |
clock | número | Marca de tiempo del valor de la métrica (segundos). | |
ns | número | Marca de tiempo del valor de la métrica (nanosegundos). | |
value | cadena | (opcional) Valor del artículo. | |
id | número | Identificador de valor (contador ascendente, único dentro de una sesión de datos). | |
timestamp | número | (opcional) Marca de tiempo de los elementos de tipo de registro. | |
source | cadena | (opcional) Valor de origen del elemento de registro de eventos. | |
severity | número | (opcional) Valor de gravedad del elemento del registro de eventos. | |
eventid | número | (opcional) Valor de eventid del elemento de registro de eventos. | |
state | cadena | (opcional) Estado del artículo: 0, ITEM_STATE_NORMAL 1, ITEM_STATE _NOTSAPPORTADO |
|
lastlogsize | number | (opcional) Último tamaño de registro de los elementos del tipo de registro. | |
mtime | number | (opcional) Hora de modificación de los elementos del tipo de registro. | |
discovery data | matriz | (opcional) Matriz de objetos de datos de descubrimiento. | |
clock | número | Marca de tiempo de datos de descubrimiento. | |
druleid | número | Identificador de regla de descubrimiento. | |
dcheckid | number | Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento. | |
type | número | Tipo de verificación de descubrimiento: -1 datos de regla de descubrimiento 0, SVC_SSH - Verificación del servicio SSH 1, SVC_LDAP - Verificación del servicio LDAP 2, SVC_SMTP - Verificación del servicio SMTP 3, SVC_FTP - Verificación del servicio FTP 4, SVC_HTTP - Verificación del servicio HTTP 5, SVC_POP - Verificación del servicio POP 6, * SVC_NNTP* - Verificación del servicio NNTP 7, SVC_IMAP - Verificación del servicio IMAP 8, SVC_TCP - Verificación de disponibilidad del 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 - Verificación del servicio HTTPS<br >15**, SVC_TELNET - Verificación de disponibilidad de Telnet |
|
ip | cadena | Dirección IP del host. | |
dns | cadena | Nombre DNS del host. | |
port | número | (opcional) Número de puerto de servicio. | |
key_ | string | (opcional) Clave de elemento para verificació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 | matriz | (opcional) Matriz de objetos de datos de autoregistro. | |
clock | número | Marca de tiempo de datos de registro automático. | |
host | cadena | Nombre de host. | |
ip | cadena | (opcional) Dirección IP del host. | |
dns | cadena | (opcional) Nombre DNS resuelto desde la dirección IP. | |
port | cadena | (opcional) Puerto de host. | |
host_metadata | cadena | (opcional) Metadatos del host enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem). | |
tasks | matriz | (opcional) Matriz de tareas. | |
type | número | Tipo de tarea: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultado del comando remoto |
|
status | number | Estado de ejecución del comando remoto: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - el comando remoto se completó correctamente 1, ZBX_TM_REMOTE_COMMAND_FAILED - error del comando remoto |
|
error | cadena | (opcional) Mensaje de error. | |
parent_taskid | number | ID de tarea principal. | |
more | número | (opcional) 1 - hay más datos del historial 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 de proxy (<principal>.<menor>.<compilación>). | |
servidor→proxy: | |||
response | cadena | Solicitud de información de éxito ('éxito' o 'fallido'). | |
upload | string | Control de carga para datos históricos (historial, registro automático, disponibilidad de host, descubrimiento de red). Valores posibles: enabled - funcionamiento normal deshabilitado: el servidor no acepta datos (posiblemente debido a que el caché interno excede el límite) |
|
tasks | matriz | (opcional) Matriz 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 después del cual caduca la tarea. | |
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 un script personalizado) |
|
command | cadena | Comando remoto para ejecutar. | |
execute_on | number | Destino de ejecución para scripts personalizados: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - ejecutar script en el agente< br>1, ZBX_SCRIPT_EXECUTE_ON_SERVER - ejecutar script en el servidor 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - ejecutar script en proxy |
|
port | número | (opcional) Puerto para comandos Telnet y SSH. | |
authtype | number | (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 | string | (opcional) Clave privada para comandos SSH. | |
parent_taskid | number | ID de tarea principal. | |
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": "6.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
}]
}