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 càrrega ú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.
| direcció | agent → plugin |
| resposta | no |
La petició no té cap paràmetre específic, tret dels paràmetres de dades comunes.
Exemple:
{"id":3,"type":4}
Petició d'aturada
Una petició enviada per l'agent per aturar un plug-in.
| direcció | agent → plugin |
| resposta | no |
La petició no té pas cap paràmetre específic, tret dels paràmetres de dades comunes.
Exemple:
{"id":3,"type":5}
Petició d'exportació
Una petició d'execució de la funció Export de l'interfície Exporter.
| direcció | agent → plugin |
| resposta | no |
Paràmetres específics de les peticions d'exportació:
| Nom | Tipus | Comentaris |
|---|---|---|
| clau | cadena | La clau del plug-in. |
| paràmetres | matriu de cadenes (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ó Configurear de la interfície Configurador.
| direcció | agent → plugin |
| resposta | n/d |
Paràmetres específics de les peticions Configurar:
| 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ó Validar de la interfície Configurador.
| direcció | agent → plugin |
| resposta | sí |
Paràmetres específics de les peticions Validar:
| 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ó Validar de la interfície Configurador.
| direcció | agent → plugin |
| resposta | n/d |
Paràmetres específics de les respostes Validar:
| Nom | Tipus | Comentaris |
|---|---|---|
| error | cadena (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"}