martes, 11 de junio de 2013

Notificaciones de Centreon en el escritorio Ubuntu

Hola,

hemos realizado un script en bash que chequea la URL del servidor de centreon y nos avisa si hubiera alguna alerta con nuestros servidores. Se aprovecha el servicio de notificaciones de Ubuntu para enviar estos mensajes al escritorio.  Para su reutilización se ha de modificar la URL target y el usuario/password ya que los del script son ficticios.

El script:
#!/bin/bash                                                                                                                                                            
# Guardar cookies                                                                                                                                                        
USERNAME=admin                                                                                                                                                      
CHECK_INTERVAL=120                                                                                                                                                      
EXCEPTIONS_FILE="/etc/notify-exceptions"                                                                                                                                
# Gets                                                                                                                                                                
check(){                                                                                                                                                              
        FILE=`mktemp`                                                                                                                                                  
        COOKIES_FILE=`mktemp`                                                                                                                                          
        EXCEPTIONS=`cat $EXCEPTIONS_FILE`                                                                                                                                
        wget --keep-session-cookies --save-cookies $COOKIES_FILE --post-data "useralias=$USERNAME&password=$PASSWORD&submit=Connect+%3E%3E" http://myserver.com/centreon/index.php -O /dev/null 2> /dev/null
        wget --load-cookies $COOKIES_FILE -p http://myserver.com/centreon/include/home/tacticalOverview/xml/ndo/tacticalOverviewXml.php -O $FILE 2> /dev/null
        cat $FILE | tr "<" "\n" |sort | uniq |grep -i "\[sucs" |cut -c9-15 > $FILE
        NUMBER_OF_HOSTS=`diff $FILE /etc/notify-exceptions | grep "^<" | cut -d " " -f2 | wc -l`
        rm $FILE $COOKIES_FILE
        echo $NUMBER_OF_HOSTS
}
# Bucle
while true
do
        RES=`check`
        if  [[ $RES  -ne 0 ]] ; then
                notify-send --urgency=low -i "terminal" "Alerta Unix" "Eventos en $RES servidores."
        fi
        sleep $CHECK_INTERVAL
done
rm $HOSTS_FILE
El resultado:



Saludos!!



No hay comentarios:

Publicar un comentario