Monitorando se SNMP está funcionando no ativo
9 de Abril de 2013, 0:00 - sem comentários aindaQuem nunca foi pego de surpresa ao verificar que seu ativo, que você configurou para monitorar informações via SNMP, teve suas configurações internas de acesso SNMP modificadas, assim acabou percebendo isso apenas muito tempo depois e por fim perdeu informação nesse intervalo de tempo?
Nativamente, o zabbix não tem monitoria desse tipo de situação, pois se ele não retornar nada em uma consulta SNMP nenhum alerta é possível configurar, não sem a criação de um script, pois quando a consulta SNMP tem retorno de erro o item monitorado é dado como “Não suportado” e então desabilitado automaticamente.
Pensando nisso, criei um script para testar se o acesso SNMP está funcionando perfeitamente e com isso caso não consiga obter informação, ele retornará uma valor que poderemos tratar em uma trigger, no nosso caso 0.
Vamos a prática, primeiro acesse seu servidor zabbix.
Na pasta /etc/zabbix/externalscripts crie o arquivo checa_snmp.sh, com o seguite contéudo:
#!/bin/bash
RETORNO=`/usr/bin/snmpwalk -r 1 -v $3 -c $2 $1 IF-MIB::ifIndex.1 2> /dev/null`
if [ $? != 0 ] ; then
echo 0
else
echo $RETORNO | cut -d’ ‘ -f4
fi
Agora torne esse arquivo executável:
# chmod +x /etc/zabbix/externalscripts/checa_snmp.sh
Entre na interface web do servidor Zabbix. No seu template de SNMP ou onde desejar, crie um item novo.
Coloque o nome do seu item, no meu caso coloquei “Checa acesso SNMP”, mas fique a vontade.
No campo tipo, selecione a opção “Monitoramento externo”.
No campo chave, escreva checa_snmp.sh["<escreva aqui o nome da sua comunidade>","<versão do SNMP>"].
O retorno “0″ (zero) sempre indica falha, ou seja, basta criar uma trigger para verificar essa condição e pronto! Resolvido seu problema!
Monitorando MySQL com Zabbix v2
9 de Abril de 2013, 0:00 - sem comentários aindaEu fiz um tutorial há muito tempo, que contemplava alguns itens de monitoramento do MySQL, mas ao pesquisar novamente, achei isso no fórum do Zabbix e achei legal traduzir pra comunidade, que acaba sobrepondo minha ultima instrução de monitora. O que é muito bom!
Para execução desse tutorial, levo em consideração que tem um servidor Zabbix configurado e sabe como operá-lo tranquilamente.
Primeiro, vamos instalar os pacotes necessários no servidor a ser monitorado, nesse caso um servidor MySQL qualquer.
# yum install php-cli php-mysql
Baixe os arquivos abaixo:
https://mega.co.nz/#!ltkUiKzY!eCEj1RNh5L7YyRFS_k-l-WFIeIYseDOStcunsP9xPLk
https://mega.co.nz/#!tg0mQQyK!BZOM1irC1o11GWzBESiTgm1ZlvZZzdKHd9ewZG7O3co
Acesse sua interface web do Zabbix, clique no link “Configuração” e depois em “Templates”. Em seguida, clique no botão “Importar”.
Clique no botão “Browse…” e escolha o arquivo baixado no link acima, com o nome mysql.xml. Depois clique no botão “importar”.
Crie uma pasta com o commando abaixo:
# mkdir -p /usr/local/share/zabbix/plugins
Configure permissão para usuário do Zabbix, com o comando abaixo:
# chown -R zabbix /usr/local/share/zabbix
Envie o arquivo zabbix-mysqlmonitor.tar.gz para o servidor de banco de dados MySQL que deseja monitorar.
Descompacte o arquivo com o comando abaixo:
# tar xvzf zabbix-mysqlmonitor.tar.gz
Copie o arquivo ss_get_mysql_stats.php para /usr/local/share/zabbix/plugins
Copie o arquivo zabbixmysql.conf para /etc/zabbix
Acesse o arquivo /etc/zabbix/zabbix_agentd.conf e acrescente a seguinte linha:
Include=/etc/zabbix/zabbixmysql.conf
Reinicie o serviço do agente zabbix com o seguinte comando:
# service zabbix-agent restart
Crie o host em sua interface de monitoramento e associe o template do mysql.