Zabbix: Coletando dados via Agente

Quando ouvi pela primeira vez

“Vamos migrar pro Zabbix pois, uma das grandes sacadas, é que, com apenas algumas linhas podemos montar um script para monitorar qualquer coisa”.

Na hora eu concordei, mesmo sem domínio ou capacidade de julgamento, no entanto, sabia que, no Nagios nada era muito simples e isso poderia mudar o futuro.

Hoje tenho dezenas de ativos monitorados, gerando indicadores e alertas na área que são bem interessantes para falar a verdade.

Bom, o objetivo desse texto é demonstrar uma forma simples de coletar dados de um servidor, sendo que, essa informação não estão sendo entregue via SNMP ou Agent, vamos configurar o agent rodar um comando e retornar valor para o Zabbix.

Estou considerando que seu Agent encontra-se instalado em um servidor linux e os dados estão sendo enviados corretamente para o servidor Zabbix.

Procedimento que deve ser realizado no servidor que deseja monitorar.

Por padrão o agent do zabbix mantem os arquivos de configuração em /etc/zabbix e o diretório zabbix_agent.d pode ser utilizado para criação de alguns padrões, o zabbix deve procurar nesse diretório todos arquivos para leitura.

Include=/etc/zabbix/zabbix_agentd.d/

Qualquer duvida pode procurar no zabbix_agentd.conf pela linha acima.

Vamos criar um script para monitorar a fila do postfix instalado nesse equipamento, para tal, vamos criar um novo arquivo e nomea-lo como userparameter_postfix.conf, o conteúdo do arquivo é listado abaixo.

UserParameter=postfila,/usr/bin/mailq | tail -1 | awk ‘{print $5}’

Nessa variavel UserParameter são definidos chave e valor, nessa sequencia, o valor basicamente armazena o resultado do comando que foi executado, vamos testar o comando abaixo.

Saída do comando é o valor 2.

Reinicie o agent do zabbix e vamos para o servidor zabbix.

É possivel realizar um teste direto no cli do zabbix, para checar se os dados estão sendo acessados como esperado rpde o comando abaixo no zabbix server.

$ zabbix_get -s 10.1.1.1 -p 10050 -k ‘postfila’

coletado dados do servidor na chave postila e retornou valor da fila como 17.

Lembrando que estamos no servidor zabbix fazendo a consulta de chave valor do servidor monitorado 10.1.1.1.

Procedimento que deve ser realizado no servidor zabbix.

Vamos criar o item a ser monitorado, abaixo vamos criar o Item como descrito.

Vamos comentar cada um dos itens que devem ser ajustados.

Nome: Nome qualquer para identificar o item que está sendo criado.

Tipo: Agente Zabbix (marque essa opção, pois, será o agent que será acionado)

Chave: nome da chave que definimos no equipamentos que vamos monitorar na variável UserParameters

Interface do host: IP do agent que estamos monitorando.

Tipo de Informação: É um número inteiro, pois, é valor que está sendo retornado pelo agente.

Feito isso, basta clicar em Adicionar o novo item.

Em Dados recentes já podemos ver os dados sendo atualizados nos primeiros 30s e clicando em gráfico poderá ter acesso ao gráfico dos dados.

Esse monitoramento foi feito para apoiar uma amigo, ele constantemente me relatava problemas em seu host devido ao elevado número de email na fila travada, o objeto era poder identificar o inicio do movimento, para tal, inclui outras métricas entregues pelo próprio agente, o que gerou a visão do grafana abaixo.

Obrigado meu “jovem velho” amigo @fabianogaspar, sempre que existe uma nova publicação aqui, tem um toque especial dele, desde dicas, recomendações e melhorias no texto..