[Dica] Nagios + SMS

Posted on junho 9, 2009

0


Nagios_banner

Introdução

Esse assunto já foi meio que mencionando em Perl + GSM + Imaginação = Coisas Legais , porém o leitor Alexander reportou alguns problemas ao utilizar a solução em Perl, após alguns e-mails trocados e nenhuma resposta positiva no cenário do Alexander, fiz a sugestão de usar a gsmlib( também mencionada no post anterior) e assim solucionando o problema do amigo leitor.

Meu ambiente de teste desta vez foi um NetBSD5.0 e o celular testado foi o mesmo Motorola V3 Black via cabo USB.

O ambiente do Alexander foi um CentOS release 5.3 e o celular um Motorola V3 re.

Preparando o Ambiente

Instalando o gsmlib

Netbsd

pkg_add -vv ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0/All/gsmlib-1.10nb2.tgz

FreeBSD

pkg_add  -v ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/All/gsmlib-1.10_4.tbz

CentOS

yum install libstdc++

wget -c ‘http://www.pxh.de/fs/gsmlib/download/gsmlib-1.10-1.i386.rpm’

rpm -ivh gsmlib-1.10-1.i386.rpm

Configurando comunicação com o Celular

NetBSD

Não foi necessário absolutamente nada, espetou o celular, detectou e reconheceu usando o umodem.

Mensagem do dmesg

"umodem0: Motorola Inc. Motorola Phone (V3), rev 1.10/0.01, addr 2, iclass 2/2"

ln -s /dev/ttyU0 /dev/mobilephone

FreeBSD*

São necessários os módulos umodem e ucom, adiciona-se então ao ‘/boot/loader.conf’:

ucom_load=”YES”
umodem_load=”YES”

Após reinicio( sim, reinicio, quando tentei carregar o módulo com o kldload deu panic ) do sistema, quando plugado o celular à USB veremos uma mensagem semelhante a essa na saída do comando ‘dmesg’.

ucom0: <Motorola Inc. Motorola Phone (V3), class 2/0, rev 1.10/0.01, addr 2> on uhub1

ln -s /dev/ttyU0 /dev/mobilephone

*instruções copiadas do post sobre Perl, estes passos não foram refeitos.

CentOS*

Já vem com suporte ao módulo cdc_acm que é necessário.

ln -s /dev/ttyACM0 /dev/mobilephone

chmod 666 /dev/ttyACM0

chmod 666 /dev/mobilephone

*Passo-a-passo descrito pelo colega Alexander

Configuração Nagios

Adicionar ao arquivo commands.cfg


define command{

 command_name    notify-host-by-sms

 command_line /usr/bin/gsmsendsms $CONTACTPAGER$ "Host:$HOSTNAME$ - State:$HOSTSTATE$"    

 }
define command{

 command_name    notify-service-by-sms

 command_line /usr/bin/gsmsendsms $CONTACTPAGER$ "Host:$HOSTNAME$ - Serv: $SERVICEDESC$ - State: $SERVICESTATE$"

 }

Pronto, agora é só adicionar o número do celular na definição de contatos e o tipo de notificação ao host/serviço.


pager			123456789

* DDD com 2 dígitos
* número do celular

Conclusão e Agradecimentos

Como tinha citado no post anterior, o envio de sms pode ser uma opção em caso de queda de internet. Há claro, que se tomar os devidos cuidados ao configurar o nagios, tanto para não extrapolar no envio desnecessários de mensagens, como receber um sms em horário inapropriado para um alerta básico, resumindo: Tenha bom senso.

Gostaria de agradecer ao Alexander, que contribuiu com as informações necessárias no ambiente CentOS, configuração do nagios, que testou e está usando em produção a solução descrita nesse post.

A todos um grande abraço, espero que tenham gostado e possam utilizar dessa solução no ambiente de vocês.

Diego Pitombeira dos Prazeres

Posted in: Dica, Rede