Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

4 Protocolo de plugin do Zabbix agent 2

O protocolo do Zabbix agent 2 é baseado em código, tamanho e modelo de dados.

Código

Tipo Tamanho Comentários
Byte 4 Tipo de payload, atualmente apenas JSON é suportado.

Tamanho

Tipo Tamanho Comentários
Byte 4 Tamanho da carga útil atual em bytes.

Dados do payload

Tipo Tamanho Comentários
Byte Definido pelo campo Size Dados formatados em JSON.
Definição de dados de payload
Dados comuns

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.
Solicitação de log

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:

{"id":0,"type":1,"severity":3,"message":"message"}
Solicitação de registro

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:

{"id":1,"type":2,"version":"1.0"}
Resposta de registro

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:

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

ou

{"id":2,"type":3,"error":"mensagem de erro"}
Solicitação de início

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:

{"id":3,"type":4}
Solicitação de encerramento

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:

{"id":3,"type":5}
Solicitação de exportação

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:

{"id":4,"type":6,"key":"test.key","parameters":["foo","bar"]}
Resposta de exportação

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:

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

ou

{"id":5,"type":7,"error":"error message"}
Configurar solicitação

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:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
Validar solicitação

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:

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

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:

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

ou

{"id":8,"type":10,"error":"mensagem de erro"}