Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nagios para Monitorear Asterisk
Nagios para Monitorear Asterisk
La presente gua tiene como objetivo el guiar al lector en la configuracin y puesta en marca de un
sistema de monitoreo utilizando el programa de cdigo abierto Nagios sobre un sistema CentOS 5.3 .
Este documento se encuentra dividido en 4 partes principalmente:
Parte 1: Instalacin y puesta en marcha del sistema Nagios.
Parte 2: Instalacin y puesta en marcha de NRPE para el monitoreo de equipos Linux.
Parte 3: Instalacin y puesta en marcha de Nagisk para el monitoreo Asterisk.
Parte 4: Introduccin a la configuracin de archivos de monitorizacin.
Este manual nos ayudar a tener un servicio de monitorizacin de servidores Linux mas el plus de
poder monitorizar algunos recursos Asterisk.
La importancia de la monitorizacin de servidores Asterisk.
El realizar una implementacin seria y estable de un IP-PBX basado en Asterisk no termina cuando
realizamos la primera llamada, a estos equipos se les debe de dar servicio constantemente para
evitar problemas, Este servicio consiste en la instalacin de actualizaciones, mantenimiento en
ptimas condiciones del hardware, limpieza del equipo y monitoreo del mismo.
El monitorizar nuestros servidores nos permite adelantarnos a futuras fallas y estar atentos a niveles
crticos que estos puedan alcanzar , tales como gran consumo de RAM, poco espacio en disco duro ,
desconexin generalizada de anexos SIP, estado de canales , uso de particin SWAP y muchas
cosas mas.
Si bien Nagios no esta diseado 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 tambin monitorizar nuestras extensiones SIP , versin de Asterisk
y algunas otras cosas que nos ayudaran a tener nuestro IP-PBX bajo control.
http://www.nextortelecom.com
info@nextortelecom.com
Qu es Nagios?
Nagios es un sistema de cdigo abierto para monitorizacin de redes que vigila los equipos y
servicios que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado.
Entre sus caractersticas principales figuran la monitorizacin de servicios de red, la monitorizacin
de los recursos de sistemas hardware , independencia de sistemas operativos, posibilidad de
monitorizacin remota mediante tneles SSL cifrados o SSH.
Otra de las caractersticas principales de Nagios es la posibilidad de programar plugins especficos
para monitorizar diversos sistemas , tal es el caso de Asterisk.
Nagios nos permite recibir alertas va correo electrnico o mensajes SMS cuando alguno de los
servicios monitorizados deja de funcionar o sobre pasa ciertos parmetros establecidos como puede
ser el espacio libre en disco duro.
Prerrequisitos
Para esta gua tomaremos como un hecho que ya tiene instalado en su servidor la versin 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 fcilmente con el siguiente comando:
yum install httpd gcc glibc glibc-common gd gd-devel
http://www.nextortelecom.com
info@nextortelecom.com
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 versin estable mas reciente visita http://www.nagios.org/download/download.php
http://www.nextortelecom.com
info@nextortelecom.com
http://www.nextortelecom.com
info@nextortelecom.com
Configuramos y Compilamos
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Verificamos los archivos de configuracin
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
http://www.nextortelecom.com
info@nextortelecom.com
de equipos Linux.
Instalacin de NRPE en Host Remoto
Instalamos Openssl
yum install openssl-devel
Generamos el usuario nagios (debemos ser usuario root para ello)
/usr/sbin/useradd nagios
passwd nagios
Descargamos y Descomprimimos Nagios Plugins
mkdir /opt/nagios
cd /opt/nagios
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
tar xzf nagios-plugins-1.4.14.tar.gz
Cambiamos Permisos
chown nagios.nagios /usr/local/nagios
http://www.nextortelecom.com
info@nextortelecom.com
http://www.nextortelecom.com
info@nextortelecom.com
5666/tcp
# NRPE
Reiniciamos Xinetd
service xinetd restart
Probamos el demonio NRPE localmente
netstat -at | grep nrpe
Debemos obtener la siguiente salida:
tcp
0 *:nrpe
*:*
LISTEN
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
Debemos de obtener la siguiente salida:
NRPE v2.12
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
http://www.nextortelecom.com
info@nextortelecom.com
comandos para configurar nuestros parmetros de seguridad. Para probar los comandos configurados
por defecto podemos correr cualquiera de los siguientes comandos:
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
Instalacin de NRPE en Servidor Nagios de Monitoreo
Descomprimimos el archivo check_nrpe que descargamos en un principio
cd /opt/nagios
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
Configuramos y compilamos en archivo NRPE
./configure
make all
make install-plugin
Probamos la comunicacin con el demonio NRPE de nuestros server a monitorizar
/usr/local/nagios/libexec/check_nrpe -H <ip-servidor-monitorizar>
*Es indispensable hacer las redirecciones o reglas necesarias en nuestro router para que el servidor de monitoreo se pueda
comunicar con el servidor a monitorizar Es necesario dirigir el puerto 5666 TCP a nuestro servidor a monitorizar
Debemos de obtener:
NRPE v2.12
http://www.nextortelecom.com
info@nextortelecom.com
Verificar que ningn firewall este bloqueando la comunicacin entre ambos servidores.
Asegrese que el servidor a monitorizar no tenga tablas IP que bloquen el trafico de entrada o
salida.
check_nrpe
command_line
}
Hasta el momento ya tenemos nuestro servidor de monitoreo instalado con Nagios y check_nrpe ,
tambin 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 introduccin a como configurar los archivos
necesarios para monitorizar servicios en nuestros servidores.
http://www.nextortelecom.com
info@nextortelecom.com
Descargamos Nagisk en nuestro servidor Asterisk a monitorear donde instalamos el demonio NRPE.
cd /opt/nagios
wget http://downloads.sourceforge.net/sourceforge/nagisk/nagisk-1.1.1.tgz
*Para buscar la ultima versin estable visita https://sourceforge.net/projects/nagisk/
Descomprimimos y movemos el archivo nagisk.pl
tar zxvf nagisk-1.1.1.tgz
cd nagisk
cp nagisk.pl /usr/local/nagios/libexec
Cambiamos Permisos
chown nagios:nagios /usr/local/nagios/libexec/nagisk.pl
chmod 750 /usr/local/nagios/libexec/nagisk.pl
Agregamos la siguiente linea en el archivo /etc/sudoers
nagios
http://www.nextortelecom.com
info@nextortelecom.com
command[check_asterisk_peers]=/usr/local/nagios/libexec/nagisk.pl -c peers
command[check_asterisk_channels]=/usr/local/nagios/libexec/nagisk.pl -c channels
command[check_asterisk_zaptel]=/usr/local/nagios/libexec/nagisk.pl -c dahdi
command[check_asterisk_span]=/usr/local/nagios/libexec/nagisk.pl -c span -s 1
Reiniciamos el servicio NRPE
/etc/init.d/nrpe restart
Los archivos de configuracin para el monitoreo de los equipos los encontramos en /usr/local/
nagios/etc/objects/
Primero Ingresaremos al archivo general de configuracin y agregaremos algunas lneas para que el
sistema lea nuestros archivos de configuracin que crearemos en la carpeta /usr/local/nagios/etc/linux
vi /usr/local/nagios/etc/nagios.cfg
http://www.nextortelecom.com
info@nextortelecom.com
elastix
use
generic-host
check_period
24x7
check_interval
retry_interval
max_check_attempts
10
check_command
check-host-alive
notification_period
24x7
notification_interval
30
notification_options
d,r
contact_groups
admins
register
Si nos fijamos con cuidado podemos observar que se est utilizando el template generic-host , mismo
http://www.nextortelecom.com
info@nextortelecom.com
elastix
host_name
Asterisk1
alias
Asterisk1
address
}
define host{
use
elastix
host_name
Asterisk2
alias
Asterisk2
address
}
Generamos el archivo donde daremos de alta nuestros servicios a monitorear
vi /usr/local/nagios/etc/elastix/servicios.cfg
Agregamos algunos servicios en el archivo servicios.cfg
#Verifica la Carga de CPU
define service{
use
generic-service
host_name
service_description
CPU Load
servicegroups
Asterisk
http://www.nextortelecom.com
info@nextortelecom.com
check_command
check_nrpe!check_load
}
#Monitoriza nmero de usuarios loggeados
define service{
use
generic-service
host_name
Asterisk1,Asterisk2
service_description
Current Users
servicegroups
Asterisk
check_command
check_nrpe!check_users
}
#Monitoriza espacio en Disco Duro
define service{
use
generic-service
host_name
Asterisk1,Asterisk2
service_description
servicegroups
Asterisk
check_command
check_nrpe!check_hda1
}
#Monitoriza uso de particin Swap
define service{
use
generic-service
host_name
Asterisk1,Asterisk2
service_description
servicegroups
Asterisk
check_command
check_nrpe!check_swap
http://www.nextortelecom.com
info@nextortelecom.com
http://www.nextortelecom.com
info@nextortelecom.com
define service{
use
elastix
host_name
Asterisk1,Asterisk2
service_description
Check SIP
servicegroups
Asterisk
check_command
check_nrpe!check_asterisk_version
}
define service{
use
elastix
host_name
Asterisk1,Asterisk2
service_description
Check SIP
servicegroups
Asterisk
check_command
check_nrpe!check_asterisk_peers
}
Verificamos no tener errores en nuestros archivos de configuracin
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Reiniciamos Nagios
service nagios restart
Conclusiones
Con esta gua tendrs configurado un sistema de monitoreo para servidores Linux, aunque tambin
http://www.nextortelecom.com
info@nextortelecom.com
podrs monitorizar servidores windows , router , firewalls y muchas cosas mas , todo est en la forma
en la que se configuran los archivos.
En prximas ediciones agregar un capitulo para la configuracin de envo y recepcin de alertas va
correo electrnico y la utilizacin de grupos de servidores y usuarios.
Cualquier
sugerencia
contribucin
es
bienvenida
favor
de
enviarlas
augusto.sepulveda@nextortelecom.com
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
http://www.nextortelecom.com
info@nextortelecom.com