1 Protocol de bescanvi de dades servidor-proxy

Vista general

El bescanvi de dades servidor - proxy es basa en el format JSON.

Els missatges de petició de resposta han de començar amb una capçalera i longitud de les dades.

Proxy passiu

Petició de configuració del proxy

La petició proxy config s'envia per el servidor per proveir les dades de configuració del proxy. Aquesta petició s'envia cada ProxyConfigFrequency (paràmetre de configuració del servidor) segons.

El proxy respon amb la versió actual del proxy, el testimoni de sessió i la revisió de la configuració. El servidor respon amb les dades de configuració que cal actualitzar.

nom < < < tipus de valor descripció
server→proxy: < < < < <
request < < < string 'proxy config'
< < < < < <
proxy→server: < < < < < <
version < < < < string Versió del proxy (<major>.<minor>.<build>).
session < < < < string Token de sessió de configuració del proxy.
config_revision < < < < number Revisió de la configuració del proxy.
< < < < < <
server→proxy: < < < < < <
full_sync < < < < number 1 - si s'ha enviat tota la ínformació de configuració; absent - altrament (opcional).
data < < < < array Objecte de dades de la taula. Absent si no s'ha canviat la configuració (opcional).
<table> < < < object Un o més objectes amb dades de la <taula> (opcional, depenent dels canvis).
fields < < array Matriu de noms de camps.
^ - < string Nom del camp.
^ data < < array Matriu de fileres.
^ - < array Matriu de columnes.
^ ^ - string,number Valor de columna amb tipus en funció del tipus de columna a l'esquema de la base de dades.
< < < < < <
macro.secrets < < < < object Informació de la macro de secrets; absent si no hi ha canvis a les macros vault (opcional).
config_revision < < < < number Revisió de la configuració de la cau - enviat amb dades de la configuració (opcional).
del_hostids < < < < array Matriu els hostids esborrats (opcional).
- < < < number Identificador de l'equip.
del_macro_hostids < < < < array Matriu de hostids amb totes les macros esborrades (opcional).
- < < < number Identificador d'equip.
< < < < < <
proxy→server: < < < < <
response < < < string Petició d'informació ('èxit' o 'error').
version < < < string Versió del proxy (<major>.<minor>.<build>).

Exemple:

server→proxy:

{
  "request":"proxy config"
} 

proxy→server:

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

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:

{
  "response": "success",
  "version": "7.0.0"
}
Petició del proxy

La petició de proxy data s'empra per obtindre dades de disponibilitat de la interfície d'equip, dades històriques, de descobriment i registre automàtic del proxy. Aquesta petició s'envia cada ProxyDataFrequency segons (paràmetre de configuració del servidor).

nom tipus de valor descripció
server→proxy:
sol·licitud string 'informació del proxy'
proxy→server:
session string Fitxa de sessió de dades.
interface availability array (opcional) Matriu d'objectes de dades de disponibilitat de la interfície.
interfaceid number Identificador de la interfície.
available number Disponibilitat de la interfície:

0, INTERFACE_AVAILABLE\UNKNOWN - desconegut
1, INTERFACE_AVAILABLE _TRUE - disponible
2, INTERFACE_AVAILABLE_FALSE - no disponible
error string Missatge d'error de la interfície o cadena buida.
history data array (opcional) Matriu d'objectes de dades de l'historial.
itemid number Identificador de l'element.
clock number Marca de temps del valor de l'element (segons).
ns number Marca de temps del valor de l'element (nanosegons).
value string (opcional) Valor de l'element.
id number Identificador del valor (comptador ascendent, únic en una sessió de dades).
timestamp number (opcional) Marca de temps dels elements del tipus de registre.
source string (opcional) Valor font de l'element del registre d'esdeveniments.
severity number (opcional) Valor de gravetat de l'element del registre d'esdeveniments.
eventid number (opcional) Valor d'event de l'element del registre d'esdeveniments.
status string (opcional) Estat de l'element:
0, ITEM_STATE_NORMAL
1, ITEM_STATE _NO SUPORT
lastlogsize number (opcional) Mida del darrer registre dels elements del tipus de registre.
mtime number (opcional) Hora de modificació dels elements del tipus de registre.
discovery data array (opcional) Matriu d'objectes de dades de descoberta.
clock number Marca de temps de les dades de descoberta.
druleid number Identificador de la regla de descoberta.
dcheckid number Identificador de comprovació de descoberta o res per a les dades de la regla de descoberta.
type number Tipus de comprovació de descoberta:

-1 dades de la regla de descoberta
0, SVC_SSH - Comprovació del servei SSH
1, SVC_LDAP - Comprovació del servei LDAP
2, SVC_SMTP - Comprovació del servei SMTP
3, SVC_FTP - Comprovació del servei FTP
4, SVC_HTTP - Comprovació del servei HTTP
5, SVC_POP - Comprovació del servei POP
6, SVC_NNTP - Comprovació del servei NNTP
7, SVC_IMAP - Comprovació del servei IMAP
8, SVC_TCP - Comprovació de la disponibilitat del port TCP
9, SVC_AGENT - agent Zabbix
10, SVC_SNMPv1 - agent SNMPv1
11, SVC_SNMPv2 - agent SNMPv2
12, SVC_ICMPPING - Ping ICMP
13, SVC_SNMPv3 - Agent SNMPv3
14, SVC_HTTPS - Comprovació del servei HTTPS<br >15*, SVC_TELNET* - Comprovació de disponibilitat de Telnet
ip string Adreça IP de l'equip.
dns string Nom DNS de l'equip.
port number (opcional) Nombre de port de servei.
key_ string (opcional) Clau d'element per a la comprovació de descoberta de tipus 9 SVC_AGENT
value string (opcional) Valor rebut del servei, pot estar buit per a la majoria de serveis.
status number (opcional) Estat del servei:

0, DOBJECT_STATUS_UP - Servei UP
*1 , DOBJECT_STATUS_DOWN* - Servei DOWN
auto registration array (opcional) Matriu d'objectes de dades de registre automàtic.
clock number Marca de temps de dades de registre automàtic.
host string Nom de l'equip.
ip string (opcional) Adreça IP de l'equip.
dns string (opcional) S'ha resolt el nom DNS des de l'adreça IP.
port string (opcional) Port de l'equip.
host_metadata string (opcional) Metadades de l'equip enviades per l'agent (basades en el paràmetre de configuració de l'agent HostMetadata o HostMetadataItem).
tasks array (opcional) Matriu de tasques.
type number Tipus de tasca:

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultat de la comanda remota
status number Estat d'execució de l'ordre remota:

0, ZBX_TM_REMOTE_COMMAND_COMPLETED: l'ordre remota s'ha completat correctament
1, ZBX_TM_REMOTE_COMMAND_FAILED - l'ordre remota ha fallat
error string (opcional) Missatge d'error.
parent_taskid number ID de la tasca principal.
more number (opcional) 1 - hi ha més dades de l'historial per enviar.
clock number (opcional) Marca de temps de transferència de dades (segons).
ns number (opcional) Marca de temps de transferència de dades (nanosegons).
version string Versió del proxy (<major>.<menor>.<build>).
server→proxy:
response string Demanar informació sobre l'èxit ('èxit' o 'error').
tasks array (opcional) Matriu de tasques.
type number Tipus de tasca:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comanda remota
clock number Hora de creació de la tasca.
ttl number Temps en segons després del qual caduca la tasca.
commandtype number Tipus de comanda remota:

0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT: empreu un script personalitzat
1, ZBX_SCRIPT_TYPE_IPMI - emprar IPMI
2, ZBX_SCRIPT_TYPE_SSH - emprar SSH
3, ZBX_SCRIPT _TYPE_TELNET: empra Telnet
4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT: empra un script lobal (actualment equivalent funcionalment a script personalitzat)
command string Ordre remota per executar.
execute_on number Destí d'execució per a scripts personalitzats:

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - executa l'script a l'agent< br>1, ZBX_SCRIPT_EXECUTE_ON_SERVER - executa l'script al servidor
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - executa l'script al proxy
port number (opcional) Port per a ordres Telnet i SSH.
authtype number (opcional) Tipus d'autenticació per a ordres SSH.
username string (opcional) Nom d'usuari per a ordres Telnet i SSH.
password string (opcional) Mot de pas per a ordres Telnet i SSH.
publickey string (opcional) Clau pública per a ordres SSH.
privatekey string (opcional) Clau privada per a ordres SSH.
parent_taskid number ID de la tasca principal.
hostid number ID de l'equip objectiu.

Exemple:

server→proxy:

{
  "request": "proxy data"
}

proxy→server:

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

server→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
      }
  ]
}
Tasks request

The proxy tasks exchange handles delivery and acknowledgement of remote command tasks between the server and a passive proxy. When the server polls the proxy for task results, it sends an empty proxy tasks request at the interval defined by ProxyDataFrequency. The proxy responds with its current version and any pending task results (including timestamps). The server then acknowledges receipt by returning a response and may include new tasks for the proxy to execute.

name value type description
server→proxy:
request string 'proxy tasks'
proxy→server:
version string Proxy version (<major>.<minor>.<build>).
clock number (optional) Data transfer timestamp (seconds).
ns number (optional) Data transfer timestamp (nanoseconds).
server→proxy:
response string Request success information ('success' or 'failed').

Example:

server→proxy:

{
  "request":"proxy tasks"
}

proxy→server:

{
  "version":"7.0.0",
  "clock":1721059872,
  "ns":848141522
}

server→proxy:

{
  "response":"success"
}

Proxy actiu

Petició de configuració proxy

La petició proxy config és enviada per el proxy per obtindre les dades de configuració del proxy. Aquesta petició s'envia cada ConfigFrequency segons (paràmetre de configuració del proxy).

nom < < < tipus de valor descripció
proxy→server: < < < < <
request < < < string 'proxy config'
host < < < string Nom del proxy.
version < < < string Versió del proxy (<major>.<menor>.<build>).
session < < < < string Token de sessió de la configuració del proxy.
config_revision < < < < number Revisió de la configuració del proxy.
< < < < < <
server→proxy: < < < < <
fullsync < < < < number 1 - si s'envia informació de tota la configuració, absent altrament (opcional).
data < < < < array Objecte d'informació de taula. Absent si la configuració no s'ha canviat (opcional).
<table> < < < object Un o diversos objectes amb les dades <taula> (opcional, depenent dels canvis).
^ fields < < array Taula de noms dels camps.
^ ^ - < string Nom del camp.
^ ^ data < < array Taula de línies.
^ ^ - < array Taula de columnes.
^ ^ ^ - string,number Valor de columna d'on depèn el tipus del tipus de columna a l'esquema de la base de dades.
< < < < < <
macro.secrets < < < < object Informació de la macro secreta, absent si no hi ha canvis a les macros de vault (opcional).
config_revision < < < < number Revisió de la configuració de la cau - enviat amb dades de configuració (opcional).
del_hostids < < < < array Matriu amb els hostids esborrats (opcional).
- < < < number Identificador d'equip.
del_macro_hostids < < < < array Matriu de hostids amb totes les macros esborrades (opcional).
- < < < number Identificador d'equip.

Exemple:

proxy→server:

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

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
}
Petició de dades del proxy

Les peticions proxy data s'envien per el proxy per proporcionar dades de disponibilitat, històric, descoberta i autoregistre de la interfície de l'equip. Aquesta patició s'envia cada DataSenderFrequency segons (paràmetre de configuració del proxy). Veieu que el proxy actiu anirà informant al servidor Zabbix cada segon de tasques de comandes remotes (amb una petició proxy data buida).

nom tipus de valor descripció
proxy→server:
request string 'proxy data'
host string Nom del proxy.
session string Fitxa de sessió de dades.
interface availability array (opcional) Matriu d'objectes de dades de disponibilitat de la interfície.
interfaceid number Identificador de la interfície.
available number Disponibilitat de la interfície:

0, INTERFACE_AVAILABLE_UNKNOWN - desconegut
1, INTERFACE_AVAILABLE _TRUE - disponible
2, INTERFACE_AVAILABLE_FALSE - no disponible
error string Missatge d'error de la interfície o cadena buida.
history data array (opcional) Matriu d'objectes de dades de l'historial.
itemid number Identificador de l'element.
clock number Marca de temps del valor de l'element (segons).
ns number Marca de temps del valor de l'element (nanosegons).
value string (opcional) Valor de l'element.
id number Identificador del valor (comptador ascendent, únic en una sessió de dades).
timestamp number (opcional) Marca de temps dels elements del tipus de registre.
source string (opcional) Valor font de l'element del registre d'esdeveniments.
severity number (opcional) Valor de gravetat de l'element del registre d'esdeveniments.
eventid number (opcional) Valor d'event de l'element del registre d'esdeveniments.
status string (opcional) Estat de l'element:
0, ITEM_STATE_NORMAL
1, ITEM_STATE _NO SUPORT
lastlogsize number (opcional) Mida del darrer registre dels elements del tipus de registre.
mtime number (opcional) Hora de modificació dels elements del tipus de registre.
discovery data array (opcional) Matriu d'objectes de dades de descoberta.
clock number Marca de temps de les dades de descoberta.
druleid number Identificador de la regla de descoberta.
dcheckid number Identificador de comprovació de descoberta o nul per a les dades de la regla de descoberta.
type number Tipus de comprovació de descoberta:

-1 dades de la regla de descoberta
0, SVC_SSH - Comprovació del servei SSH
1, SVC_LDAP - Comprovació del servei LDAP
2, SVC_SMTP - Comprovació del servei SMTP
3, SVC_FTP - Comprovació del servei FTP
4, SVC_HTTP - Comprovació del servei HTTP
5, SVC_POP - Comprovació del servei POP
6, SVC_NNTP - Comprovació del servei NNTP
7, SVC_IMAP - Comprovació del servei IMAP
8, SVC_TCP - Comprovació de la disponibilitat del port TCP
9, SVC_AGENT - agent Zabbix
10, SVC_SNMPv1 - agent SNMPv1
11, SVC_SNMPv2 - agent SNMPv2
12, SVC_ICMPPING - Ping ICMP
13, SVC_SNMPv3 - Agent SNMPv3
14, SVC_HTTPS - Comprovació del servei HTTPS<br >15*, SVC_TELNET* - Comprovació de disponibilitat de Telnet
ip string Adreça IP de l'equip.
dns string Nom DNS de l'equip.
port number (opcional) Número de port de servei.
key_ string (opcional) Clau d'element per a la comprovació de descoberta de tipus 9 SVC_AGENT
value string (opcional) Valor rebut del servei, pot estar buit per a la majoria de serveis.
status number (opcional) Estat del servei:

0, DOBJECT_STATUS_UP - Servei UP
*1 , DOBJECT_STATUS_DOWN* - Servei DOWN
autoregistration array (opcional) Matriu d'objectes de dades d'autoregistre.
clock number Marca de temps de dades de registre automàtic.
host string Nom de l'equip.
ip string (opcional) Adreça IP de l'equip.
dns string (opcional) S'ha resolt el nom DNS des de l'adreça IP.
port string (opcional) Port equip.
host_metadata string (opcional) Metadades de l'equip enviades per l'agent (segons el paràmetre de configuració de l'agent HostMetadata o HostMetadataItem).
tasks array (opcional) Matriu de tasques.
type number Tipus de tasca:

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - resultat de la comanda remota
status number Estat d'execució de l'ordre remot:

0, ZBX_TM_REMOTE_COMMAND_COMPLETED: l'ordre remota s'ha completat correctament
1, ZBX_TM_REMOTE_COMMAND_FAILED - l'ordre remota ha fallat
error string (opcional) Missatge d'error.
parent_taskid number ID de la tasca principal.
more number (opcional) 1 - hi ha més dades de l'historial per enviar.
clock number (opcional) Marca de temps de transferència de dades (segons).
ns number (opcional) Marca de temps de transferència de dades (nanosegons).
version string Versió del proxy (<major>.<menor>.<build>).
servidor→proxy:
response string Demanar informació sobre l'èxit ('èxit' o 'error').
upload string Control de càrrega de dades històriques (historial, registre automàtic, disponibilitat de l'equip, descoberta de xarxa).

Valors possibles:
activat - funcionament normal
desactivat: el servidor no admet dades (possiblement a causa del límit de la memòria cau interna)
tasks array (opcional) Matriu de tasques.
type number Tipus de tasca:

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - comanda remota
clock number Hora de creació de la tasca.
ttl number Temps en segons després del qual caduca la tasca.
commandtype number Tipus de comanda remota:

0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT: utilitzeu un script personalitzat
1, ZBX_SCRIPT_TIP_IPMI: utilitza IPMI
2, ZBX_SCRIPT_TYPE_SSH: utilitza SSH
3, ZBX_SCRIPT_TYPE_TELNET: utilitza Telnet
4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - utilitza script global (actualment equival a un script personalitzat)
ordre string Ordre remota per executar.
execute_on number Destí d'execució per a scripts personalitzats:

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - executa l'script a l'agent< br>1, ZBX_SCRIPT_EXECUTE_ON_SERVER - executa l'script al servidor
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - executa l'script al proxy
port number (opcional) Port per a ordres Telnet i SSH.
authtype number (opcional) Tipus d'autenticació per a ordres SSH.
username string (opcional) Nom d'usuari per a ordres Telnet i SSH.
password string (opcional) Mot de pas per a ordres Telnet i SSH.
publickey string (opcional) Clau pública per a ordres SSH.
privatekey string (opcional) Clau privada per a ordres SSH.
parent_taskid number ID de la tasca principal.
hostid number ID de l'equip objectiu.

Exemple:

proxy→server:

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

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