Categories
Linux Programação Tutoriais

Script Bash para monitorar um ou vários sites e verificar se estão online

Como montar um pequeno script em Bash para monitorar e detectar quando um servidor, um host ou qualquer ou computador da rede está offline.

Este pequeno script em Bash, vai monitorar uma lista de sites, à sua escolha e vai avisar se algum deles não estiver online, em algum momento.
Como ele usa o comando ping, você também pode executá-lo dentro da sua rede local para monitorar diversos nós e ficar sabendo quando um for desligado.
Veja o código abaixo:


#!/bin/bash
# Um script feito para sistemas Linux e UNIX
# que faz monitoramento com o comando PING.

# adicione endereços IP ou hostnames, 
# separados por espaços em branco, para serem
# monitorados pelo script.
HOSTS="127.0.0.1 192.168.1.0 192.168.0.133 google.com"

# sem ping request
CONTADOR=1

# envia relatório de email quando...
ASSUNTO="Ping falhou"
EMAIL="elias@praciano.com"
for meuhost in $HOSTS
do
    contador=$(ping -v -c $CONTADOR $meuhost | grep 'received' | awk -F',' '{print $2}' | awk '{print $1}')
    if [ $contador -eq 0 ]; then
        echo "O Host: $meuhost está fora do ar (o ping falhou) em $(date) - $ASSUNTO - $EMAIL"
        # se você preferir receber um e-mail, descomente a linha abaixo
        echo "Host : $meuhost  ${NAME[$val]} está fora do ar (o ping falhou) em $(date)" | mail -s "$ASSUNTO" $EMAIL
    fi
done

O código pode funcionar melhor dentro de outro script ou sendo executado periodicamente, dentro do crontab do seu sistema.

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Referências

https://bash.cyberciti.biz/monitoring/monitor-windows-linux-server-with-ping-script/.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.