O protocolo do Zabbix agent 2 é baseado em código, tamanho e modelo de dados.
| Tipo | Tamanho | Comentários |
|---|---|---|
| Byte | 4 | Tipo de payload, atualmente apenas JSON é suportado. |
| Tipo | Tamanho | Comentários |
|---|---|---|
| Byte | 4 | Tamanho da carga útil atual em bytes. |
| Tipo | Tamanho | Comentários |
|---|---|---|
| Byte | Definido pelo campo Size | Dados formatados em JSON. |
Esses parâmetros estão presentes em todas as solicitações/respostas:
| Nome | Tipo | Comentários |
|---|---|---|
| id | uint32 | Para solicitações - o identificador incremental usado para vincular solicitações com respostas. Único dentro de uma direção de solicitação (ou seja, do agent para o plugin ou do plugin para o agent). Para respostas - ID da solicitação correspondente. |
| type | uint32 | O tipo de solicitação. |
Uma solicitação enviada por um plugin para gravar uma mensagem de log no arquivo de log do agent.
| direção | plugin → agent |
| resposta | não |
Parâmetros específicos para solicitações de log:
| Nome | Tipo | Comentários |
|---|---|---|
| severity | uint32 | A gravidade da mensagem (nível de log). |
| message | string | A mensagem a ser registrada. |
Exemplo:
Uma solicitação enviada pelo agent durante a fase de inicialização do agent para obter as métricas fornecidas para registrar um plugin.
| direção | agent → plugin |
| resposta | sim |
Parâmetros específicos para solicitações de registro:
| Nome | Tipo | Comentários |
|---|---|---|
| version | string | A versão do protocolo <major>.<minor> |
Exemplo:
Resposta do plugin à solicitação de registro.
| direction | plugin → agent |
| response | n/a |
Parâmetros específicos para respostas de registro:
| Nome | Tipo | Comentários |
|---|---|---|
| name | string | O nome do plugin. |
| metrics | array de strings (opcional) | As métricas com descrições conforme usadas no plugin. Retorna RegisterMetrics(). Ausente se um erro for retornado. |
| interfaces | uint32 (opcional) | A máscara de bits das interfaces suportadas pelo plugin. Ausente se um erro for retornado. |
| error | string (opcional) | Uma mensagem de erro retornada se um plugin não puder ser iniciado. Ausente se as métricas forem retornadas. |
Exemplos:
ou
Uma solicitação para executar a função Start da interface Runner.
| direction | agent → plugin |
| response | não |
A solicitação não possui parâmetros específicos, ela contém apenas os parâmetros de dados comuns.
Exemplo:
Uma solicitação enviada pelo agent para desligar um plugin.
| direction | agent → plugin |
| response | não |
A solicitação não possui parâmetros específicos, apenas contém os parâmetros de dados comuns.
Exemplo:
Uma solicitação para executar a função Export da interface Exporter.
| direção | agent → plugin |
| resposta | não |
Parâmetros específicos para solicitações de exportação:
| Nome | Tipo | Comentários |
|---|---|---|
| key | string | A chave do plugin. |
| parameters | array de strings (opcional) | Os parâmetros para a função Export. |
Exemplo:
Resposta da função Export da interface Exporter.
| direction | plugin → agent |
| response | n/a |
Parâmetros específicos para respostas de exportação:
| Nome | Tipo | Comentários |
|---|---|---|
| value | string (opcional) | Valor de resposta da função Export. Ausente, se um erro for retornado. |
| error | string (opcional) | Mensagem de erro se a função Export não foi executada com sucesso. Ausente, se o valor for retornado. |
Exemplos:
ou
Uma solicitação para executar a função Configure da interface Configurator.
| direction | agent → plugin |
| response | n/a |
Parâmetros específicos para solicitações Configure:
| Nome | Tipo | Comentários |
|---|---|---|
| global_options | JSON object | Objeto JSON contendo opções globais de configuração do agent. |
| private_options | JSON object (opcional) | Objeto JSON contendo opções privadas de configuração do plugin, se fornecido. |
Exemplo:
Uma solicitação para executar a função Validate da interface Configurator.
| direção | agent → plugin |
| resposta | sim |
Parâmetros específicos para solicitações Validate:
| Nome | Tipo | Comentários |
|---|---|---|
| private_options | objeto JSON (opcional) | Objeto JSON contendo opções de configuração privadas do plugin, se fornecido. |
Exemplo:
Resposta da função Validate da interface Configurator.
| direction | plugin → agent |
| response | n/a |
Parâmetros específicos para respostas Validate:
| Nome | Tipo | Comentários |
|---|---|---|
| error | string (opcional) | Uma mensagem de erro retornada se a função Validate não for executada com sucesso. Ausente se executada com sucesso. |
Exemplo:
ou