Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Monitorando servidores pelo celular

Colaboração: Daniel Roberto

Data de Publicação: 09 de Abril de 2007

Hoje irei mostrar um script que me ajudou muito a monitorar meus servidores, ele envia um e-mail de aviso para você quando um dos servidores estiver fora do ar.

Você já deve conhecer algum utilitário que faça a mesma coisa, mas tem algo que este faz a mais. Usando um serviço do yahoo mail você pode redirecionar os e-mails recebidos para o seu celular e desta maneira ser informado de uma queda em qualquer lugar onde você estiver!!!

Você vai precisar instalar o programa msmtp.

  apt-get install msmtp

Se você utilizar outra distribuição visite http://sourceforge.net/project/showfiles.php?group_id=86651&package_id=90067&release_id=480212

Depois de instalar o programa, vamos configura-lo. Crie um arquivo na pasta home do usuário que vai executar o script com o nome ".msmtprc" e cole todo conteúdo abaixo:

  account NOME_DO_USUARIO
  host smtp.mail.yahoo.com.br
  from EMAIL_VALIDO_NO_YAHOO
  auth login
  user NOME_DE_USUARIO_DO_EMAIL
  password SENHA_DO_EMAIL
  #If your SMTP Server supports TLS encryption, uncomment the next line
  #tls
  
  account default:NOME_USUARIO_DO_SISTEMA

Atenção observe que o arquivo ".msmtprc" é oculto. Agora execute o comando chmod 600 .msmtprc para modificar as permissões do arquivo. Depois disto crie outro arquivo ainda na pasta home com o nome verifica e cole este conteúdo nele

  #!/bin/sh
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  #Script para verificação de servidores
  #
  #Feito por DRMO
  #12/10/2006
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  
  local=' uol.com.br'
  server1="NOME OU IP DO SERVIDOR"
  server2="NOME OU IP DO SERVIDOR"
  mail=SEU_EMAIL_VALIDO ( Só lembrando que este e-mail foi aquele configurado anteriormente no msmtp)
  
  # Verificando link local (pingando host na internet)
  
  ping -c 5 "$local"
  [ $? = 1 ] && exit
  
  # Pingando servidor numero 1
  
  ping -c 5 "$server1"
  [ $? = 1 ] && {
  echo -e "From: alerta@alertando.com.br
  Subject: servidor \n
  \n\n
  "$server1" is down" | msmtp "$mail"
  }
  
  sleep 10
  
  # Pingando servidor numero 2
  
  ping -c 5 "$server2"
  [ $? = 1 ] && {
  echo -e "From: alerta@alertando.com.br
  Subject: servidor \n
  \n\n
  "$server2" is down" | msmtp "$mail"
  }

Observe que primeiro foi feita uma verificação no "uol.com.br" para eliminar possíveis erros de conexão com a internet, só depois foi realizado o teste nos servidores.

Agora crie um arquivo ainda na pasta home com nome de "controler_verifica" e cole este conteúdo nele:

  #!/bin/sh
  # Matando processos existentes
  pide=$(cat /tmp/controler)
  kill -9 "$pide"
  # Coloque aqui o valor de tempo em minutos com 1 (um) digito, que será o intervalo entre as verificações
  #Exemplo: 10 = "Dez minutos"
  tempo=20
  
  time=$((60 * $tempo))
  # Criando pid
  echo "$$" > /tmp/controler
  # condicional loop
  
  while :
  do
  ~/verifica
  sleep "$time"
  done

Crie só mais um arquivo ainda na pasta home com o nome de "matar_controler" e cole este conteúdo nele:

  #!/bin/sh
  pide=$(cat /tmp/controler)
  kill -9 "$pide"

Agora execute o comando na pasta home "chmod +x verifica controler_verfica matar_controler" para tornar os arquivos executáveis.

Faça:

  ./controler_verifica&

Faça um teste!! Simule um servidor fora do ar!

Você já deve estar recebendo mensagens no seu e-mail do yahoo

Vá até este site e crie sua conta e siga as instruções de configuração http://br.mobile.yahoo.com/mailalertas/

Crie também o filtro no Subject com o assunto "servidor" para que a mensagem seja enviada para o seu celular.

Só lembrando que cada mensagem recebida no celular te torra +ou- 10 centavos!!

Eu só quero que este script rode das 8:00 às 06:00 de segunda à sexta. Pois não quero ser acordado por uma mensagem no celular às 4:00 da manha né!!!!!!!!

Então coloco isso na crontab

  00 8    * * 2-6 daniel   ~/controler_verifica
  00 18    * * 2-6 daniel   ~/matar_controler

Resumo

O resultado será um script que testa 2 (ou mais) servidores de 10 em 10 minutos de segunda à sexta das 8:00 às 18:00. Obviamente você irá precisar de no mínimo 2 maquinas pois não seria possível a entrega do e-mail se maquina estiver fora!!

Veja a relação completa dos artigos de Daniel Roberto

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1442 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Asterisk na Prática 2ª Edição