systemadmin.es > Script > Comprobar la caducidad de la garantía de Dell mediante Nagios

Comprobar la caducidad de la garantía de Dell mediante Nagios

Una de las tareas más pesadas, repetitiva y aburrida es la comprobación de la garantía de los servidores. Mediante el siguiente script integrable con Nagios podemos comprobar el estado de la garantía automáticamente y recibir alertas desde el Nagios.

Actualización: Existe una segunda versión de este check para comprobar garantías de Dell

Su funcionamiento es simple, le pasamos como parámetro el serial del equipo y nos contestará OK si quedan más de 30 días y CRITICAL en caso que queden menos de 30:

$ ./check_dell_support 6333Q3J
OK - 1061 days left - 1061 days left
$ ./check_dell_support 9YYYY2J
CRITICAL - 0 days left
$ ./check_dell_support putarata
0 WTF?!?!?!?!?!??!

El script es el siguiente:

#!/bin/bash

GALETA=$(mktemp /tmp/dell.galeta.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)

wget 'http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details' --save-cookies $GALETA -O /dev/null 2>/dev/null 

COUNT=0
RESULTS=""

for i in $(wget --load-cookies $GALETA --post-data "ServiceTagNumber=&logout=&ServiceTag=$1" 'http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=dhs&cs=19' -O - 2>/dev/null|  sed 's/<tr[^>]*>/jordiINTROjordi/g' |sed 's/<[^>]*>/ /g' | sed 's/ / /g' | sed 's/{[^}]*}/ /g' | grep ".contract_table" | sed 's/jordiINTROjordi/\n/g' | grep -v ".contract_table" | awk '{ print $NF }' | grep "^[0-9]*$");
do
	if [ $i -le 30 ];
	then
		echo CRITICAL - $i days left - $1
		exit 2
	fi
	RESULTS="$RESULTS - $i days left"
	
	let COUNT=COUNT+1
done

rm $GALETA

if [ $COUNT -eq 0 ];
then
	echo "$COUNT WTF?!?!?!?!?!??!"
	exit 3
else
	echo OK $RESULTS
fi

Para evitar tener que buscar el serial de cada equipo podemos usar la instrucción dmidecode:

# dmidecode --type 1 | grep "Serial" | awk '{ print $NF }'
DX2323J

A continuación podemos generar en cada equipo la entrada en el NRPE y reinciar el daemon.

# echo "command[check_dell_support]=/usr/local/nagios/libexec/check_dell_support $(dmidecode --type 1 | grep "Serial" | awk '{ print $NF }')" >> nrpe.cfg

A continuación añadimos el check en el Nagios:

define service{
        use                             local-service         ; Name of service template to use
        host_name                       maria
        service_description             Garantia Dell
        check_command                   check_nrpe!check_dell_support
        check_interval                  1440
        notification_interval           1440
        retry_interval                  1440
        max_check_attempts              1
        }

Dicha comprobación la haremos una vez al dia (cada 1440 minutos) ya que no tiene ningún sentido hacerla más frecuentemente.

Check de Nagios para el soporte de Dell

Check de Nagios para el soporte de Dell

3 comments to “Comprobar la caducidad de la garantía de Dell mediante Nagios”

  1. Me ha parecido sobresaliente la idea…. y el script!!!

  2. ehlo,

    Muy interesante, probado y funcionando!

    salu2!
    .

  3. Muchas gracias! Siempre he odiado las tareas repetitivas, por lo que suelo buscar formas más divertidas de hacerlas

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>