NAGIOS
NAGIOS
NAGIOS
La presente guía tiene como objetivo el guiar al lector en la configuración y puesta en marca de un
sistema de monitoreo utilizando el programa de código abierto Nagios sobre un sistema CentOS 5.3 .
Este manual nos ayudará a tener un servicio de monitorización de servidores Linux mas el plus de
poder monitorizar algunos recursos Asterisk.
El monitorizar nuestros servidores nos permite adelantarnos a futuras fallas y estar atentos a niveles
críticos que estos puedan alcanzar , tales como gran consumo de RAM, poco espacio en disco duro ,
desconexión generalizada de anexos SIP, estado de canales , uso de partición SWAP y muchas
cosas mas.
Si bien Nagios no esta diseñado para el monitoreo de Asterisk, existe un parche que nos ayuda a esto
, haciendo de este sistema una herramienta mas interesante ya que no solo nos permitirá medir
niveles de disco duro y RAM , sino también monitorizar nuestras extensiones SIP , versión de Asterisk
y algunas otras cosas que nos ayudaran a tener nuestro IP-PBX bajo control.
Nagios nos permite recibir alertas vía correo electrónico o mensajes SMS cuando alguno de los
servicios monitorizados deja de funcionar o sobre pasa ciertos parámetros establecidos como puede
ser el espacio libre en disco duro.
Prerrequisitos
Para esta guía tomaremos como un hecho que ya tiene instalado en su servidor la versión mas
reciente de apache, y los siguientes paquetes.
gcc
glibc
glibc-common
gd
gd-devel
ssl-headers
En caso de no tener estos últimos paquetes podemos instalarlos fácilmente con el siguiente comando:
yum install httpd gcc glibc glibc-common gd gd-devel
Generamos el grupo nagcmd para permitir el envío de comandos desde la consola web y agregamos
los usuarios nagios y apache
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache
Nagios nrpe 2.12 (el cual nos servirá para monitorizar servidores Linux remotos)
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
*Para buscar la versión estable mas reciente visita http://www.nagios.org/download/download.php
Configuramos y Compilamos
./configure --with-command-group=nagcmd
make all
Total Warnings: 0
Total Errors: 0
Iniciamos Nagios
service nagios start
*La interfaz web quedó instalada en /usr/local/nagios/share/
**El archivo http.conf se añadio a /etc/httpd/conf.d/nagios.conf
Instalamos Openssl
yum install openssl-devel
Cambiamos Permisos
chown nagios.nagios /usr/local/nagios
Instalamos Xinetd
yum install xinetd
make install-plugin
make install-daemon
make install-daemon-config
Reiniciamos Xinetd
service xinetd restart
Verificamos que el demonio NRPE esta correctamente instalado, para ello utilizaremos el plugin
check_nrpe que instalamos para pruebas
/usr/local/nagios/libexec/check_nrpe -H localhost
Los comandos que se utilizaran para medir los recursos locales se encuentran configurados dentro de
el archivo /usr/local/nagios/etc/nrpe.cfg, mas adelante veremos como podemos personalizar estos
Debemos de obtener:
NRPE v2.12
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Hasta el momento ya tenemos nuestro servidor de monitoreo instalado con Nagios y check_nrpe ,
también hemos configurado exitosamente el demonio nrpe en nuestro servidor a monitorizar que nos
permite tener control sobre el consumo de recursos, ahora veremos como instalar Nagisk para el
monitoreo de algunos servicios Asterisk y una breve introducción a como configurar los archivos
necesarios para monitorizar servicios en nuestros servidores.
Cambiamos Permisos
chown nagios:nagios /usr/local/nagios/libexec/nagisk.pl
chmod 750 /usr/local/nagios/libexec/nagisk.pl
command[check_asterisk_versión]=/usr/local/nagios/libexec/nagisk.pl -c versión
• Los archivos de configuración para el monitoreo de los equipos los encontramos en /usr/local/
nagios/etc/objects/
Primero Ingresaremos al archivo general de configuración y agregaremos algunas líneas para que el
sistema lea nuestros archivos de configuración que crearemos en la carpeta /usr/local/nagios/etc/linux
vi /usr/local/nagios/etc/nagios.cfg
Buscamos la sección:
# You can also tell Nagios to process all config files (with a .cfg
Ahora Generaremos algunos templates que aplicaremos a nuestros servidores linux , lo que nos
ahorrara tiempo en configuración de archivos.
vi /usr/local/nagios/etc/linux/templateelastix.cfg
Agregamos las siguientes lineas para especificar un template para equipos Linux
define host{
name elastix ; Name of this template
use generic-host ; Inherit default values
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
Si nos fijamos con cuidado podemos observar que se está utilizando el template generic-host , mismo
define host{
use elastix ; Inherit default values from a template
host_name Asterisk2 ; The name we're giving to this server
alias Asterisk2 ; A longer name for the server
address asterisk2.dyndns.org ; IP address of the server o Hostname
}
Reiniciamos Nagios
service nagios restart
Vamos a ver un pequeño ejemplo de como establecer alertas en ciertos servicios dependiendo de
limites que nosotros establezcamos.
Para utilizar el parche para Asterisk podemos agregar cualquiera de los comandos mencionados
anteriormente en el archivo nrpw.cfg de nuestro servidor a monitorear.
vi /usr/local/nagios/etc/nrpe.cfg
command[check_asterisk_versión]=/usr/local/nagios/libexec/nagisk.pl -c versión
command[check_asterisk_peers]=/usr/local/nagios/libexec/nagisk.pl -c peers
define service{
use elastix
host_name Asterisk1,Asterisk2
service_description Check SIP
servicegroups Asterisk
check_command check_nrpe!check_asterisk_peers
}
Reiniciamos Nagios
service nagios restart
Conclusiones
Con esta guía tendrás configurado un sistema de monitoreo para servidores Linux, aunque también
En próximas ediciones agregaré un capitulo para la configuración de envío y recepción de alertas vía
correo electrónico y la utilización de grupos de servidores y usuarios.
Algunas Referencias:
http://blog.nicolargo.com/2008/10/superviser-asterisk-dans-nagios-grace-a-nagisk.html
http://wiki.centos.org/HowTos/Nagios
http://www.kernelhardware.org/install-nagios-on-centos-5/
http://www.nagios.org/download
http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf