4 Protocol del plug-in agent Zabbix 2

El protocol de l'agent Zabbix 2 es basa sobre el codi, mida i model de dades.

Codi

Tipus Mida Comentaris
Octet 4 Tipus de càrrega útil, actualment només s'admet JSON.

Mida

Tipus Mida Comentaris
Byte 4 Mida de la càrrega actual, en octets.

Dades de la carga útil

Tipus Mida Comentaris
Byte Definit per el camp Size Dades en format JSON.
Definició de dades de càrrega útil
Dades comunes

Aquest paràmetres són presents a totes les peticions/respostes:

Nom Tipus Comentaris
id uint32 Per a les peticions - l'identificador incremental emprat per enllaçar les peticions amb les respostes. Únic dins d'una direcció de petició (és a dir, d'agent a connector o de connector a agent).
Per a les respostes - ID de la petició corresponent.
type uint32 El tipus de petició.
Petició de registre

Petició enviada per un plug-in per escriure un missatge de registre a l'arxiu registre de l'agent.

direction plugin → agent
response no

Paràmetres específics de les peticions de registre:

Nom Tipus Comentaris
severity uint32 La gravetat del missatge (nivell de registre).
message string El missatge a registrar.

Exemple:

{"id":0,"type":1,"severity":3,"message":"message"}
Petició d'enregistrament

Petició enviada per l'agent durant la fase d'inici de l'agent per obtindre les mètriques proveïdes per enregistrar un plugin.

direction agent → plugin
response yes

Paràmetres específics de les peticions d'enregistrament:

Nom Tipus Comentaris
version string La versió del protocol <major>.<minor>

Exemple:

{"id":1,"type":2,"version":"1.0"}
Resposta d'enregistrament

resposta del plug-in a la petició d'enregistrament.

direction plugin → agent
réponse n/a

Paràmetres específics de les respostes d'enregistraments:

Nom Tipus Comentaris
name string El nom del plug-in.
metrics array of strings (optional) Les mètriques amb les descripcions com s'empren al plug-in. Retorna RegisterMetrics(). Absent si es retorna un error.
interfaces uint32 (optional) La màscara binària de les interfícies admeses per el plug-in. Absent si es retorna un error.
error string (optional) Retorna un missatge d'error si no es pot engegar un plug-in. Absent si les mètriques són retornades.

Exemples:

{"id":2,"type":3,"metrics":["external.test", "Test de l'exportateur externe."], "interfaces": 4}

ou

{"id":2,"type":3,"error":"message d'erreur"}
Petició d'engegada

Una petició d'execució de la funció Start de la interfície Runner.

direction agent → plugin
réponse non

La petició no té cap paràmetre específic, tret dels de dades comunes.

Exemple:

{"id":3,"type":4}
Petició d'aturada

Una petició enviada per l'agent per aturar un plug-in.

direction agent → plugin
response no

La petició no té pas cap paràmetre específic, tret dels de dades comunes.

Exemple:

{"id":3,"type":5}
Petició d'exportació

Una petició d'execució de la funció Export de l'interfície Exporter.

direction agent → plugin
response no

Paràmetres específics de les peticions d'exportació:

Nom Tipus Comentaris
key string La clau del plug-in.
parameters array of strings (opcional) Els paràmetres de la funció Export.

Exemple:

{"id":4,"type":6,"key":"test.key","parameters":["foo","bar"]}
Resposta de l'exportació

Resposta de la funció Export de la interfície Exporter.

direction plugin → agent
response n/a

Paràmetres específics de les respostes d'exportació:

Nom Tipus Comentaris
value string (opcional) Valor de la resposta de la funció Export. Absent si hi ha un error de retorn.
error string (opcional) Missatge d'error si la funció Export no s'ha executat correctament. Absent, si hi ha un error retornat.

Exemples:

{"id":5,"type":7,"value":"response"}

or

{"id":5,"type":7,"error":"error message"}
Petició de configuració

Una petició per executar la funció Configure de la interfície Configurator.

direction agent → plugin
response n/a

Paràmetres específics de les peticions Configure:

Nom Tipus Comentaris
global_options JSON object Objecte JSON que conté les opcions de configuració globals de l'agent.
private_options JSON object (optional) Objecte JSON que conté les opcions de configuració del plug-in privat, si es proporciona.

Exemple:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
Petició de validació

Una petició per executar la funció Validate de la interfície Configurator.

direction agent → plugin
response yes

Paràmetres específics de les peticions Validate:

Nom Tipus Comentaris
private_options JSON object (opcional) Objecte JSON que conté les opcions de configuració del plug-in privat, si es proporciona.

Exemple:

{"id":7,"type":9,"private_options":{...}}
Resposta de validació

Resposta de la funció Validate de la interfície Configurator.

direction plugin → agent
response n/a

Paràmetres específics de les respostes Validate:

Nom Tipus Comentaris
error string (opcional) Es retorna un missatge d'error si la funció Validate no s'executa correctament. Absent si s'ha executat correctament.

Exemple:

{"id":8,"type":10}

or

{"id":8,"type":10,"error":"missatge d'error"}