Monitorar servidores e enviar alertas por e-mail e SMS

Neste artigo, mostro uma pequena ideia para monitorar servidores em uma rede e ser informado sobre algo errado através e-mail e SMS.

[ Hits: 35.679 ]

Por: William Amaral de Souza em 30/08/2013


Apresentação



Este é meu primeiro artigo compartilhado no VOL, então, não sei muito bem o que colocar para começar e por isso, vou direto ao assunto.

Estava a procura de algo para avisar se algum servidor perdesse rede, ou algo assim, que fizesse o mesmo parar de responder na rede, então, pesquisei sobre scripts para avisar por e-mail sobre estes eventos.

Encontrei bastante conteúdo na Internet, mas logo veio uma duvida: e se o próprio servidor que está a executar o script estiver sem rede, ou se o servidor de e-mail perder a rede, e se a internet não estiver funcionando?

Então, resolvi enviar estas mesmas mensagens por SMS. Fui à cata de conteúdo. Encontrei também alguma coisa na Net (mas até que não muito), então juntei tudo e desenvolvi minha ideia.

Claro que não é 100%. Vai que o servidor que está executando o script desligue. Mas, já é uma alternativa bem legal.

O que utilizei para colocar em funcionamento:

Hardware:
  • Servidor Ubuntu server 10.04
  • Modem 3g USB Huawei
Software:
  • SendEmail
  • Gammu

Instalação

Mão na massa.

Obs.: todos comandos aqui listado foram executados como root.

Instalação do SendEmail para enviar os e-mails:

# apt-get install sendemail libnet-ssleay-perl libio-socket-ssl-perl

Instalação do Gammu, para enviar SMS:

# sudo apt-get install gammu

Pronto, tudo instalado. Agora, é só plugar o modem 3G em alguma USB, e listar as portas criadas para o mesmo.:

# ls /dev/tty*

Mostrará uma lista de tty. A que vamos usar neste caso, é a "ttyUSB0" ou "ttyUSB1". Executaremos com uma para testar, se não funcionar, testaremos com a outra.

Configuramos o Gammu:

# gammu-config

Pressione Enter para editar e colocar a porta criada para o modem:

Enter, para Aceitar:
Clique em “Save” para salvar:

Pressione Enter para aceitar e criar o arquivo mencionado na tela, que contém a configuração do Gammu.

Vamos testar se o modem foi encontrado na porta mencionada:

# gammu --identify

Deverá aparecer algo como esta tela:

Se isso aparecer, está tudo OK. Se não aparecer, execute novamente o comando gammu-config e mude para a porta "/dev/ttyUSB1" e teste novamente.

Teste

Testando se está enviando SMS e enviando e-mail.

Para testar envio do SMS:

# echo teste | gammu --sendsms TEXT NumeroParaQuemVaiOsms

E receberá o SMS com a palavra: “teste”

Para testar o envio de e-mail:

# sendEmail -f EMAIL_DE -t EMAIL_PARA -u "ASSUNTO" -o "MENSAGEM" -s SERVIDOR_SMTP -xu EMAIL_DE -xp SENHA

E receberá o e-mail com o assunto e a mensagem colocada no comando acima.

    Próxima página

Páginas do artigo
   1. Apresentação
   2. Funcionamento
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Utilizando "expr" para "String Matching" através de expressões regulares em shell

Redirecionamentos, Pipes e Fluxos

Operadores de redirecionamento

Recebendo seu IP dinâmico via email

Definição automática de wallpaper em função do horário

  
Comentários
[1] Comentário enviado por ederpaulopereira em 30/08/2013 - 08:29h

Muito legal seu artigo, já add nos favoritos! O linux sempre me surpreende (positivamente é claro). Sempre tem um jeito de fazer algo.

[2] Comentário enviado por dannyalisson em 30/08/2013 - 10:21h

Parabéns muito bom.

[3] Comentário enviado por Valdivino Aquino em 30/08/2013 - 15:11h

Parabéns pela iniciativa think linux, artigo favoritado!

[4] Comentário enviado por dennylawrence em 30/08/2013 - 16:12h

Fantástico o artigo e a idéia!
Favoritei tmb

[5] Comentário enviado por reng.unip em 30/08/2013 - 16:49h

Parabéns, ótimo artigo!!!

[6] Comentário enviado por marcioprt em 30/08/2013 - 19:45h

Vou testar, parabéns, já esta nos favoritos.

[7] Comentário enviado por blaiser em 30/08/2013 - 20:22h

Parabéns e favoritado !!!

[8] Comentário enviado por Williamm em 30/08/2013 - 20:54h

Muito obrigado a todos, o script da para dar uma boa melhorada, mas espero ajudar a todos que precisarem desta ideia compartilhada!

[9] Comentário enviado por MarceloTheodoro em 31/08/2013 - 01:17h

Colega... você não tem ideia do tanto que me ajudou! rs

Na verdade, não pelo script em si, mas a ideia de enviar informações do próprio servidor via SMS me ajudou a bolar uma ótima ideia para resolver um problema antigo. :)

Muito obrigado.

[10] Comentário enviado por felipetravassos em 31/08/2013 - 02:47h

Maravilhoso artigo!
Parabéns e abraços

[11] Comentário enviado por px em 01/09/2013 - 18:42h

Adoro pessoas que inovam e fazem nosso horizontes se ampliarem! muito obrigado por dividir sua ideia com a comunidade! nota 10!

[12] Comentário enviado por gpxlnx em 02/09/2013 - 17:55h

Parabens pelo artigo amigo, só uma dúvida, na linha " elif [ $(cat $local/$i-OFF.txt) -eq 34 ]; then" no fim do arquivo nao seria apenas 4 ao invez de 34? vlw

[13] Comentário enviado por Williamm em 02/09/2013 - 18:53h


[12] Comentário enviado por gpxlnx em 02/09/2013 - 17:55h:

Parabens pelo artigo amigo, só uma dúvida, na linha " elif [ $(cat $local/$i-OFF.txt) -eq 34 ]; then" no fim do arquivo nao seria apenas 4 ao invez de 34? vlw


Muito obrigado, mas a respeito da sua dúvida, esta parte do script é para alertas contínuos, você pode alterá-lo, pois assim ele não envia os alertas em curto prazo de tempo, no exemplo ele envia os alertas contínuos em torno de a cada 30 minutos após o primeiro alerta. Qualquer duvida to ai, e obrigado novamente.

[14] Comentário enviado por fmpfmp em 16/12/2013 - 13:34h

Não sabia que tinha como enviar SMS pelo Linux plugando um modem 3G nele. Bem legal.

[15] Comentário enviado por darles em 18/12/2013 - 22:40h

Parabens pelo artigo cara. É possível usar a propria placa de rede ao inves de modem? como?

[16] Comentário enviado por Williamm em 19/12/2013 - 21:33h


[15] Comentário enviado por darles em 18/12/2013 - 22:40h:

Parabens pelo artigo cara. É possível usar a propria placa de rede ao inves de modem? como?


Obrigado, sobre sua pergunta acho que até tem como, mas não com este script, eu encontrei bem pouco conteúdo sobre isso, por isso bolei esse artigo...

[17] Comentário enviado por luc1anocruz em 02/08/2014 - 10:14h

Parabéns pelo tutorial. Estou a procura de "quase isso" eu preciso de algo que fique pingando um servidor na rede, e ao não ter resposta do ping ele envia uma SMS para o celular do administrador, estava pensando em um aplicativo que ficasse rodando em uma outra maquina com uma internet mais confiável, alguém ae sabe se existe algo pronto ? pois tenho um servidor e as vezes a internet dele cai, então eu queria monitorar em tempo real quando a internet dele cair.

[18] Comentário enviado por williamm em 02/08/2014 - 21:22h


[17] Comentário enviado por luc1anocruz em 02/08/2014 - 10:14h:

Parabéns pelo tutorial. Estou a procura de "quase isso" eu preciso de algo que fique pingando um servidor na rede, e ao não ter resposta do ping ele envia uma SMS para o celular do administrador, estava pensando em um aplicativo que ficasse rodando em uma outra maquina com uma internet mais confiável, alguém ae sabe se existe algo pronto ? pois tenho um servidor e as vezes a internet dele cai, então eu queria monitorar em tempo real quando a internet dele cair.


Obrigado, mas o que você est'procurando não é exatamente o que o script faz?
Você coloca ele rodar em um servidor ou até mesmo para monitorar o proprio e quando ele nao retornar um ping a um determinado IP ou o IP de outro servidor ele lhe envia um SMS e até mesmo um e-mail.... Qualquer coisa posso tentar lhe ajudar, ao existir outros programas que façam isso tem um que não sei ao certo como funciona mas é o PHP server monitor.
http://www.phpservermonitor.org/

[19] Comentário enviado por felipe19 em 29/04/2015 - 14:31h

muito bom o artigo, parabéns! Me ajudou a resolver um problema...
Amigo, sabe me dizer se tem como eu fazer um envio em massa? Tipo, enviar vários SMS "de uma vez".

[20] Comentário enviado por Williamm em 04/05/2015 - 17:48h


[19] Comentário enviado por felipe19 em 29/04/2015 - 14:31h

muito bom o artigo, parabéns! Me ajudou a resolver um problema...
Amigo, sabe me dizer se tem como eu fazer um envio em massa? Tipo, enviar vários SMS "de uma vez".


Obrigado, olha não cheguei a testar algo parecido, mas você pode testar utilizando um arquivo com os números e fazer um laço para que envie a mesma mensagem para cada um que estiver no arquivo.

[21] Comentário enviado por windpanda em 05/12/2015 - 13:11h


Parabéns pelo artigo, vou montar aqui em casa para ver como fica :) vlw


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts