Está en la página 1de 18

Introduccin 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.

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 1 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

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 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

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 2 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Parte 1: Instalacin y Puesta en Marcha del Sistema Nagios.


Creamos el usuario nagios useradd -m nagios Generamos el grupo nagcmd para permitir el envo 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

Generamos la carpeta donde descargaremos nagios mkdir /opt/nagios Descargamos dentro de nuestra nueva carpeta: Nagios core wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.1.2.tar.gz Nagios Plugins wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz Nagios nrpe (el cual nos servir para monitorizar servidores Linux remotos) wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz
*Para buscar la versin estable mas reciente visita http://www.nagios.org/download/download.php

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 3 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Descomprimimos la carpeta de nagios cd /opt/nagios tar xzf nagios-3.1.2.tar.gz cd nagios-3.1.2 Configuramos y Compilamos ./configure --with-command-group=nagcmd make all Compilamos binarios, init script y archivos de ejemplos de configuracin make install make install-init make install-config make install-commandmode
*con esto nagios queda instalado en /usr/local/nagios

Instalacin de interfaz Web y Creacin de Usuario Admin cd /opt/nagios/nagios-3.1.2 make install-webconf htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin service httpd restart
*no olvide la contrasea que especifico ya que la requerir para ingresar a la interfaz web

Instalacin y compilacin de Nagios Plugins Descomprimimos cd /opt/nagios tar xzf nagios-plugins-1.4.13.tar.gz cd nagios-plugins-1.4.13

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 4 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

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

Permitimos que Nagios y apache inicien al iniciar nuestro sistema chkconfig --add nagios chkconfig nagios on chkconfig httpd on Iniciamos Nagios service nagios start
*La interfaz web qued instalada en /usr/local/nagios/share/ **El archivo http.conf se aadio a /etc/httpd/conf.d/nagios.conf

Para Ingresar al portal del Nagios utilizar http://direccin-servidor/nagios , utilizar el usuario nagiosadmin y la contrasea que le asignamos en pasos anteriores

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 5 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Parte 2: Instalacin y puesta en marcha de NRPE para el monitoreo de equipos Linux.


Instalacin de NRPE en Host Remoto 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://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz tar xzf nagios-plugins-1.4.6.tar.gz

Compilamos e Instalamos Nagios Plugins cd nagios-plugins-1.4.6 ./configure make make install Cambiamos Permisos chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 6 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Instalamos Xinetd yum install xinetd Descargamos y Descomprimimos el Demonio NRPE cd /opt/nagios wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz tar xzf nrpe-2.8.tar.gz cd nrpe-2.8 Compilamos e Instalamos NRPE ./configure make all make install-plugin make install-daemon make install-daemon-config Instalamos el Demonio NRPE Como un Servicio en Xinetd make install-xinetd Editamos el archivo /etc/xinetd.d/nrpe para agregar la ip de nuestro servidor Nagios vi /etc/xinetd.d/nrpe only_from = 127.0.0.1 <direccion-nagios>
*Aqu podemos ingresar la IP Pblica de nuestro servidor Nagios en caso de que no se encuentre dentro de la misma red. De ser as ser necesario redirigir el puerto 5666 TCP al servidor que queremos monitorizar.

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 7 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Agregamos la siguiente lnea para nuestro demonio NRPE en el archivo /etc/services vi /etc/services nrpe Reiniciamos Xinetd service xinetd restart Probamos el demonio NRPE localmente netstat -at | grep nrpe Debemos obtener la siguiente salida: tcp 0 0 *:nrpe *:* LISTEN 5666/tcp #NRPE

En caso de no obtener dicha salida debemos revisar lo siguiente:

Se agrego correctamente la entrada en el archivo /etc/services La lnea only_from del archivo /etc/xinetd.d/nrpe contiene 127.0.0.1 Xinetd esta correctamente instalado y corriendo

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.8

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 8 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

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 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.8.tar.gz cd nrpe-2.8 Configuramos y compilamos en archivo NRPE cd nrpe-2.8 ./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

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 9 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Debemos de obtener: NRPE v2.8 En caso de no obtener dicha salida debemos revisar lo siguiente: Verificar que ningn firewall este bloqueando la comunicacin entre ambos servidores. Verificar que el demonio NRPE este funcionando correctamente en el servidor a monitorizar. Asegrese que el servidor a monitorizar no tenga tablas IP que bloquen el trafico de entrada o salida. Editamos el archivo /usr/local/nagios/etc/commands.cfg para poder usar el plugin vi /usr/local/nagios/etc/commands.cfg define command{ command_name 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. check_nrpe $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 10 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Parte 3: Instalacin y puesta en marcha de Nagisk para el monitoreo Asterisk.


Descargamos Nagisk en nuestro servidor Asterisk 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.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 ALL= NOPASSWD: /usr/sbin/asterisk

En el archivo /usr/local/nagios/etc/nrpe.conf podemos agregar cualquiera de las siguientes lneas segn lo que queramos monitorizar:

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 11 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

command[check_asterisk_versin]=/usr/local/nagios/libexec/nagisk.pl -c versin 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

Parte 4: Introduccin a la configuracin de archivos de monitorizacin.


El archivo de configuracin general de Nagios lo encontraremos en /usr/local/nagios/etc/nagios.cfg 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 Generamos la carpeta /usr/local/nagios/etc/linux mkdir /usr/local/nagios/etc/linux

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 12 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Buscamos la seccin: # You can also tell Nagios to process all config files (with a .cfg # extension) in a particular directory by using the cfg_dir # directive as shown below: cfg_dir=/usr/local/nagios/etc/linux -- Agregamos esta Lnea #cfg_dir=/usr/local/nagios/etc/servers #cfg_dir=/usr/local/nagios/etc/printers #cfg_dir=/usr/local/nagios/etc/switches #cfg_dir=/usr/local/nagios/etc/routers Ahora Generaremos algunos templates que aplicaremos a nuestros servidores linux , lo que nos ahorrara tiempo en configuracin de archivos. vi /usr/local/nagios/etc/linux/templatelinux.cfg Agregamos las siguientes lineas para especificar un template para equipos Linux define host{ name use check_period check_interval retry_interval max_check_attempts check_command notification_period notification_interval notification_options contact_groups register } linux-box generic-host 24x7 5 1 10 check-host-alive 24x7 30 d,r admins 0 ; DONT REGISTER THIS - ITS A TEMPLATE ; Name of this template ; Inherit default values

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 13 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Si nos fijamos con cuidado podemos observar que se est utilizando el template generic-host , mismo que se encuentra especificado en el archivo localhost.cfg. Generamos el archivo donde daremos de alta nuestros servidores vi /usr/local/nagios/etc/linux/servers.cfg Agregamos los hosts en el archivo servers.cfg define host{ use host_name alias address } define host{ use host_name alias address } Generamos el archivo donde daremos de alta nuestros servicios a monitorear vi /usr/local/nagios/etc/linux/servicios.cfg Agregamos algunos servicios en el archivo servicios.cfg #Verifica la Carga de CPU define service{ use host_name generic-service Asterisk1, Asterisk2 #Lo asignamos a nuestros servidores linux-box Asterisk2 Asterisk2 ; Inherit default values from a template ; The name we're giving to this server ; A longer name for the server linux-box Asterisk1 Asterisk1 ; Inherit default values from a template ; The name we're giving to this server ; A longer name for the server

asterisk1.dyndns.org ; IP address of the server o Hostname

asterisk2.dyndns.org ; IP address of the server o Hostname

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 14 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

service_description servicegroups check_command }

CPU Load Asterisk check_nrpe!check_load

#Monitoriza nmero de usuarios loggeados define service{ use host_name service_description servicegroups check_command } #Monitoriza espacio en Disco Duro define service{ use host_name service_description servicegroups check_command } #Monitoriza uso de particin Swap define service{ use host_name service_description servicegroups check_command generic-service Asterisk1,Asterisk2 /dev/hda1 Free Space Asterisk check_nrpe!check_swap generic-service Asterisk1,Asterisk2 /dev/hda1 Free Space Asterisk check_nrpe!check_hda1 generic-service Asterisk1,Asterisk2 Current Users Asterisk check_nrpe!check_users

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 15 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

} 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

Algo de Configuracin Avanzada Vamos a ver un pequeo ejemplo de como establecer alertas en ciertos servicios dependiendo de limites que nosotros establezcamos. En nuestro servidor remoto ingresamos a /usr/local/nagios/etc/nrpe.cfg y modificamos las lineas siguientes: vi /usr/local/nagios/etc/nrpe.cfg command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10% command[check_swap]=/usr/local/nagios/libexec/check_hda1 -w 20% -c 10% *Al llegar al 20% de uso nos enviar una advertencia , llegando al 10% recibiremos una alerta crtica. 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_versin]=/usr/local/nagios/libexec/nagisk.pl -c versin command[check_asterisk_peers]=/usr/local/nagios/libexec/nagisk.pl -c peers

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 16 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

En nuestro servidor de monitoreo agregamos las siguientes lneas en el archivo servicios.cfg define service{ use host_name service_description servicegroups check_command } define service{ use host_name service_description servicegroups check_command } 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 generic-service Asterisk1,Asterisk2 Check SIP Asterisk check_nrpe!check_asterisk_peers generic-service Asterisk1,Asterisk2 Check SIP Asterisk check_nrpe!check_asterisk_version

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 17 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

Conclusiones
Con esta gua tendrs configurado un sistema de monitoreo para servidores Linux, aunque tambin 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 o contribucin es bienvenida , favor de enviarlas a

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

Creador: Augusto Seplveda Configuracin Nagios en Centos Rev. 14/07/09 Ver. 1.0 Pgina 18 de 18

http://www.nextortelecom.com info@nextortelecom.com

NZXT Telecomunicaciones de Mxico SA de CV Lamartine 311 Piso 1 Col. Polanco Mxico, D.F. C.P. 11560

También podría gustarte