jueves, 5 de mayo de 2011

Instalar check_esx3.pl para nagios sobre ubuntu 9.04 (Monitorización de ESX, ESXI, VCENTER )

Este plugin sirve para monitorizar tanto host que contienen el hipervisor ESX o ESXi, así como las máquinas virtuales que contiene, a través de vsphere-cli for perl, de manera que se conecta directamente a los host esx o bien a través de un vcenter.

El plugin se puede obtener aquí: http://www.op5.org/community/plugin-inventory/op5-projects/check-esx-plugin#download_check_esx_code y la información relativa al plugin aquí: http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-esxi-vsphere-4-and-vcenter-server

Para que el plugin funcione lo primero que hay que ver es la versión de VMWare-vSphere-perl que hay que instalar, esto aparece en el propio texto del plugin, en el caso del plugin a día de hoy (18-02-2011), es la versión 161974.

Prerequisitos:

sudo apt-get install perl5
sudo apt-get update
sudo apt-get install libssl-dev

Para instalar VMWare-vSphere, copiamos el archivo a la máquina de nagios y descomprimimos:

tar xzvf VMware-vSphere-SDK-for-Perl-4.0.0-161974.i386.tar.gz

Entramos en el directorio creado y ejecutamos:

./vmware-install.pl

Se instala el programa, por lo que ya podemos usar el plugin, copiamos el plugin check_esx3.pl al directorio /etc/usr/local/nagios/libexec , con el usuario nagios.

Es posible que no funcione porque falten clases o módulos de perl, en este caso hay que instalarlos con el comando cpan, pero para que funcione el servidor debe poder conectarse a internet, para cargar los módulos.


Una vez hecho esto ya podemos usar cpan, y hacemos

sudo cpan Nagios::Plugin
sudo cpan Class::MethodMaker
sudo apt-install libcrypt-ssleay-perl
sudo apt-get install libxml-libxml-perl

Los módulos que pide la documentación de vsphere a instalar son:

Crypt‐SSLeay (0.51) [Crypt::SSLeay]
„ Data‐Dumper (2.102) [Data::Dumper]
„ MethodMaker (2.0.8) [Class::MethodMaker]
„ XML‐LibXML (1.60) [XML::LibXML]
„ libwww‐perl (5.805) [LWP]
si faltase alguno lo instalaríamos con cpan.

Podemos probar el comando ahora ejecutando:

sudo /usr/local/nagios/libexec/check_esx3.pl -H esxrb001 -u root -p laclave -l net

Para que el plugin funcione tiene el problema que hay que ejecutarlo como root, por lo que para que pueda ser así habrá que ejecutarlo con sudo desde nagios, para hacer esto, hay que dar permisos de sudo al usuario nagios para ese archivo concreto, esto se consigue añadiendo una línea al fichero sudoers, para editar ese fichero, ejecutamos el siguiente comando con el usuario administrador:

sudo visudo

Habrá que añadir la línea en negrita a continuación de la que no está en negrita:

root ALL=(ALL) ALL
nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_esx3.pl

Con esto conseguimos que se pueda ejecutar el plugin con sudo desde nagios y con el usuario nagios, en las definiciones de comandos, habrá que poner algo similar a lo siguiente:

define command {
command_name check_esx3_host
command_line sudo $USER1$/check_esx3.pl -H $HOSTADDRESS$ -u $USER11$ -p $USER12$ -l $ARG1$ -s $ARG2$ -w $ARG3$ -c $ARG4$
}

Las variables $USER11$ Y $USER12$ se definen en el fichero /usr/local/nagios/etc/resource.cfg y en este caso son el usuario y la contraseña para acceder a los esx, el usuario en principio será nagios y la contraseña .........

Con esto podremos monitorizar los servidores esx, sus máquinas virtuales así como el vcenter.

lo que se puede hacer está definido en el fichero de ayuda que viene con el plugin.

Como nota final, hay que tener en cuenta que cada llamada al plugin y en consecuencia cada llamada al vsphere tarda en ejecutar y carga mucho el servidor nagios, por lo que hay que tener cuidado con la frecuencia con la que se ejecuta las llamadas al plugin, puesto que podría sobrecargar demasiado el sistema, si esto fuese así, habría que recurrir a la monitorización a través de snmp.