Submeta valores NULL em verificações passivas do Zabbix

2

Recentemente eu configurei algumas verificações passivas no Zabbix. Agora, vi que algumas verificações falharam por alguns períodos de tempo, mas isso não fica claro quando se olha para o gráfico. Parece que o valor ficou estável na última semana, mas o desempenho real caiu e ninguém o reconheceu.

Existe uma maneira de enviar NULL para o Zabbix para indicar que a busca dos dados falhou? E para adicionar um gatilho para este caso? No momento, estou usando a ferramenta de linha de comando zabbix_sender para carregar os resultados, mas posso mudar para uma alternativa.

Por outro lado, o munin para de representar graficamente 10 minutos depois de receber o último valor e os valores em falta também não influenciam o cálculo do valor médio.

Aqui você pode ver como os 'dados ausentes' são exibidos:

no gráfico (marquei os 'dados perdidos'):

natabela"Últimos dados" (a linha está esmaecida, mas o valor "última verificação" mostra quase a hora atual)

Btw: os mesmos problemas estão no icmppingsec[] check que apenas retorna 0 no caso de um erro. Não é muito útil para gráficos, mas pelo menos isso evita falsos negativos.

    
por Daniel Alder 24.02.2014 / 17:38

2 respostas

2

Na verdade, isso é possível. Mas isso pode mudar em uma versão futura, porque eu acho que é um bug no Zabbix:

Se você alterar o tipo de item para 'Agente do Zabbix (ativo)' (em vez de 'Zabbix trapper'), você pode definir o 'Intervalo de atualização (em segundos)' e isso funcionará como esperado, mesmo usando zabbix_sender do agente.

A razão para isto: o agente Zabbix e o zabbix_sender usam o mesmo protocolo (existem apenas pequenas diferenças, como a string "dados do remetente" vs. "dados do agente" no " pedido "campo). Além disso, o Zabbix parece não verificar a origem dos dados do agente nem verificar a cadeia de caracteres do protocolo, portanto zabbix_sender pode até ser executado em qualquer host para enviar resultados ativos do agente zabbix - e depois de um tempo (eu medi cerca de 2-3 vezes o intervalo de atualização), a linha do gráfico pára como esperado, se não houver mais dados.

A única desvantagem desta solução: você não pode mais usar a opção 'Permitido hosts'.

    
por 15.03.2014 / 16:33
5

O fato de você estar usando zabbix_sender implica que esses itens são do tipo "Zabbix trapper". Com os itens do trapper, o comportamento gráfico descrito acima é esperado.

Itens regulares de tipos como "Agente Zabbix" e "Agente Zabbix (ativo)" têm o intervalo de atualização configurado, então o frontend sabe que os dados devem vir, digamos, a cada 30 segundos. Se não houver dados para um período de 4 intervalos de atualização, a ferramenta gráfica não desenha linhas para este período. Então, no seu caso, se os itens fossem de qualquer outro tipo, as linhas marcadas não seriam desenhadas.

No entanto, com os itens do trapper, não há intervalo de atualização, portanto, o frontend não sabe com que frequência os dados são esperados. Pode vir a cada minuto, a cada dia ou em intervalos irregulares. Portanto, a solução atual é conectar cada dois pontos no gráfico e estender o primeiro e o último valor para a borda do gráfico.

O comportamento pode ser melhorado no futuro sob o link .

    
por 26.02.2014 / 11:36