segunda-feira, 23 de março de 2009

Script Muito simples para monitorar links

Para que nao esta afim de instalar aplicações de monitoramento, mas precisa de uma solução para monitorar links, foi o meu caso quando escrevi o script abaixo:

#!/bin/sh

# links a serem monitorados
link="10.0.0.1 172.16.0.1 192.168.0.1"
# diretorio do log
logPath="/var/log"
# prefixo do nome do arquivo
logFileName="linkState.log"

# O apontamento final do arquivo. Ex.: /var/log/linkState.log.Monday
logFile="${logPath}/${logFileName}.`date '+%A'`"
# apaga o arquivo se a ultima alteração for anterior a 6 dias - ROTATE -
find ${logPath} -name "${logFileName}.*" -mtime +6d -delete

# Marka que foi feita a checagem neste horario
echo "--== MARK ==-- $link - `date`" >> $logFile

# percore a lista de links
for l in $link ; do
# testa link
ping -c 1 -q -o $l >> /dev/null || {
# Reporta problema caso exista
echo "LINK DOWN $l : `date`" >> $logFile
}
done;

# evita injection
exit 0;

Nenhum comentário: