Aquesta secció detalla les verificacions actives i passives que fa l'agent Zabbix.
Zabbix empra un protocol de comunicacions basat en JSON per comunicar-se amb l'agent Zabbix.
Veieu també els detalls del protocol de l'Agent Zabbix 2.
Una verificació passiva és una petició simple de dades. El servidor o el proxy Zabbix demanen dades (per exemple, la càrrega del processador) i l'agent Zabbix retorna el resultat al sevidor.
**Petició del servidor **
Per la definició de l'encapçalament i la longitud de les dades, veieu els détalls del protocol.
<item key>
Respossta de l'agent
<DATA>[\0<ERROR>]
A sota, la part en claudàtors és opcional i només s'envia per als elements no admesos.
Per exemple, per elements admesos:
Per els elements no admesos:
Les verificacions actives tenen un tractament més complexe. L'agent primer ha de recuperar dels servidors una llista d'elements per un tractament independent.
Els servidors des d'on obtenim les verificacions actives són llistats al paràmetre 'ServerActive' de l'arxiu de configuració de l'agent. La freqüència de les peticions per les verificacions es defineix amb el paràmetre 'RefreshActiveChecks' del mateix arxiu de configuració. Tanmateix, si el refresc de les verificacions actives falla, es tornarà a provar després de 60 segons.
L'agent envia llavors periòdicament els nous valors al(s) servidor(s).
Si un agent és darrere un tallafocs, considereu a emprar només les verificacions actives doncs, en aquest cas, no tindreu pas necessitat de modificar el tallafocs per permetre connexions entrants inicials.
Petició de l'agent
La petició de les verificacions actives s'empra per obtindre les verificacions actives a tractar per l'agent. Aquesta petició s'envia per l'agent a l'iniciar, i després amb els intervals RefreshActiveChecks.
{
"request": "active checks",
"host": "Zabbix server",
"host_metadata": "mysql,nginx",
"hostinterface": "zabbix.server.lan",
"ip": "159.168.1.1",
"port": 12050
}
Camp | Tipus | Obligatori | Valor |
---|---|---|---|
request | string | sí | active checks |
host | string | sí | Nom d'equip. |
host_metadata | string | no | El paràmetre de configuració HostMetadata o el valor de mètrica HostMetadataItem. |
hostinterface | string | no | El valor de mètrica del paràmetre de configuració HostInterface o HostInterfaceItem. |
ip | string | no | El paràmetre de configuració ListenIP first IP, si s'ha definit. |
port | number | no | El valor del paràmetre de configuració ListenPort si s'ha definit i no pas el port d'escola per defecte de l'agent. |
Resposta del servidor
La resposta de les verificacions actives s'envien per el servidor a l'agent després del tractament de la petició de verificacions actives.
{
"response": "success",
"data": [
{
"key": "log[/home/zabbix/logs/zabbix_agentd.log]",
"key_orig": "log[/home/zabbix/logs/zabbix_agentd.log]",
"itemid": 1234,
"delay": "30s",
"lastlogsize": 0,
"mtime": 0
},
{
"key": "agent.version",
"key_orig": "agent.version",
"itemid": 5678,
"delay": "10m",
"lastlogsize": 0,
"mtime": 0
}
]
}
Camp | Tipus | Obligatori | Valor | |
---|---|---|---|---|
response | string | sí | success | failed |
|
info | string | no | Informacions d'error en cas de fallida. | |
data | array of objects | no | Elements de verificacions actius. | |
key | string | no | Clau d'element amb macros esteses. | |
key_orig | string | no | Clau d'element sense macros esteses. | |
itemid | number | no | Identificador d'element. | |
delay | string | no | Interval d'actualització de l'element. | |
lastlogsize | number | no | Darrera mida del registre de l'element. | |
mtime | number | no | Mtime de l'element. | |
refresh_unsupported | number | no | Interval d'actualització dels elements no suportats. | |
regexp | array of objects | no | Expressions regulars globals. | |
name | string | no | Nom de l'expressió regular global. | |
expression | string | no | Expression régulière globale. | |
expression_type | number | no | Tipus de l'expressió regular global. | |
exp_delimiter | string | no | Delimitador de l'expressió regular global. | |
case_sensitive | number | no | Paràmetre global de sensibilitat a majúscules de les expressions regulars. |
El servidor ha de respondre amb èxit.
Per exemple :
Veieu que les dades de configuració (sensibles) poden ésser disponibles per a les persones que tinguin accés al port del trapper del servidor Zabbix quan emprin verificació activa. Això és possible perquè tot el món pot pretendre tindre un agent actiu i demanar informació de configuració d'elements. L'autenticació no té lloc excepte que empreu les opcions de xifrat.
Enviament de l'agent
La petició de dades de l'agent conté els valors recollits de l'element.
{
"request": "agent data",
"data": [
{
"host": "Zabbix server",
"key": "agent.version",
"value": "2.4.0",
"clock": 1400675595,
"ns": 76808644
},
{
"host": "Zabbix server",
"key": "log[/home/zabbix/logs/zabbix_agentd.log]",
"lastlogsize": 112,
"value": " 19845:20140621:141708.521 Starting Zabbix Agent [<hostname>]. Zabbix 2.4.0 (revision 50000).",
"clock": 1400675595,
"ns": 77053975
}
],
"session": "1234456akdsjhfoui"
}
Camp | Tipus | Obligatori | Valor | |
---|---|---|---|---|
request | string | yes | dades de l'agent |
|
session | string | yes | Identificador de sessió únic generat cada vegada que s'inicia l'agent. | |
data | array of objects | yes | Valors de l'element. | |
id | number | yes | L'identificador del valor (comptador incremental emprat per comprovar els valors duplicats en cas de problemes de xarxa). | |
host | string | yes | Nom de l'equip. | |
key | string | yes | Clau de l'element. | |
value | string | no | Valor de l'article. | |
lastlogsize | number | no | Darrera mida del registre. | |
mtime | number | no | Element mtime. | |
state | number | no | Estat de l'element. | |
source | string | no | Font del registre d'esdeveniments del valor. | |
eventid | number | no | El valor del registre d'esdeveniments eventd. | |
severity | number | no | El valor de gravetat del registre d'esdeveniments. | |
timestamp | number | no | La marca de temps del registre d'esdeveniments del valor. | |
clock | number | yes | La marca de temps del valor (segons des de l'Època. | |
ns | number | yes | El valor de marca de temps nanosegons. |
S'assigna un identificador virtual a cada valor. El valor ID és un comptador ascendent simple, únic dins d'una sessió de dades (identificat per el token de la sessió ). Aquest identificador s'empra per descartar els valors duplicats que es poden enviar a entorns de connectivitat pobra.
Resposta del servidor
El servidor torna a enviar la resposta de dades de l'agent a l'agent després de processar la petició de dades de l'agent.
Camp | Tipus | Obligatori | Valor |
---|---|---|---|
resposta | cadena | sí | èxit | fallit |
informació | cadena | sí | Resultats del processament d'articles. |
Si l'enviament d'alguns valors falla al servidor (per exemple, perquè l'equip o l'element s'ha desactivat o suprimit), l'agent no tornarà a provar d'enviar aquests valors.
Per exemple:
Tingueu en compte com a l'exemple anterior l'estat no compatible per vfs.fs.size[/nono] s'indica amb el valor "estat" 1 i el missatge d'error a la propietat "valor".
El missatge d'error es retallarà a 2048 símbols de la banda del servidor.
Zabbix prendrà fins a 16Mo de dades codificades en XML Base64, però un sol valor descodificat no haurà de passar els 64Ko, sinó es retallarà a 64Ko mentre es descodifiqui.