Zabbix: Como conseguir um intervalo de 1s com itens ativos?

1

É possível / recomendado?

Estamos tentando configurar alguns itens ativos configurados com um intervalo de 1 segundo. No entanto, esses itens não mantêm o intervalo desejado, em vez disso, estamos coletando um valor a cada 30 segundos (conforme visto no gráfico correspondente).

Teste os itens acima com um simples "echo 1" como parâmetro do usuário no lado do cliente, que deve ser enviado a cada 1 segundo sem atraso, mas não é. Nós implantamos um cliente no próprio servidor com um item configurado da mesma maneira que acima, que é coletado com sucesso a cada segundo.

Nossa configuração do Zabbix é relativamente nova, portanto o banco de dados MySQL subjacente é bastante pequeno e não temos muitos clientes / itens. O servidor está sendo executado em uma VM Linux e os clientes em hosts Linux dedicados (não em uma rede local).

Analisamos os arquivos de configuração no servidor / cliente, mas não vimos o que poderia nos ajudar a conseguir isso (além de adicionar mais caçadores). Isso não parece ser um problema de conexão, pois o buffer do lado do cliente deve superar isso.

Não é possível postar mais links, então aqui estão as coisas que analisamos:

  • Página de ajuste de desempenho no manual de referência do Zabbix
  • Slides de performance do Alexei Vladishev zabbix (encontrados em slideshare)
por Wexiwa 06.10.2016 / 12:06

1 resposta

0

Graças a @Richlv e depois de alguns testes que fiz (ver os comentários) encontramos o problema. Como os itens ativos são processados sequencialmente e que o comando por trás desses itens pode demorar um pouco para retornar, gerando algum atraso acumulando para cada item, o agente estava fazendo o melhor possível passando por todos os itens.

Como não é possível ter processamento paralelo de itens ativos, as soluções possíveis neste caso podem ser as seguintes:

  • Aumentando o intervalo de tempo para itens ativos
  • Usando zabbix_sender para fazer manualmente o trabalho (pode ser necessário também implementar o buffer do lado do cliente que é fornecido com itens ativos)
  • Talvez outra abordagem seria usar o monitoramento de arquivos de log
  • Executando 2 agentes no mesmo cliente, configurando assim processos paralelos, espalhando os itens ativos com sabedoria (embora não seja uma ótima solução)
  • Melhorando o desempenho do comando por trás dos itens ativos e / ou reduzindo o tempo de pior caso (com um tempo limite, por exemplo) - O que fizemos
por 18.10.2016 / 16:59