4 Zabbix Agent 2-pluginprotocol

Het Zabbix Agent 2-pluginprotocol is gebaseerd op code, grootte en datamodel.

Code

Type Grootte Opmerkingen
Byte 4 Payloadtype, momenteel wordt alleen JSON ondersteund.

Grootte

Type Grootte Opmerkingen
Byte 4 Grootte van de huidige payload in bytes.

Gegevens van payload

Type Grootte Opmerkingen
Byte Gedefinieerd door het Grootte veld JSON-geformatteerde gegevens.
Definitie van payloadgegevens
Algemene gegevens

Deze parameters zijn aanwezig in alle verzoeken/antwoorden:

Naam Type Opmerkingen
id uint32 Voor verzoeken - de toenemende identificator die wordt gebruikt om verzoeken te koppelen aan antwoorden. Uniek binnen een verzoeksdirection (dat wil zeggen van agent naar plugin of van plugin naar agent).
Voor antwoorden - ID van het overeenkomstige verzoek.
type uint32 Het type verzoek.
Logverzoek

Een verzoek dat door een plugin wordt verzonden om een logboekbericht in het agent-logboekbestand te schrijven.

richting plugin → agent
antwoord nee

Parameters specifiek voor logverzoeken:

Naam Type Opmerkingen
severity uint32 De ernst van het bericht (logniveau).
message string Het bericht om te loggen.

Voorbeeld:

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

Een verzoek dat door de agent wordt verzonden tijdens de opstartfase van de agent om de meegeleverde metingen te verkrijgen om een plugin te registreren.

richting agent → plugin
antwoord ja

Parameters specifiek voor registratieverzoeken:

Naam Type Opmerkingen
version string De protocolversie <major>.<minor>

Voorbeeld:

{"id":1,"type":2,"version":"1.0"}
Registratie-antwoord

Antwoord van de plugin op het registratieverzoek.

richting plugin → agent
antwoord n/v

Parameters specifiek voor registratie-antwoorden:

Naam Type Opmerkingen
name string De naam van de plugin.
metrics array van strings (optioneel) De metingen met beschrijvingen zoals gebruikt in de plugin. Geeft RegisterMetrics() terug. Afwezig bij een foutmelding.
interfaces uint32 (optioneel) De bitwaarde van ondersteunde interfaces van de plugin. Afwezig bij een foutmelding.
error string (optioneel) Een foutbericht dat wordt teruggegeven als een plugin niet kan worden gestart. Afwezig als metingen worden teruggegeven.

Voorbeelden:

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

of

{"id":2,"type":3,"error":"foutmelding"}
Startverzoek

Een verzoek om de Start-functie van de Runner-interface uit te voeren.

richting agent → plugin
antwoord nee

Het verzoek heeft geen specifieke parameters, het bevat alleen algemene gegevens parameters.

Voorbeeld:

{"id":3,"type":4}
Beëindigingsverzoek

Een verzoek dat door de agent wordt verzonden om een plugin af te sluiten.

richting agent → plugin
antwoord nee

Het verzoek heeft geen specifieke parameters, het bevat alleen algemene gegevens parameters.

Voorbeeld:

{"id":3,"type":5}
Exportverzoek

Een verzoek om de Export-functie van de Exporter-interface uit te voeren.

richting agent → plugin
antwoord nee

Specifieke parameters voor exportverzoeken:

Naam Type Opmerkingen
sleutel string De plug-insleutel.
parameters array van strings (optioneel) De parameters voor de Export-functie.

Voorbeeld:

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

Reactie van de Export-functie van de Exporter-interface.

richting plugin → agent
antwoord n.v.t.

Specifieke parameters voor exportreacties:

Naam Type Opmerkingen
waarde string (optioneel) Reactiewaarde vanuit de Export-functie. Afwezig als er een fout is opgetreden.
fout string (optioneel) Foutmelding als de Export-functie niet succesvol is uitgevoerd. Afwezig als er een waarde is opgegeven.

Voorbeelden:

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

of

{"id":5,"type":7,"error":"foutmelding"}
Configure-verzoek

Een verzoek om de Configure-functie van de Configurator-interface uit te voeren.

richting agent → plugin
antwoord n.v.t.

Specifieke parameters voor Configure-verzoeken:

Naam Type Opmerkingen
global_options JSON-object JSON-object met globale agentconfiguratieopties.
private_options JSON-object (optioneel) JSON-object met privépluginconfiguratieopties, indien opgegeven.

Voorbeeld:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
Valideer-verzoek

Een verzoek om de Valideren-functie van de Configurator-interface uit te voeren.

richting agent → plugin
antwoord ja

Specifieke parameters voor Valideer-verzoeken:

Naam Type Opmerkingen
private_options JSON-object (optioneel) JSON-object met privépluginconfiguratieopties, indien opgegeven.

Voorbeeld:

{"id":7,"type":9,"private_options":{...}}
Valideer-antwoord

Reactie van de Valideren-functie van de Configurator-interface.

richting plugin → agent
antwoord n.v.t.

Specifieke parameters voor Valideer-reacties:

Naam Type Opmerkingen
error string (optioneel) Een foutbericht dat wordt geretourneerd als de Valideren-functie niet succesvol is uitgevoerd. Afwezig bij succesvolle uitvoering.

Voorbeeld:

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

of

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