Qual é a idéia do Simple Monitoring Program ? A mesma que qualquer programa de monitoramento. Manter bem informado o SysAdmin sobre a estrutura e/ou estruturas que o mesmo administra.
Apesar de existirem diversas ferramentas de monitoramento, todas elas são um problema quando você não tem recursos para conseguir um servidor dedicado ou um semi-dedicado capaz de rodar os programas. Tanto Zabbix quanto o próprio Nagios, vão necessitar de uma estrutura para rodar o mesmo, que nem sempre vale a pena.
Enxergo ambos como boas ferramentas de gerenciamento. Gráficos, possibilidade de relatórios, acompanhamento de problemas e outros afins.
Mas quando queremos uma ferramenta que simplesmente os avise do downtime e quanto tempo ficou offline e ainda, facilmente configurável, eu não achei nenhuma.
Como estava querendo retornar com minha nerdice, peguei um código que tinha começado em 2006 e resolvi terminá-lo.
O código recebeu o nome de SNM ( SIMPLE NETWORK MONITORING ) e já está com sua primeira versão pública.
Ela é a versão 0.04a , e já funciona bem. Atualmente estou monitorando 4 ou 5 serviços com o mesmo ( inclusive o meu talker ) e está respondendo bem :-)
Primeiro, baixe o arquivo que ainda está disponibilizado aqui mesmo no blog.
Você vai precisar do netcat instalado no seu sistema operacional e ferramentas padrão do shell :-)
Escolha um diretório no seu sistema operacional, eu coloquei em /opt/snm
Para lá copie o arquivo monitora.sh e o diretorio etc que estão no arquivo tar.gz que você baixou.
No arquivo monitora.sh modifique três variáveis :
DATE=/bin/date
NETCAT=/bin/netcat
Onde DATE é a localização do comando date no seu sistema e NETCAT, lógico, a localização do netcat.
Depois a variável SNMDIR :
SNMDIR=/opt/snm/etc
Ou seja, é a localização do seu arquivo de configuração snm.conf
Depois de executar isto tudo, é só fazer a primeira execução do snm :-)
# sh monitora.sh configura
E ele irá criar alguns arquivos iniciais para seu funcionamento.
Aliás, este passo nas próximas versões já não mais vai ser necessário :-)
Depois, é só adicionar o mesmo ao cron :
*/5 * * * * /bin/sh /opt/snm/monitora.sh > /dev/null
Pronto, você ja tem este pequeno script de monitoramento rodando. Ainda tenho algumas coisas a fazer no mesmo, como eu já estou listando no TODO.
Vamos ver quando sai a segunda versão :-)
TODO :
- Opção para no arquivo de configuração escolher outro email/celular para receber o alerta
- Possibilidade de gravação e cálculo de SLA ao longo do período de monitoramento ( Exemplo : % de uptime / y% de downtime )
- Instalador/configurador em shell
- Migrador de arquivo de configuração ( para versões acima desta atual )
- Opção para gravar em log próprio ou diretamente no syslog
- Mudar o formato do log para o formato Syslog
- Eliminar a necessidade de rodar o comando monitora.sh configura
O que eu tenho em mente no momento é isto, se alguém tiver alguma outra idéia e o estiver utilizando, é so mandar um mail que nois tenta implementar :-)
<MODE JABA ON >
Tem um site? Então comece a ganhar com ele Se você tem um site e quer que ele se torne uma fonte de renda, precisa conhecer a superloja Secundum. Com apenas um cadastro você recebe o código da loja e já começa a lucrar. Saiba mais em http://tenhasualoja.secundum.com.br.
<MODE JABA OFF>