Você pode usar o ping. Embora a falha de ping não signifique necessariamente que seu sistema esteja inativo, isso também pode acontecer se a rede estiver inativa, mas acredito que, para a maioria das intenções e propósitos, essas são a mesma coisa. Você pode usar o seguinte script
#!/bin/bash
HOSTS="cyberciti.biz theos.in router"
COUNT=4
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print }' | awk '{ print }')
if [ $count -eq 0 ]; then
# 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
fi
done
Isso é de aqui . Você também pode configurar um cron job para este ou qualquer script semelhante para executar ping em todos os seus servidores após um intervalo regular.