Translate

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.

MySQL. Configurar MySQL para utilizar MySql GUI

Al instalar una base de datos mysql, nos crea un usuario root que tiene todos los privilegios sobre la base de datos, pero que sólo se puede acceder desde el servidor local.
Si queremos usar la Mysql GUI desde nuestro equipo para manejar bases de datos MySql, tendremos que hacer lo siguiente:
En el servidor MySql editar el fichero /etc/mysql/my.cnf y en la línea con la entrada bind-address sustituimos el valor 127.0.0.1 por 0.0.0.0 (¡¡¡CUIDADO!!! poniendo 0.0.0.0 puede acceder cualquier ip a nuestro servidor mysql, si no queremos que sea así, habrá que poner las ips concretas)
A continuación abrimos el programa mysql para conectar al servidor como el usuario root :
shell> mysql --user=root mysql [--password=contraseña]
Si se ha asignado una contraseña a la cuenta root, debemos añadir la opción --password o -p
Añadimos nuevos usuarios con el el siguiente comando:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
o
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
En el primer caso se crea un usuario llamado monty con todos los permisos, pero que sólo se puede conectar desde el servidor local donde está instalada la base de datos.
En el segundo caso lo que se crea es un usuario llamado monty con todos los permisos que puede conectarse desde cualquier host, esto es así gracias al modificador '%', que es el tipo de usuario que tendremos que crear para poder conectar con MysqlGUI.
Efectuaremos la instalacion de MySQL GUI en el equipo desde el cual vayamos a administrar nuestras bases de datos, y a partir de entonces podemos acceder a las bases de datos con el usuario creado anteriormente.
Was this page helpful?

miércoles, 4 de mayo de 2011

Instalación del Addon NDOUTILS para Nagios sobre Ubuntu 9.04

NDOUTILS es un addon para nagios, lo que hace es ir guardando todos los datos de Nagios en una base de datos, para luego con otras aplicaciones poder explotar estos datos, como por ejemplo nagvis.
La documentación oficial para la instalación se puede encontrar en este enlace:http://nagios.sourceforge.net/docs/ndoutils/NDOUtils.pdf , pero el problema es que en lo referente a la instalación, no es una documentación muy aclaratoria.
Para instalar este addon debemos seguir los siguientes pasos (instalación para nagios sobre Ubuntu):
  • En la máquina donde tenemos instalado el servidor de nagios, copiamos el archivo comprimido de ndoutils, que se puede descargar aquí: http://www.nagios.org/download/addons.
  • Una vez tenemos el archivo lo copiamos a una carpeta (por ejemplo al home del usuario administrador), y lo descomprimimos con la orden: tar xzf ndoutils-1.4.tar.gz , cambiando ndoutils-1.4.tar.gz por el nombre del archivo que tengamos nosotros.
  • Ahora antes de nada tenemos que instalar los paquetes mysql-client y libmysqlclient16-dev, ya que son el cliente de mysql necesario para conectarnos a la base de datos, si, como es en mi caso, la máquina donde está el servidor de bases de datos es una máquina diferente del servidor de Nagios. Por otro lado el paquete libmysqlclient16-dev son las librerías de mysql necesarias para compilar el programa ndoutils. (se instalan con sudo apt-get install con el usuario administrador)
  • Ahora nos colocamos en el directorio donde hemos descomprimido ndoutils y ejecutamos: ./configure , lo que hace que configure el programa, una vez hecho esto y comprobando que no hay errores ejecutamos make, con lo que compilamos los programas en cuestión.
  • Dentro de la carpeta que hemos descomprimido, en el directorio src se han creado los archivos
    • ndomod-2x.o y ndo2db-2x <- Que funcionan para Nagios 2.x
    • ndomod-3x.o y ndo2db-3x <- Que funcionan para Nagios 3.x
    • Y también hay otros dos binarios los cuales sirven para cualquier versión: file2sock y log2ndo
  • Nosotros como tenemos versión Nagios 3.x escogemos ndomod-3x y ndo2db-3x, y junto con file2sock y log2ndo los copiamos todos en la carpeta bin de nagios (normalmente en /usr/local/nagios/bin/). con el comando
    • sudo cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
  • Hay que ver que el propietario y el grupo de cada uno de los ficheros anteriores sea nagios, si no es así, habrá que ejecutar
    • sudo chown nagios:nagios /usr/local/nagios/bin/*
  • Después habrá que crear una base de datos en el servidor de bases de datos, daremos un nombre que queramos a la base de datos, por ejemplo "nagios", y creamos también un usuario con permisos de SELECT, INSERT, UPDATE, and DELETE para esa base de datos.
  • Ahora creamos las tablas necesarias para la base de datos, esto se puede hacer ejecutando un script (habrá que ejecutarlo con el usuario administrador de la base de datos) que está en el directorio /db dentro del directorio que hemos descomprimido. Habrá que ejecutar
    • ./installdb -u administrador -p contraseña -h ip servidor mysql o nombre -d base de datos (observar que no hay que crear la base de datos con el usuario creado anteriormente, sino con uno que tenga todos los permisos sobre la base de datos).
  • Editamos el fichero nagios.cfg, dentro del directorio config de la carpeta descomprimida y copiamos las líneas a nuestro fichero nagios.cfg (por ejemplo al final del fichero) que normalmente se encuentra en /usr/local/nagios/etc/, pero habrá que modificar las rutas que aparecen si la ruta no es esa, quedaría como pone en las siguientes líneas:
# SAMPLE NAGIOS CONFIG SNIPPET FOR NDOMOD
#
# In order to have Nagios run the NDOMOD event broker module, you'll need
# to place a statement like the one found below in your main Nagios
# configuration file (nagios.cfg). Adjust the paths, etc. to suit your needs.
# Uncomment the line below if you're running Nagios 2.x
#broker_module=/usr/local/nagios/bin/ndomod-2x.o config_file=/usr/local/nagios/etc/ndomod.cfg
# Uncomment the line below if you're running Nagios 3.x
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
  • Copiamos los archivos de configuración al directorio de configuración de nagios que son ndomod.cfg-sample y ndo2db.cfg-sample, estos archivos de configuración para ndoutlis están en la carpeta /config de la carpeta descomprimida
    • cp ndomod.cfg-sample ndo2db.cfg-sample /usr/local/nagios/etc
    • les cambiamos el nombre por ndomod.cfg y ndo2db.cfg con el comando mv
    • nos aseguramos de que la propiedad y el grupo de estos dos ficheros es nagios, y que sus permisos son 775.
  • Ahora debemos modificar los ficheros ndomod.cfg y ndo2db.cfg para que se pueda conectar a la base de datos, así que habrá que modificar lo que sea oportuno en cada fichero, como es la base de datos, el host donde está, el usuario de la base de datos y la contraseña. Normalmente sólo habrá que cambiar en el fichero ndo2db.cfg la variable db_host, que será el host donde está el servidor mysql, o bien la ip o bien el nombre, la variable db_name, que es el nombre de la base de datos (nagios en nuestro caso), db_user que es el usuario que hemos creado y db_pass que es la password de este usuario, generalmente no hay que cambiar nada mas.
  • También habrá que asegurarse de que en el fichero usr/local/nagios/etc/nagios.cfg hay una línea que pone lo siguiente: event_broker_options=-1
  • Después iniciamos el demonio NDO2DB con el siguiente comando:
    • /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  • También habrá que reiniciar nagios con
    • /etc/init.d/nagios reload o bien /etc/init.d/nagios restart

EJECUTAR EL DEMONIO NDO2DB CUANDO INICIA EL SISTEMA

Si dejamos todo como hasta ahora, el demonio NDO2DB se ejecutaría, pero cuando se reiniciase la máquina, no se reiniciaría el demonio NDO2DB, para que esto ocurra deberemos dar los siguientes pasos:
  • Dentro del directorio que descomprimimos hay un script que se llama daemon-init, copiamos este script con el siguiente comando:
    • sudo cp daemon-init /etc/init.d/ndo2db
  • Habrá que cambiar los permisos del script de manera que sea ejecutable, esto es con el comando:
    • sudo chmod 755 ndo2db
  • Una vez copiado el script (ya lo podremos ejecutar), ya podemos iniciar, parar, reiniciar, etc el demonio ejecuntando /etc/init.d ndo2db y con el modificador que queramos.
  • Para que se ejecute automaticamente cuando arrancamos la máquina hay que ejecutar el siguiente comando
    • sudo ln -s /etc/init.d/ndo2db /etc/rcS.d/S99ndo2db
Quizá haya que hacer un cambio en una de las variables en el script, esto es, la línea donde dice:
Ndo2dbBin=/usr/local/nagios/bin/ndo2db
debería apuntar al ejecutable, esto es:
Ndo2dbBin=/usr/local/nagios/bin/ndo2db-3x
Espero que os sea util este pequeño manual.