Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

4 Zabbix agent 2 plugin protocol

Zabbix agent 2 protocol is based on code, size and data model.

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 do payload
Dados comuns

Esses parâmetros estão presentes em todas as requisições/respostas:

Nome Tipo Comentários
id uint32 Para requisições - o identificador incremental usado para vincular requisições com respostas. Único dentro de uma direção de requisição (ou seja, do agent para o plugin ou do plugin para o agent).
Para respostas - ID da requisição correspondente.
type uint32 O tipo de requisição.
Solicitação de log

Uma solicitação enviada por um plugin para gravar uma mensagem de log no arquivo de log do agent.

direction plugin → agent
response 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, apenas contém os parâmetros de dados comuns.

Exemplo:

{"id":3,"type":4}
Solicitação de término

Uma solicitação enviada pelo agent para desligar um plugin.

direção agent → plugin
resposta 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.

direction agent → plugin
response 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"}
Configure request

A request to execute the Configure function of the Configurator interface.

direction agent → plugin
response n/a

Parameters specific to Configure requests:

Name Type Comments
global_options JSON object JSON object containing global agent configuration options.
private_options JSON object (optional) JSON object containing private plugin configuration options, if provided.

Example:

{"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 JSON object (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"}