Pular para o conteúdo

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.
Victor Detoni victordetoni
Hits: 18.428 Categoria: Perl Subcategoria: Rede
  • Indicar
  • Impressora
  • Denunciar

Parte 2: 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           mymsn@hotmail.com
}

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

   1. Introdução
   2. Configurando Nagios
Nenhum artigo encontrado.

Impressão remota via WEB

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

Gerenciando redes com Perl e SNMP

Instalação de MRTG em ambiente Windows

Programando em Perl (parte 1)

#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ço@email) do destinatário, segue:

$perl msnp_status.pl "WARNING: Server1 down" meumsn@hotmail.com

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" debeijer@hotmail.com
/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" meumsn@hotmail.com

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

Entre na sua conta para comentar.