4 Zabbix agent 2 plugin protocol

Zabbix агент 2 протокол је заснован на коду, величини и моделу података.

Код

Type Size Comments
Byte . 4. Тип корисног оптерећења, тренутно је подржан само JSON.

Величина

Type Size Comments
Byte . 4. Величина тренутног корисног оптерећења у бајтовима.

Подаци о носивости

Type Size Comments
Byte . Дефинисано пољем Size field. ЈСОН форматираним подацима.
Дефиниција података о корисном терету
Заједнички подаци

Ови параметри су присутни у свим захтевима/одговорима:

Name Type Comments
id uint32 За захтевe - растући идентификатор који се користи за повезивање захтева са одговорима. Јединствено у правцу захтева (тј. од агента до додатка или од додатка до агента).
За одговоре
  • ID одговарајућег захтева.| | type | uint32 |Тип захтева.|
Захтев за евиденцијом

Захтев који је послао додатак за писање поруке дневника у датотеку дневника агента.

direction plugin → agent
response no

Параметри специфични за захтеве дневника:

Name Type Comments
severity uint32 Озбиљност поруке (ниво дневника).
message string Порука за дневник.

Пример:

{"id":0,"type":1,"severity":3,"message":"порука"}

Захтев за регистрацију

Захтев послат од агента током фазе покретања агента за добијање обезбеђених метрика за регистрацију додатка.

direction agent → plugin
response yes

Параметри специфични за захтеве за регистрацију:

Name Type Comments
version string Верзија протокола <major>.<minor>

Пример:

{"id":1,"type":2,"version":"1.0"}

Региструјте одговор

Одговор додатка на захтев за регистрацију.

direction plugin → agent
response n/a

Параметри специфични за одговоре регистра:

Name | Type | Comments |

|--- ------|--------|----------| | name | string |Име додатка.| | metrics |array of strings (optional)|Метрика са описима који се користе у додатку. Враћа RegisterMetrics(). Одсутан ако се врати грешка.| | interfaces | uint32 (optional)|Бит маска подржаних интерфејса додатка. Одсутан ако се врати грешка.| | error | string (optional)|Враћена је порука о грешци ако додатак не може да се покрене. Одсутан, ако се метрика враћа.|

Примери:

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

или

{"id":2,"type":3,"error":"error message"}

Започни захтев

Захтев за извршење функције Start интерфејса Runner.

. .
direction agent → plugin
response no

Захтев нема специфичне параметре, он садржи само уобичајени податак параметри.

Пример:

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

Прекини захтев

Захтев који је агент послао да искључи додатак.

. .
direction agent → plugin
response no

Захтев нема специфичне параметре, садржи само заједничке податке параметри.

Пример:

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

Захтев за извоз

Захтев да се изврши Export функција интерфејса Exporter.

. .
direction agent → plugin
response no

Параметри специфични за захтеве за извоз:

Name Type Comments
key string Кључ додатка.
parameters array of strings (optional) Параметри за извоз функција.

Пример:

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

Извези одговор

Одговор из функције Export интерфејса Exporter.

. .
direction plugin → agent
response n/а

Параметри специфични за извоз одговора:

Name Type Comments
value string (optional) Вредност одговора из функције Expor. Одсутан, ако се врати грешка.
error string (optional) Порука о грешци ако функција Export није успешно извршена. Одсутан, ако је враћена вредност.

Примери:

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

или

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

Захтев за конфигурисање

Захтев да се изврши функција * Configure* интерфејса * Configurator*.

. .
direction agent → plugin
response n/a

Параметри специфични за захтеве * Configure*:

Name Type Comments
global_options JSON object JSON објекат који садржи глобалну конфигурацију агента опције.
private_options JSON object (optional) JSON објекат који садржи опције конфигурације приватних додатака, ако су наведене.

Пример:

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

Потврди захтев

Захтев да се изврши функција * Validate* интерфејса * Configurator*.

. .
direction agent → plugin
response yes

Параметри специфични за захтеве * Validate*:

Name Type
private_options JSON object (optional)

Пример:

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

Потврди одговор

Одговор из функције * Validate* интерфејса * Configurator*.

direction plugin → agent
response n/a

Параметри специфични за * Validate* одговоре:

Name Type Comments
error string (optional) Враћена је порука о грешци ако је функција Валидате није успешно извршено. Одсутан ако се успешно изврши.

Пример:

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

или

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