>
Esta vez vamos a engordar nuestro sistema de monitoreo para poder chequear en una sola vista si a los servidores linux que administramos les hace falta algún upgrade. Para ello Nagios nos brinda el comando check_apt (/usr/lib/nagios/plugins/check_apt) el cual responde un OK si es sistema está al día o un Warning si le hace falta realizar un upgrade.

root@serverNagios:~# /usr/lib/nagios/plugins/check_apt
APT WARNING: 9 packages available for upgrade (0 critical updates).
root@serverNagios:~#

Para utilizarlo solo se debe agregar en el archivo de configuración del nagios (/etc/nagios3/conf.d/server0102.cfg) las líneas siguientes:

define service{
use generic-service
host_name serverNagios
service_description APT
check_command check_apt
notification_period 24×7
}

Hasta ahora la parte fácil. El tema es que esta verificación se realiza de manera local, o sea que estamos chequeando si hace falta instalar alguna actualización solo en el servidor de Nagios. Como nuestra intensión es hacer este chequeo simultaneamente en todos los servidores linux debemos hacer que este comando (el check_apt) se ejecute en cada uno de los host, y para que esto sea lo mas seguro posible lo vamos a configurar mediante otro comando disponible en la instalación del Nagios, el check_by_ssh.

Lo primero que haremos es generar un juego de claves para conectarnos por ssh al host sin la necesidad de escribir una contraseña. Ya que el metodo es exactamente el mismo que utilizamos para la instalación del Backuppc no vamos a repetir el mismo. Lo que si vamos a hacer es recomendar un repaso por dicho post.

Además de la generación del usuario para conexión de ssh y el agregado de la clave en el archivo authorized_key es necesario instalar las nagios-plugins mediante el ya conocido comando apt-get

root@serverHost:~# apt-get install nagios-plugins

Para probar el uso del comando check_apt vía check_by_ssh podemos ejecutar:

root@serverNagios:~# /usr/lib/nagios/plugins/check_by_ssh -H serverHost -l userSsh -i clave_rsa -C /usr/lib/nagios/plugins/check_apt

APT OK: 0 packages available for upgrade (0 critical updates).

Para realizar este chequeo de forma remota tenemos que generar un nuevo comando (generalmente almacenados es /etc/nagios-plugins/ ) y para hacer las cosas ordenadas convendría editar el plugin apt.conf de esa carpeta.

# ‘check_apt_by_ssh’ command definition power by pablo
define command{
command_name check_apt_by_ssh
command_line /usr/lib/nagios/plugins/check_by_ssh -H $HOSTADDRESS$ -l userSsh -i /var/run/nagios3/.ssh/id_rsa -C /usr/lib/nagios/plugins/check_apt
}

y ahora sí, agregamos las líneas correspondientes al archivo de configuración del host de Nagios.

define service{
use generic-service
host_name serverHost
service_description APT
check_command check_apt_by_ssh
notification_period never
}

y listo, despues de reinicias el Nagios tenemos los servicios de APT monitoreados en nuestro sistema.