Zabbix Agent 2-Plugin-Protokoll

Das Zabbix Agent 2-Protokoll basiert auf Code, Größe und Datenmodell.

Code

Type Size Comments
Byte 4 Payload-Typ, derzeit wird nur JSON unterstützt.

Größe

Type Size Comments
Byte 4 Größe der aktuellen Nutzlast in Bytes.

Nutzdaten

Type Size Comments
Byte Definiert durch das Feld Size JSON-formatierte Daten.

Definition der Payload-Daten

Gemeinsame Daten

Diese Parameter sind in allen Anfragen/Antworten vorhanden:

Name Type Comments
id uint32 Für Anfragen - der fortlaufende Bezeichner, der verwendet wird, um Anfragen mit Antworten zu verknüpfen. Innerhalb einer Nachrichtenrichtung eindeutig (d. h. vom Agent zum Plugin oder vom Plugin zum Agent).
Für Antworten - die ID der entsprechenden Anfrage.
type uint32 Der Anfragetyp.
Protokollanforderung

Eine von einem Plugin gesendete Anforderung, um eine Protokollmeldung in die Protokolldatei des Agent zu schreiben.

direction plugin → agent
response no

Parameter, die für Protokollanforderungen spezifisch sind:

Name Type Comments
severity uint32 Die Schwere der Meldung (Protokollstufe).
message string Die zu protokollierende Meldung.

Beispiel:

{"id":0,"type":1,"severity":3,"message":"message"}
Registrierungsanfrage

Eine Anfrage, die vom Agent während der Startphase des Agent gesendet wird, um bereitgestellte Metriken abzurufen und ein Plugin zu registrieren.

direction Agent → plugin
response yes

Für Registrierungsanfragen spezifische Parameter:

Name Type Comments
version string Die Protokollversion <major>.<minor>

Beispiel:

{"id":1,"type":2,"version":"1.0"}
Register-Antwort

Antwort des Plugins auf die Register-Anfrage.

direction plugin → Agent
response n/a

Für Register-Antworten spezifische Parameter:

Name Type Comments
name string Der Name des Plugins.
metrics array of strings (optional) Die Metriken mit Beschreibungen, wie sie im Plugin verwendet werden. Gibt RegisterMetrics() zurück. Nicht vorhanden, wenn ein Fehler zurückgegeben wird.
interfaces uint32 (optional) Die Bitmaske der vom Plugin unterstützten Schnittstellen. Nicht vorhanden, wenn ein Fehler zurückgegeben wird.
error string (optional) Eine Fehlermeldung, die zurückgegeben wird, wenn ein Plugin nicht gestartet werden kann. Nicht vorhanden, wenn Metriken zurückgegeben werden.

Beispiele:

{"id":2,"type":3,"metrics":["external.test", "External exporter Test."], "interfaces": 4}

oder

{"id":2,"type":3,"error":"error message"}
Start-Anfrage

Eine Anfrage zum Ausführen der Start-Funktion der Runner-Schnittstelle.

direction Agent → plugin
response no

Die Anfrage hat keine spezifischen Parameter, sie enthält nur Parameter für gemeinsame Daten.

Beispiel:

{"id":3,"type":4}
Anfrage beenden

Eine vom Agent an ein Plugin gesendete Anfrage zum Herunterfahren eines Plugins.

direction Agent → plugin
response no

Die Anfrage hat keine spezifischen Parameter, sie enthält nur Parameter für gemeinsame Daten.

Beispiel:

{"id":3,"type":5}
Export-Anfrage

Eine Anfrage zum Ausführen der Export-Funktion der Exporter-Schnittstelle.

direction agent → plugin
response no

Für Export-Anfragen spezifische Parameter:

Name Type Comments
key string Der Plugin-Schlüssel.
parameters array of strings (optional) Die Parameter für die Export-Funktion.

Beispiel:

{"id":4,"type":6,"key":"test.key","parameters":["foo","bar"]}
Export-Antwort

Antwort der Export-Funktion der Exporter-Schnittstelle.

direction plugin → agent
response n/a

Für Export-Antworten spezifische Parameter:

Name Type Comments
value string (optional) Antwortwert der Export-Funktion. Nicht vorhanden, wenn ein Fehler zurückgegeben wird.
error string (optional) Fehlermeldung, wenn die Export-Funktion nicht erfolgreich ausgeführt wurde. Nicht vorhanden, wenn value zurückgegeben wird.

Beispiele:

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

oder

{"id":5,"type":7,"error":"error message"}
Anfrage konfigurieren

Eine Anfrage zum Ausführen der Funktion Configure der Schnittstelle Configurator.

direction Agent → plugin
response n/a

Für Configure-Anfragen spezifische Parameter:

Name Type Comments
global_options JSON object JSON object mit globalen Konfigurationsoptionen des Agent.
private_options JSON object (optional) JSON object mit privaten Konfigurationsoptionen des Plugins, sofern angegeben.

Beispiel:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
Anfrage validieren

Eine Anfrage zum Ausführen der Funktion Validate der Schnittstelle Configurator.

direction agent → plugin
response yes

Für Validate-Anfragen spezifische Parameter:

Name Type Comments
private_options JSON object (optional) JSON object mit privaten Konfigurationsoptionen des Plugins, sofern angegeben.

Beispiel:

{"id":7,"type":9,"private_options":{...}}
Antwort validieren

Antwort der Funktion Validate der Schnittstelle Configurator.

direction plugin → Agent
response n/a

Für Validate-Antworten spezifische Parameter:

Name Type Comments
error string (optional) Eine Fehlermeldung, die zurückgegeben wird, wenn die Funktion Validate nicht erfolgreich ausgeführt wird. Fehlt bei erfolgreicher Ausführung.

Beispiel:

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

oder

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