[comment]: # ({f372a49b-bdae00e2})
# 4 Zabbix aģents 2 spraudņa protokols

Zabbix aģents 2 protokols ir balstīts uz koda, izmēra un datu modeli.

[comment]: # ({/f372a49b-bdae00e2})

[comment]: # ({b65bf947-a102065d})
### Kods

|Type|Size|Comments|
|-----|-----|----------|
|Baits|	4	|Derīgās slodzes tips, pašlaik tiek atbalstīts tikai JSON.|

[comment]: # ({/b65bf947-a102065d})

[comment]: # ({8edb0275-6f328f94})
### Izmērs

|Tips|Izmērs|Komentāri|
|-----|-----|----------|
|Baits|	4	|Pašreizējās lietderīgās slodzes izmērs baitos.|

[comment]: # ({/8edb0275-6f328f94})

[comment]: # ({0351e98f-e3974519})
### Slodzes dati

|Tips|Izmērs|Komentāri|
|-----|-----|----------|
|Baits|	Definēts ar lauku *Izmērs*	|JSON formāta dati.|

[comment]: # ({/0351e98f-e3974519})

[comment]: # ({60a41fe8-265b88ca})
##### Noslodzes datu definīcija

###### Kopīgie dati

Šie parametri ir pieejami visos pieprasījumos/atbildēs:

|Name|Type|Comments|
|-----|--------|----------|
|id	  |uint32|Pieprasījumiem — pieaugošs identifikators, ko izmanto, lai sasaistītu pieprasījumus ar atbildēm. Unikāls viena pieprasījuma virziena ietvaros (t.i., no aģents uz spraudni vai no spraudņa uz aģents).<br>Atbildēm — atbilstošā pieprasījuma ID.|
|type|uint32|Pieprasījuma tips.|

[comment]: # ({/60a41fe8-265b88ca})

[comment]: # ({3cf942f4-6bdfbea5})
###### Žurnāla pieprasījums

Pieprasījums, ko spraudnis nosūta, lai ierakstītu žurnāla ziņojumu aģenta žurnāla failā.

|   |   |
|---|---|
|virziens|spraudnis → aģents|
|atbilde|nē|

Parametri, kas raksturīgi žurnāla pieprasījumiem:

|Nosaukums|Type|Komentāri|
|---------|--------|----------|
|severity|uint32|Ziņojuma nozīmīgums (žurnāla līmenis).|
|message|string|Žurnālā ierakstāmais ziņojums.|

*Piemērs:*

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

[comment]: # ({/3cf942f4-6bdfbea5})

[comment]: # ({3640b089-38f1c088})
###### Reģistrācijas pieprasījums

Pieprasījums, ko aģents nosūta aģenta palaišanas fāzē, lai iegūtu nodrošinātos metriku datus spraudņa reģistrēšanai.

|   |   |
|---|---|
|direction|aģents → spraudnis|
|response|jā|

Reģistrācijas pieprasījumiem specifiski parametri:

|Name|Type|Comments|
|---------|--------|----------|
|version|string|Protokola versija <major>.<minor>|

*Piemērs:*

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

[comment]: # ({/3640b089-38f1c088})

[comment]: # ({92946a86-d8c62312})
###### Reģistrēšanas atbilde

Spraudņa atbilde uz reģistrēšanas pieprasījumu.

|   |   |
|---|---|
|virziens|spraudnis → aģents|
|atbilde|n/a|

Reģistrēšanas atbildēm raksturīgie parametri:

|Nosaukums|Tips|Komentāri|
|---------|--------|----------|
|name|string|Spraudņa nosaukums.|
|metrics|string masīvs (neobligāts)|Metrikas ar aprakstiem, kā tās tiek izmantotas spraudnī. Atgriež RegisterMetrics(). Nav norādīts, ja tiek atgriezta kļūda.|
|interfaces|uint32 (neobligāts)|Spraudņa atbalstīto saskarņu bitu maska. Nav norādīts, ja tiek atgriezta kļūda.|
|error|string (neobligāts)|Kļūdas ziņojums, kas tiek atgriezts, ja spraudni nevar palaist. Nav norādīts, ja tiek atgrieztas metrikas.|

*Piemēri:*

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

vai

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

[comment]: # ({/92946a86-d8c62312})

[comment]: # ({f190dd1a-0b67f229})
###### Start pieprasījums

Pieprasījums izpildīt Runner saskarnes Start funkciju.

|   |   |
|---|---|
|virziens|aģents → spraudnis|
|atbilde|nē|

Pieprasījumam nav specifisku parametru, tas satur tikai [kopīgo datu](#common-data) parametrus.

*Piemērs:*

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

[comment]: # ({/f190dd1a-0b67f229})

[comment]: # ({fce4bba2-f3c8d489})
###### Pārtraukt pieprasījumu

Pieprasījums, ko aģents nosūta, lai izslēgtu spraudni.

|   |   |
|---|---|
|direction|aģents → spraudnis|
|response|nē|

Pieprasījumam nav specifisku parametru, tas satur tikai [kopīgo datu](#common-data) parametrus.

*Piemērs:*

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

[comment]: # ({/fce4bba2-f3c8d489})

[comment]: # ({43e9416d-b2754963})
###### Eksportēšanas pieprasījums

Pieprasījums izpildīt Exporter saskarnes funkciju Export.

|   |   |
|---|---|
|virziens|aģents → spraudnis|
|atbilde|nē|

Eksportēšanas pieprasījumiem specifiski parametri:

|Nosaukums|Type|Komentāri|
|---------|--------|----------|
|key|string|Spraudņa atslēga.|
|parameters|array of strings (optional)|Funkcijas Export parametri.|

*Piemērs:*

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

[comment]: # ({/43e9416d-b2754963})

[comment]: # ({33f976c2-27e2bd0c})
###### Eksportēšanas atbilde

Atbilde no Exporter interfeisa funkcijas Export.

|   |   |
|---|---|
|virziens|spraudnis → aģents|
|atbilde|nav piemērojams|

Parametri, kas raksturīgi eksportēšanas atbildēm:

|Nosaukums|Tips|Komentāri|
|---------|--------|----------|
|value|string (optional) |Atbildes vērtība no funkcijas Export. Nav norādīta, ja tiek atgriezta kļūda.|
|error|string (optional) |Kļūdas ziņojums, ja funkcija Export nav izpildīta veiksmīgi. Nav norādīts, ja tiek atgriezta vērtība.|

*Piemēri:*

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

vai

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

[comment]: # ({/33f976c2-27e2bd0c})

[comment]: # ({96eb71cf-15a7dce0})
###### Konfigurēt pieprasījumu

Pieprasījums izpildīt *Configurator* saskarnes funkciju *Configure*.

|   |   |
|---|---|
|virziens|aģents → spraudnis|
|atbilde|n/a|

Parametri, kas raksturīgi *Configure* pieprasījumiem:

|Nosaukums|Tips|Komentāri|
|---------|--------|----------|
|global_options|JSON object|JSON objekts, kas satur globālās aģenta konfigurācijas opcijas.|
|private_options|JSON object (optional)|JSON objekts, kas satur privātās spraudņa konfigurācijas opcijas, ja tādas ir norādītas.|

*Piemērs:*

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

[comment]: # ({/96eb71cf-15a7dce0})

[comment]: # ({99291487-14b279bc})
###### Validēt pieprasījumu

Pieprasījums izpildīt *Configurator* saskarnes *Validate* funkciju.

|   |   |
|---|---|
|direction|aģents → spraudnis|
|response|jā|

Parametri, kas raksturīgi *Validate* pieprasījumiem:

|Name|Type|Comments|
|---------|--------|----------|
|private_options|JSON object (optional)|JSON objekts, kas satur privātās spraudņa konfigurācijas opcijas, ja tādas ir norādītas.|

*Piemērs:*

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

[comment]: # ({/99291487-14b279bc})

[comment]: # ({3b19fa95-9a73001b})
###### Validēt atbildi

Atbilde no *Configurator* saskarnes *Validate* funkcijas.

|   |   |
|---|---|
|virziens|spraudnis → aģents|
|atbilde|n/a|

*Validate* atbildēm specifiski parametri:

|Nosaukums|Tips|Komentāri|
|---------|--------|----------|
|error|string (optional)|Kļūdas ziņojums, kas tiek atgriezts, ja funkcija Validate netiek izpildīta veiksmīgi. Ja izpilde ir veiksmīga, šī lauka nav.|

*Piemērs:*

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

vai

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

[comment]: # ({/3b19fa95-9a73001b})
