Enviando notificações do Nagios para o MSN

O Nagios é uma das melhores ferramentas de monitoração de serviços disponíveis. Dentre as características da ferramenta podemos citar sua flexibilidade no desenvolvimento de scripts para melhorar e ajustar determinadas monitorações de serviços específicos e também as formas de como as notificações serão enviadas, o que será tratado em nosso artigo.

[ Hits: 16.468 ]

Por: Victor Detoni em 04/11/2008


Configurando Nagios



Após a configuração do script msnp_status.pl é necessário configurar o Nagios para executar o script e enviar os parâmetros necessários para notificar.

Arquivo commands.cfg (ou o arquivo de configuração dos comandos que serão executados).

Crie as entradas para alarmes de host down:

# 'notify-host-by-msn' command definition
define command{
   command_name    notify-host-by-msn
   command_line    /opt/scripts/msnp_status.pl "***** Nagios *****    Notification Type: $NOTIFICATIONTYPE$  Host: $HOSTNAME$  State: $HOSTSTATE$  Address: $HOSTADDRESS$  Info: $HOSTOUTPUT$  Date/Time: $LONGDATETIME$" $CONTACTEMAIL$
}

e crie as entradas para alarmes de serviços:

# 'notify-service-by-msn' command definition
define command{
   command_name    notify-service-by-msn
   command_line    /opt/scripts/msnp_status.pl "***** Nagios *****  Notification Type: $NOTIFICATIONTYPE$  Service: $SERVICEDESC$  Host: $HOSTALIAS$  Address: $HOSTADDRESS$  State: $SERVICESTATE$  Date/Time: $LONGDATETIME$  Additional Info:  $SERVICEOUTPUT$" $CONTACTEMAIL$
}

Após a configuração acima, no meu caso, criei um template com os scripts que necessito para enviar via MSN, pois o de e-mail e pager já possuo:

define contact{
   name                            generic-contact-msn
   service_notification_period     24x7
   host_notification_period        24x7
   service_notification_options    w,u,c,r,f,s
   host_notification_options       d,u,r,f,s
   service_notification_commands   notify-service-by-msn
   host_notification_commands      notify-host-by-msn
   register                        0
}

e então configuro meu usuário para que sejam enviadas as informações:

define contact{
   contact_name    victor
   use             generic-contact-msn
   alias           Victor Detoni
   email           [email protected]
}

Enfim, desta forma foi como configurei. Tentei alguns testes como utilizar os parâmetros notify-service-by-email, notify-service-by-msn, mas por falta de tempo utilizei desta forma. Encontrei algumas dificuldades com a versão do Nagios 3.0.3 com estas opções.

Abraços,
Victor

Página anterior    

Páginas do artigo
   1. Introdução
   2. Configurando Nagios
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Impressão remota via WEB

Gerenciando redes com Perl e SNMP

Instalação de MRTG em ambiente Windows

Manipulação de sockets em Perl usando o IO::Socket::INET

Módulos de Web no Perl

  
Comentários
[1] Comentário enviado por paulorvojr em 04/11/2008 - 07:28h

Mas que bela contribuição ao mundo linux, parabéns!!
testei agorinha na versão 3.04 funcionou bem, vou continuar usando pra ver se nao tem problema.

Este belo artigo com o meu sobre instalar e configurar nagios é perfeito pra alguem que queira ser avisado de qualquer forma, so falta por pensamento.

abraços

[2] Comentário enviado por donabuba em 04/11/2008 - 15:11h

Os módulos que faltam são mostrados nessa linha que você colou?
Como a gente vê qual módulo está faltando?
E a sintaxe do CPAN?
Desculpa as perguntas triviais, mas ninguém sabe de tudo nessa vida né?

[3] Comentário enviado por victordetoni em 04/11/2008 - 16:36h

Sim, quando vc executa o script msnp_status.pl e caso seu sistema não tenha o módulo ele reclama com: "Can't locate Net/SSLeay.pm in @INC ..." Aonde o módulo "Net/SSLeay.pm" não foi encontrado nos diretórios que estão a frente. Para instalar vc pode executar o comando que passei acima ou pode buscar diretamente no search.cpan.com, procurando pela palabra "Net/SSLeay.pm". Baixe, descompacte (tar xvzf) e execute os comandos acima para compilar. Feito isso, é só dar risada.

[4] Comentário enviado por snails em 07/11/2008 - 08:15h

Bom dia,

Amigo, vi umas coisas nesse seu script. Você esqueceu de mencionar que a pessoa que for usar este script, precisa trocar o nome de usuário e senha do MSN....não sei se falo abobrinha, mas é o que parece...rsrsrs

Segundo...eu mesmo testei o script com seu user, com outro, resolvi as dependências do PERL e nada do trem mandar as mensagens....você saberia o pq ??

Obrigado pela atenção...

[5] Comentário enviado por flaviomalaquias em 17/11/2008 - 16:41h

Olá estou com o mesmo problema do amigo aí em cima..
resolvi as dependencias.. no meu caso foi Jcode .. instalei e tudo bem

executo o script

$perl msnp_status..

Minimum arguments not supplied!

MSNP Status plugin adapted for Nagios
Usage: msn <message> <recipient>

<message> = The message to send to the recipient.
<recipient> = The Recipient or System Administrator, whatelse.

está tudo bem ?
alguém pode nos ajudar?

Grato


[6] Comentário enviado por victordetoni em 17/11/2008 - 19:08h

Snails e Flaviomalaquias, primeiramente obrigado pela contrubuição... vamos lá!

Então, Snails caso seu problema seja igual ao do Flavio, significa que o script está funcionando perfeitamente, o que está ocorrendo é que para ele enviar mensagens, vc precisa colocar a mensagem e também o msn (endereç[email protected]) do destinatário, segue:

$perl msnp_status.pl "WARNING: Server1 down" [email protected]

Após isso, irá funcionar.

Snails,

Me informe mais detalhes sobre seu problema caso não tenha sido resolvido.

[7] Comentário enviado por snails em 17/11/2008 - 22:44h

Olá amigo...

meu problema não é igual o do Flavio....no meu caso o script funciona sem nenhuma mensagem de erro....o problema é que a mensagem que deveria chegar no MSN, não chega....

O script se comporta bem no linux, sem erros nem travadas...mas a mensagem não é enviada....

[8] Comentário enviado por dailson em 18/11/2008 - 13:39h

Parabéns pelo artigo!

[9] Comentário enviado por flaviomalaquias em 21/11/2008 - 20:01h

Finalmente consegui enviar a msg pelo $perl msnp.
peguei uma maquina do 0
instalei as dependencias basicas (g ++ e lib perl, openssl).

E peguei ip válido da internet ... pois alguma coisa na rede interna estava bloqueando.
acho q éa porta 1863 que o script utiliza q está bloqueada.

agora é só configurar o Nagios e partir pro abraço :D

Muito Obrigado Victor!!!

e Parabéns pelo tópico

[10] Comentário enviado por pedroni em 15/01/2009 - 17:48h

Olá Victor, o script roda certinho no shell mas pelo nagios faz o login no msn mas não chega a mensagem. No log aparece tudo certinho tbm. Utilizo Gentoo. Vc sabe o que pode ser?

[11] Comentário enviado por beijer em 22/04/2009 - 14:27h

B

[12] Comentário enviado por beijer em 22/04/2009 - 15:16h

B

[13] Comentário enviado por beijer em 22/04/2009 - 15:54h

/usr/local/nagios/sbin# perl msnp_status.pl "TESTE" [email protected]
/usr/local/nagios/sbin#


mas não sai nada, não chega nada no meu msn!

Alguém sabe dizer que bronca é essa?

Abraços!!!!

[14] Comentário enviado por victordetoni em 22/04/2009 - 17:46h

Opa... beleza?

Você entrou dentro do arquivo e mudou o usuário que irá autenticar no MSN...

lembrando que vc precisa ter o contato no seu MSN pessoal...

faça o teste...

Abraços
Victor

[15] Comentário enviado por djcelsodub em 14/05/2011 - 00:08h

Boa noite Victor,

Meu problema é o mesmo do Snails e do Beijer.

Nenhum erro apresentado... resolvi todas as dependencias

Criei um MSN exclusivo para o Nagios, adicionei-o ao meu MSN e executo via linha de comando:

perl msnp_status.pl "TESTE" [email protected]

Logo em seguida vejo o contato do Nagios ficando online... mas nada da mensagem chegar pra mim...

Alguma idéia do que possa ser?

Abraçoss...

Celso
Americana/SP


Contribuir com comentário