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 - растући идентификатор који се користи за повезивање захтева са одговорима. Јединствено у правцу захтева (тј. од агента до додатка или од додатка до агента). За одговоре |
Захтев који је послао додатак за писање поруке дневника у датотеку дневника агента.
| 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 | 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"}