Áú»¢¶Ä²©

2 Passive and active agent checks

Vis?o geral

Esta se??o fornece detalhes sobre verifica??es passivas e ativas realizadas por agente Áú»¢¶Ä²©.

O Áú»¢¶Ä²© usa um protocolo de comunica??o baseado em JSON para se comunicar com Agente Áú»¢¶Ä²©.

Verifica??es passivas

Uma verifica??o passiva ¨¦ uma solicita??o de dados simples. Servidor ou proxy Áú»¢¶Ä²© pergunta para alguns dados (por exemplo, carga da CPU) e o agente Áú»¢¶Ä²© 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.

<chave de item>

Resposta do agente

<DADOS>[\0<ERRO>]

Acima, a parte entre colchetes ¨¦ opcional e s¨® ¨¦ enviada para n?o itens suportados.

Por exemplo, para itens suportados:

  1. O servidor abre uma conex?o TCP
  2. O servidor envia <HEADER><DATALEN>agent.ping
  3. O agente l¨º a solicita??o e responde com <HEADER><DATALEN>1
  4. O servidor processa os dados para obter o valor, '1' no nosso caso
  5. A conex?o TCP est¨¢ fechada

Para itens n?o suportados:

  1. O servidor abre uma conex?o TCP
  2. O servidor envia <HEADER><DATALEN>vfs.fs.size[/nono]
  3. O agente l¨º a solicita??o e responde com <HEADER><DATALEN>ZBX_NOTSUPPORTED\0N?o ¨¦ poss¨ªvel obter informa??es do sistema de arquivos: [2] Arquivo ou diret¨®rio inexistente
  4. O servidor processa os dados, altera o estado do item para n?o suportado com o mensagem de erro especificada
  5. A conex?o TCP est¨¢ fechada

Verifica??es ativas

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 Áú»¢¶Ä²© server or Áú»¢¶Ä²© proxy will provide configuration only if Áú»¢¶Ä²© 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.

Obtendo a lista de itens

Solicita??o do agente

{
           "request":"verifica??es ativas",
           "host":"<nome do host>"
       }

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:

  1. O agente abre uma conex?o TCP
  2. O agente solicita a lista de cheques
  3. O servidor responde com uma lista de itens (chave do item, atraso)
  4. O agente analisa a resposta
  5. A conex?o TCP est¨¢ fechada
  6. O agente inicia a coleta peri¨®dica de dados

::: 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 Áú»¢¶Ä²© 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. :::

Enviando dados coletados

Agente envia

{
           "request":"dados do agente",
           "sess?o": "12345678901234567890123456789012",
           "dados":[
               {
                   "host":"<nome do host>",
                   "key":"agente.vers?o",
                   "valor":"2.4.0",
                   "id": 1,
                   &±ç³Ü´Ç³Ù;°ù±ð±ô¨®²µ¾±´Ç&±ç³Ü´Ç³Ù;: 1400675595,
                   "ns":76808644
               },
               {
                   "host":"<nome do host>",
                   "key":"log[/home/zabbix/logs/zabbix_agentd.log]",
                   "lastlogsize":112,
                   "value":" 19845:20140621:141708.521 Iniciando o Áú»¢¶Ä²© Agent [<hostname>]. Áú»¢¶Ä²© 2.4.0 (revis?o 50000).",
                   "id": 2,
                   &±ç³Ü´Ç³Ù;°ù±ð±ô¨®²µ¾±´Ç&±ç³Ü´Ç³Ù;: 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,
                   &±ç³Ü´Ç³Ù;°ù±ð±ô¨®²µ¾±´Ç&±ç³Ü´Ç³Ù;: 1400675595,
                   "ns":78154128
               }
           ],
           &±ç³Ü´Ç³Ù;°ù±ð±ô¨®²µ¾±´Ç&±ç³Ü´Ç³Ù;: 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

{
           "resposta":"sucesso",
           "info":"processado: 3; falhou: 0; total: 3; segundos gastos: 0,003534"
       }

::: 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:

  1. O agente abre uma conex?o TCP
  2. O agente envia uma lista de valores
  3. O servidor processa os dados e envia o status de volta
  4. A conex?o TCP est¨¢ fechada

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. :::

Heartbeat message

The heartbeat message is sent by an active agent to Áú»¢¶Ä²© server/proxy every HeartbeatFrequency seconds (configured in the Áú»¢¶Ä²© agent configuration file).

It is used to monitor the availability of active checks.

{
         "request": "active check heartbeat",
         "host": "Áú»¢¶Ä²© server",
         "heartbeat_freq": 60
       }
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).

Protocolo XML antigo

O Áú»¢¶Ä²© 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.

Veja tamb¨¦m