lunes, noviembre 05, 2012

Una instalación básica de Nagios

Nagios es un software de monitorización muy extendido y que practicamente es un estándar en IT. Para hacer pruebas con Nagios es conveniente instalarlo sobre una máquina virtual para poder trastear sin problemas ni dolores de cabeza. Virtual Box es ideal para esto. Usando una imagen de, por ejemplo, Fedora 15 (se puede encontrar una, así como de muchas otras distribuciones de Linux, en http://virtualboxes.org/images/ ), la instalación y configuración de Nagios es casi trivial.

El primer paso, tras arrancar nuestro Fedora 15 sobre Virtual Box, es hacer una actualización general del sistema abriendo una consola, poniéndonos como root mediante un su -l (contraseña "reverse" por defecto con la imagen de Fedora 15 bajada del repositorio anterior) y luego yum -y update. Además, por comodidad, es recomendable instalar wget (yum -y install wget) para poder descargar los paquetes que necesitamos comodamente desde la consola

Después de la actualización ya podemos descargar los dos paquetes básicos de Nagios para ponerlo en marcha: Nagios Core y Nagios Plugins. Nagios Core proporciona el motor de monitorización, el auténtico núcleo de Nagios. Nagios Plugins añade las funcionalidades básicas que permiten visualizar equipos y servicios monitorizados. Descargamos ambos paquetes en cualquier directorio que nos convenga:

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

En este momento, como se ve, las últimas versiones de Nagios y Plugins en este momento son la 3.4.1 y la 1.4.16 respectivamente. En cualquier caso podemos encontrar las versiones más actualizadas en http://www.nagios.org/download/core y http://www.nagios.org/download/plugins .

Tras desempaquetarlos (con los comandos gunzip y tar xvf) tendremos un par de directorios: "nagios" (resultado de desempaquetar Nagios Core) y "nagios-plugins-1.4.16" (resultado de desempaquetar Nagios Plugins). Lo ideal ahora es seguir la guía Quickstart para Fedora (http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html), aunque siguiéndola estrictamente nos encontraremos con algún problema menor.

Inicialmente hay que cumplir una serie de requisitos para que Nagios funcione. Lo básico es tener instalado Apache, PHP, el compilador GCC y las librerías de desarrollo GD. Si no, se pueden instalar con los siguientes comandos desde la consola (en modo root):

yum -y install httpd php
yum -y install gcc glibc glibc-common
yum -y install gd gd-devel


Con yum -y nos ahorramos que yum nos pida confirmación para la instalación de los paquetes, agilizándose un poco.

Tras instalar estos paquetes básicos hay que crear algún que otro usuario y grupo:

useradd -m nagios
passwd nagios

Con esto creamos el usuario nagios y forzamos la creación de un directorio home para el mismo y luego le configuramos una clave. Ahora hay que crear el grupo "nagcmd" y añadir al mismo los usuarios "nagios" y "apache:"

groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

De este modo desde la interfaz web de Nagios se pueden enviar comandos externos al core de Nagios.

El siguiente paso es compilar e instalar Nagios. Hay que entrar en el directorio "nagios" donde se desempaquetó el contenido del paquete que descargarmos previamente y ejecutar el script pasándole como parámetro el nombre del grupo que acabamos de crear:


./configure --with-command-group=nagcmd

Queda compilar e instalar Nagios con los siguientes comandos:

make all
make install
make install-init
make install-config
make install-commandmode

make install-webconf

Ahora toca crear una cuenta para la gestión por web y poner una clave. Esto se hace con

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

De este modo creamos el usuario "nagiosadmin" para la gestión por web y se nos pide una clave (que hay que confirmar) para este usuario. Para que la configuración surta efecto hay que reiniciar el servicio web:

service httpd restart  

Ahora toca compilar los plugins. Salimos del directorio de nagios y entramos en el de los plugins,
"nagios-plugins-1.4.16" en este ejemplo. Se ejecuta el script como antes para el script de nagios, pero pasándole como parámetros el usuario y el grupo de nagios:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

Queda compilar e instalar:

make

En este punto, usando la imagen de Fedora 15 básica del repositorio que indicamos al principio, la compilación da un error:



La línea "error: ´ssl_version´ undeclared" parece apuntar a un problema con ssl. En concreto lo que el compilador necesita son las librerías de desarrollo de ssl, que se instalan mediante

yum -y install openssl-devel.i686

Tras instalarlas hay que ejecutar de nuevo el script para luego poder compilar correctamente:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

Ahora no tendremos ningún error y podremos finalizar la instalación en sí con un

make install

Quedan ya los últimos pasos. Hay que añadir Nagios al arranque para que siempre se ejecute con el inicio de nuestra máquina:

chkconfig --add nagios
chkconfig nagios on


Es una buena idea añadir al arranque también el servicio web Apache para no tener que iniciarlo manualmente cada vez que queramos acceder a la interfaz web:

chkconfig --add httpd
chkconfig httpd on


Verificamos que el fichero de configuración de Nagios no tiene ningún error:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 

El resultado será que no se ha encontrado ningún problema durante la configuración. Iniciamos Nagios como servicio con

service nagios start

Una consideración previa al acceso a la interfaz web es que debemos deshabilitar SELinux, que en Fedora viene habilitado por defecto y bloqueando el acceso a las CGIs de Nagios. Podríamos configurar SELinux más finamente para permitir el acceso a las CGIs, pero como estamos sobre una plataforma de pruebas podemos permitirnos deshabilitarlo completamente. Primero confirmamos que SELinux está realmente habilitado mediante el comando getenforce, que devolverá como resultado Enforcing si SELinux está habilitado. Para deshabilitarlo usamos setenforce 0, con lo que getenforce devuelve ahora el mensaje Permissive. Esto solo deshabilita SELinux temporalmente. Para deshabilitarlo de manera permanente configuramos /etc/selinux/config y cambiamos la línea

SELINUX=enforcing

por

SELINUX=disabled

Un último paso previo opcional es habilitar en el firewall de Fedora el acceso por http para poder acceder a Nagios desde una máquina externa. Para ello, desde la interfaz gráfica, podemos ir a Applications -> Other -> Firewall (se nos pedirá la contraseña de root) y de entre la lista de servicios a los que podemos abrir el acceso seleccionamos "WWW (HTTP)". Pulsamos Apply, confirmamos con Yes y ya tendremos acceso desde una máquina externa. Solo queda probar a acceder mediante un navegador a la url http://localhost/nagios/ (si es desde dentro del Fedora donde tenemos instalado Nagios) o mediante http://<IP de la máquina donde está instalado Nagios>/nagios/. En ambos casos se nos pedirá nombre de usuario (nagiosadmin) y contraseña (la que configuramos previamente) y tendremos acceso a la interfaz:



No hay comentarios:

Publicar un comentario