Monitorar hosts por meio de ping

Depois de publicar aqui o meu script em bash para Enviar comando via SSH para Mikrotik, compartilho com os leitores do blog outr script em bash que na verdade não sou seu verdadeiro autor, confesso. Porém já fica difícil dar os devidos créditos, pois já o uso há algum tempo e perdi as referências que usei para montá-lo, caso volte a encontrá-las atualizarei o post com as informações completas, peço desculpas desde já.

Este script parte do princípio do mesmo já citado anteriormente, temos uma lista de hosts em um arquivo separado de nome “hosts.txt” – mas nada impede de usarmos o mesmo arquivo criado anteriormente – lembrando que devemos inserir um ip por linha dentro deste arquivo.

Um requisito não obrigatório mas muito interessante é que tenhamos no micro/servidor onde executaremos este script um servidor Sendmail instalado e funcional, pois desta forma o script enviará um e-mail de alerta para o endereço cadastrado quando houverem falas de ping; caso não tenhamos um servidor de e-mail configurado nosso script apenas irá gerar os logs de registro.

Pois bem, com os ip’s dos hosts devidamente cadastrados em nosso arquivo, podemos fazer nosso script conforme abaixo; com estas configurações ele irá executar um teste de ping enviando 4 requisições para cada host, em caso de falha será gerado um log para podermos analisar e termos os registros para análise. Como dito anteriormente, se possuirmos um servidor de e-mail rodando em nossa máquina, também será enviado um e-mail de alerta a cada falha.

Com o script devidamente configurado, uma boa opção é deixá-lo programado em nosso crontab com intervalos regulares, de 1, 5 ou talvez 10 minutos (fica a seu critério) para termos nossa monitoria constante.

Este script fica como alternativa para diversos sites e serviços de uptime que vemos na Internet, muitos deles sendo até mesmo pagos, acreditem, alguns fazem simplesmente só isso.

Fica aqui registrada a dica de mais um bash script, por mais simples que seja, sempre serve ao menos para o nosso aprendizado. Se quiser sugerir algo, mandar um “Hello, world!” ou mesmo reclamar, me siga no Twitter.


About Felix

Evangelista de Software Livre, Sysadmin, Programador... Apenas mais um nerd que lê gosta de ler, assistir filmes e séries e se põe a escrever suas ideias por aí.


   5 Comments


  1. RJardim
      15 de novembro de 2012

    sei que o post é antigo mas estou utilizando ele com envio de sms através do bash, se tiverem interesse posso postar a solução aqui.

    • Greyson Farias
        16 de fevereiro de 2014

      manda aí brow a solução e a propósito, testei o script e ele retorna este erro:
      ./monitor.sh: line 20: erro de sintaxe próximo do token' não esperado count=$(ping -c $COUNT $myHost | grep ‘received’ | awk -F’,’ ‘{ print $2 }’| awk ‘{ print $1 }’)’
      ./monitor.sh: line 20: ` count=$(ping -c $COUNT $myHost | grep ‘received’ | awk -F’,’ ‘{ print $2 }’| awk ‘{ print $1 }’)’

      você sabe dizer como resolver?

  2. layon
      1 de maio de 2016

    Parabéns muito bom gostaria de uma ajuda estou montando um script que monitora o status das sessões BGP se tiver “established” troca a porta em ip service api-ssl 8181.

    if (/routing bgp peer get [find state=”established”]) [/ip service set port=8181 api-ssl]

    else

    /ip service set port=8180 api-ssl

  3. Ricardo Maioli
      1 de setembro de 2016

    Olá Felix, quero te parabenizar pela ótima didática, e também pelos vários tutoriais que tem postado em seu blog. Aproveito para dizer, continue… pois é de pessoas assim que o mundo precisa, dispostos a ajudar o próximo.
    Sou professor de informática, e não é sempre que vemos profissionais ajudando os outros, como você faz. Eu penso da mesma maneira e sempre que posso ensino as pessoas(fora do horário das aulas claro, rsrsr). Pois poder passar o conhecimento adquirido é aprender novamente e ficar cada vez melhor.
    Muito massa.
    PARABÉNS!!!

    • Felix
        2 de setembro de 2016

      Bom dia Ricardo.

      Você não tem ideia de como é acordar em uma sexta-feira, chegar no trabalho e ler um comentário destes.

      Seu comentário, assim como muitos outros são motivação para continuar escrevendo. Procurarei ser mais frequente nas publicações e sempre melhorar, muito obrigado pelo incentivo.

      Sucesso para você.

      Abraços,
      Felix

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *