Instalación de Nagios

12 abril 2015
Josep Ma Solanes 0

Si ya tenemos preparado el entorno para monitorizar mediante el protocolo estándar SNMP, ya sea en los dispositivos de red como en los servidores Windows (revisar la entrada sobre la configuración de SNMP para servidores Windows). Es el turno de desplegar un sistema central de monitorización.

El mercado dispone de un gran catálogo de productos más o menos automatizados para hacerlo (Microsoft System Center, ManageEngine, SolarWinds, etc). Personalmente me encuentro en que la mayoría de empresas de nuestro entorno, no ven una necesidad directa sobre el entorno de producción del negocio que un sistema de estas características les puede aportar. Por lo que su presupuesto se ve reducido a 0, siendo muy difícil de justificar por parte de los Departamentos de TI su adquisición. Pero, cada vez más los entornos de producción dependen de los sistemas informáticos y no por eso debemos dejar de monitorizar nuestro entorno. Una alternativa, que hace ya mucho tiempo que existe, es Nagios, que a lo largo del tiempo, se ha ido consolidando como un estándar en la monitorización de los entornos de TI. Basado en una licencia de software libre, nos permite hacer una aproximación a la monitorización sin un gran gasto. Más adelante, podemos hacer el salto a la versión comercial del mismo o alguno de los productos nombrados anteriormente.

En esta entrada se aborda el proceso de instalación de la versión libre sobre una máquina Linux basada en CentOS 7 (revisar la entrada sobre el proceso de instalación de CentOS 7) con la monitorización de un servidor Windows mediante el protocolo SNMP.

 

Instalación de Nagios

Como ya he comentado, a partir de una instalación actualizada de CentOS 7 con el servidor web Apache, procedemos a hacer la instalación del entorno de monitorización propiamente dicho. Todo el proceso de instalación se hace desde la consola. Recordemos que se trata de un servidor, como menos cosas tengamos instaladas mejor. Hay que iniciar sesión con un usario con los permisos correspondientes para hacer este tipo de instalación, para esta entrada se utiliza el usuario root. Empezamos por instalar, si no lo está, el compilador GCC y sus dependencias.

yum -y install gcc

Creación del usuario y grupo para utilizar en los servicios de Nagios:

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios

Nagios no es un único paquete que se instala y ya está. Lo forman diferentes componentes y a la vez un montón de añadidos, casi para controlarlo todo, que se añaden según las necesidades.

  • Nagios core. Es el núcleo del entorno de monitorización, lo primero que hay que instalar y que lo hace funcionar todo.
  • Nagios Plugins. Son complementos, o también llamados comandos, para poder monitorizar diferentes dispositivos, servicios, hardware, etc… El paquete Nagios Plugins corresponde a comandos básicos para empezar a funcionar y, que se pueden ampliar según las necesidades. Tenéis un puñado en el directorio de intercambio Exchange Nagios.
  • Nagios FrontEnd. El entorno Nagios no es lo que se llama, precisamente, de lo más bonito, tampoco es su objetivo. Los FrontEnds son temas o interfaces enteras que hacen más agradable o adaptable el entorno a las necesidades de cada uno. Es la manera de representar gráficamente los datos recogidos.

Para la instalación de nuestro entorno de monitorización Nagios utilizaremos los siguientes paquetes, en su vertiente de software libre:

Manos a la obra, creamos una carpeta temporal para descargar todos estos paquetes

mkdir /tempnagios
cd /tempnagios

Para descargar directamente sobre el servidor Linux, instalar WGET (este último es opcional).

yum -y install wget

Hacer la descarga de los diferentes paquetes:

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip

Una vez se hayan descargado los tres archivos, es el turno de descomprimirlos. De momento los instaladores:

tar zxvf nagios-4*
tar zxvf nagios-plugins-*

Con lo que nos quedará una cosa similar a la captura de pantalla:

install-de-nagios-001

Borrar los archivos comprimidos:

rm -f nagios-4*.tar.gz
rm -f nagios-plugins-2*.tar.gz

Preparar para compilar la aplicación, asignando el grupo de seguridad a utilizar. Primero, acceder al directorio donde se ha descomprimido el archivo de Nagios core descargado (naturalmente, se debe cambiar la ruta de los directorios según la instalación). Ejecutar la instrucción configure asignando a la instalación el grupo de seguridad para Nagios nagcmd creado anteriormente:

cd /tempnagios/nagios-4.0.8
./configure --with-command-group=nagcmd

Compilar y instalar la aplicación:

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

Creación del usuario para acceder al entorno web, por ejemplo: nagiosadmin.

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

Pide la contraseña del nuevo usuario. Con este método, se pueden añadir tantos usuarios como se crea oportuno.

No olvidarse de reiniciar el servicio web del Apache para que aplique los cambios del nuevo directorio web de Nagios, sino no se cargará nada:

systemctl restart httpd

Configurar para instalar los plugins (recordar que los directorios se deben cambiar por los correspondientes en cada caso):

cd /tempnagios/nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd

Compilar y instalar los plugins:

make
make install

Habilitar el servicio de Nagios para iniciarse automáticamente cada vez que se inicie el servidor y se ponga en marcha:

chkconfig --add nagios
chkconfig --level 35 nagios on
systemctl start nagios

Se puede comprobar que funciona abriendo un navegador Web y accediendo a la dirección de Nagios. Corresponde al nombre del servidor web y el directorio virtual /nagios, por ejemplo: http://servidor/nagios. Al hacerlo, pide nombre de usuario y contraseña. Son los que se han establecido con el comando htpasswd: nagiosadmin. Si todo está correcto se abre la página principal de Nagios. Es un primer paso, pero no el último.

install-de-nagios-002Haciendo click en el apartado Tactical Overview, visualizamos los datos que dispone Nagios:

install-de-nagios-003

Por comodidad en la gestión de los archivos, personalmente, me gusta crear un enlace simbólico en la raíz con el nombre de nagios para llegar más rápido:

ln -s /usr/local/nagios /nagios

Acceder a la carpeta de nagios, se puede utilizar el enlace simbólico:

cd /nagios

Para cambiar el tema del entorno web, se crea una carpeta backups y se realiza una copia de seguridad de la carpeta share:

mkdir -p /nagios/backups
cp /nagios/share/ /nagios/backups/ -R

Como que el tema está comprimido con un archivo ZIP, para descomprimirlo hay que disponer del UNZIP. Se instala del repositorio:

yum -y install unzip

Se descomprime el archivo del tema dentro de la carpeta share de Nagios:

unzip /tempnagios/vautour_style.zip -d /nagios/share/

Se pide para sobreescribir los archivos existentes, contestar con la letra A para que los sobreescriba todos.

Volviendo a abrir el entorno web ha cambiado un poco. Para gustos colores y aquí cada uno que aplique lo que mejor le guste. Sirva este último apartado como ejemplo de como cambiar el entorno.

install-de-nagios-004

A la hora de acceder al frontal web, por comodidad, en la raíz del servidor se puede crear un archivo HTML de redirección al directorio virtual. De esta manera, sólo indicando el nombre del servidor ya se accede directamente al entorno de Nagios. El archivo a crear, puede ser con el vi, index.html a guardar en la raíz del Apache

vi /var/www/html/index.html

debe contener la siguiente información, cambiando el nombre del servidor por el que corresponda (recordar, la tecla i para insertar texto, ESC para salir de añadir texto y :wq para guardar y cerrar el archivo):

<html>
     <head>
          <META http-equiv="Refresh" Content="0; URL=http://servidornagios/nagios/">
     </head>
     <body>
     </body>
</html>

Hacer una copia de seguridad del archivo de configuración de NAGIOS antes de empezar a tocar parámetros.

cp /nagios/etc/nagios.cfg /nagios/etc/nagios.original

Modificar el formato de fecha y hora al europeo editando el archivo de configuración /nagios/etc/nagios.cfg y cambiándole el parámetro (recordar que para buscar en el vi hay que escribir :/ seguido de la palabra a buscar):

date_format=euro

Comprobar los archivos de configuración. Es una operación recomendable de hacer cada vez que se modifican parámetros para comprobar que todo funcionará correctamente:

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

Mi propuesta es preparar un script para que haga la comprobación y reinicie el servicio:

vi /rnagios.sh

Con el contenido:

#!/bin/bash
#
/nagios/bin/nagios -v /nagios/etc/nagios.cfg
systemctl restart nagios

Cambiar los permisos del archivo para que se pueda ejecutar por el propietario:

chmod 700 /rnagios.sh

Ejecutar cada vez que convenga:

/./rnagios.sh

Enviar alertas por correo electrónico

Nagios envía las alertas por correo electrónico. Por defecto lo hace en el propio servidor POSTFIX del Linux, en que posiblemente no lleguen los correos electrónicos a los buzones habituales. Como que los correos electrónicos sólo son a título informativo para el propio Departamento de TI, siendo igual de donde provengan y sin necesidad de enviar hacia el público. Se puede modificar el servidor POSTFIX para que encamine los correos electrónicos a otro servidor de correo, modificando su configuración:

vi /etc/postfix/main.cf

Habilitar la variable relayhost = [nombre_del_servidor_de_correo], por ejemplo:

relayhost = [mail.correo.com]

Reiniciar el servicio de POSTFIX para aplicar los cambios:

systemctl restart postfix

También hay que disponer de un cliente para enviar correos electrónicos, que tal el mailx?

yum -y install mailx

Permitir consultas por SNMP

Como que el objetivo es poder escuchar y hacer consultas por el protocolo SNMP también hay que disponer del servicio y utilidades correspondientes al servidor. Instalar los paquetes necesarios para el servicio y las herramientas SNMP:

yum -y install net-snmp net-snmp-utils

Hacer una copia de seguridad del archivo de configuración original:

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.original

Modificar el nombre de la comunidad SNMP con las que hay configuradas en la red. Recordar no utilizar las comunidades SNMP por defecto!.

vi /etc/snmp/snmpd.conf

Cambiar el nombre de la comunidad public por la correcta de la línea:

com2sec notConfigUser  default       public

Habilitar y iniciar el servicio:

systemctl enable snmpd.service
systemctl start snmpd.service

Comprobar que se pueda leer la información SNMP de un servidor o equipo de la red:

snmpwalk -v 2c -c compublic -O e nombre_del_equipo_snmp

El sistema debe devolver un listado de parámetros. En caso de que no se pueda comunicar indicará un error o bien no aparecerá este listado.

Llegados a este punto ya disponemos del sistema de monitorización operativo. Ahora, hay que añadir los equipos y definir que se quiere monitorizar en cada caso. La configuración de estos archivos la trataré en otra entrada.

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

Similar Posts by The Author: