Esta seção fornece detalhes sobre verificações passivas e ativas realizadas por agente Zabbix.
O Zabbix usa um protocolo de comunicação baseado em JSON para se comunicar com Agente Zabbix.
Uma verificação passiva é uma solicitação de dados simples. Servidor ou proxy Zabbix pergunta para alguns dados (por exemplo, carga da CPU) e o agente Zabbix envia de volta o resultado para o servidor.
Solicitação do servidor
Para definição de cabeçalho e comprimento de dados, consulte protocolo detalhes.
Resposta do agente
Acima, a parte entre colchetes é opcional e só é enviada para não itens suportados.
Por exemplo, para itens suportados:
Para itens não suportados:
As verificações ativas requerem um processamento mais complexo. O agente deve primeiro recuperar do(s) servidor(es) uma lista de itens para processamento independente.
Os servidores para obter as verificações ativas estão listados no Parâmetro 'ServerActive' do agente configuração arquivo. A frequência de perguntas para essas verificações é definido pelo parâmetro 'RefreshActiveChecks' no mesmo arquivo de configuração. No entanto, se a atualização das verificações ativas falhar, é tentado novamente após 60 segundos codificados.
O agente então envia periodicamente os novos valores para o(s) servidor(es).
Se um agente estiver atrás do firewall, você pode considerar usando apenas verificações ativas porque nesse caso você não precisaria modifique o firewall para permitir conexões de entrada iniciais.
In order to decrease network traffic and resources usage Zabbix server or Zabbix proxy will provide configuration only if Zabbix agent still hasn't received configuration or if something has changed in host configuration, global macros or global regular expressions.
The agent then periodically sends the new values to the server(s).
If an agent is behind the firewall you might consider using only Active checks because in this case you wouldn't need to modify the firewall to allow initial incoming connections.
Solicitação do agente
Resposta do servidor
{
"resposta":"sucesso",
"dados":[
{
"key":"log[/home/zabbix/logs/zabbix_agentd.log]",
"atraso":30,
"lastlogsize":0,
"mtime":0
},
{
"key":"agente.versão",
"atraso": 600,
"lastlogsize":0,
"mtime":0
},
{
"key":"vfs.fs.size[/nono]",
"atraso": 600,
"lastlogsize":0,
"mtime":0
}
]
}
O servidor deve responder com sucesso. Para cada item devolvido, todos as propriedades key, delay, lastlogsize e mtime devem existir, independentemente de o item ser um item de log ou não.
Por exemplo:
::: não importante Observe que os dados de configuração (sensíveis) podem tornar-se disponível para as partes que têm acesso ao servidor Zabbix trapper porta ao usar uma verificação ativa. Isso é possível porque qualquer pessoa pode fingir ser um agente ativo e solicitar dados de configuração do item; a autenticação não ocorre a menos que você use criptografia opções. :::
Agente envia
{
"request":"dados do agente",
"sessão": "12345678901234567890123456789012",
"dados":[
{
"host":"<nome do host>",
"key":"agente.versão",
"valor":"2.4.0",
"id": 1,
"relógio": 1400675595,
"ns":76808644
},
{
"host":"<nome do host>",
"key":"log[/home/zabbix/logs/zabbix_agentd.log]",
"lastlogsize":112,
"value":" 19845:20140621:141708.521 Iniciando o Zabbix Agent [<hostname>]. Zabbix 2.4.0 (revisão 50000).",
"id": 2,
"relógio": 1400675595,
"ns":77053975
},
{
"host":"<nome do host>",
"key":"vfs.fs.size[/nono]",
"estado":1,
"value":"Não é possível obter informações do sistema de arquivos: [2] Arquivo ou diretório inexistente",
"id": 3,
"relógio": 1400675595,
"ns":78154128
}
],
"relógio": 1400675595,
"ns": 78211329
}
Um ID virtual é atribuído a cada valor. O ID do valor é um simples ascendente contador, único dentro de uma sessão de dados (identificado pela sessão símbolo). Este ID é usado para descartar valores duplicados que podem ser enviados em ambientes de baixa conectividade.
Resposta do servidor
::: não importante Se o envio de alguns valores falhar no servidor (por exemplo, porque o host ou item foi desabilitado ou excluído), o agente não tente enviar novamente esses valores. :::
Por exemplo:
Observe como no exemplo acima o status não suportado para vfs.fs.size[/nono] é indicado pelo valor "state" de 1 e o mensagem de erro na propriedade "valor".
::: não importante A mensagem de erro será cortada para 2048 símbolos em lado do servidor. :::
The heartbeat message is sent by an active agent to Zabbix server/proxy every HeartbeatFrequency seconds (configured in the Zabbix agent configuration file).
It is used to monitor the availability of active checks.
Field | Type | Mandatory | Value |
---|---|---|---|
request | string | yes | active check heartbeat |
host | string | yes | The host name. |
heartbeat_freq | number | yes | The agent heartbeat frequency (HeartbeatFrequency configuration parameter). |
O Zabbix irá tratar até 16 MB de dados XML codificados em Base64, mas um único valor decodificado não poderá ser superior a 64 KB ou será truncado para 64 KB durante a decodificação.