Instalando Nagios 3.x en Debian etch

icono de herramientas Tenía pendiente instalar una máquina nueva con Debian 4 para migrar a ella los servicios de monitorización de mi centro de trabajo. Las versiones de Nagios etiquetadas como stable en esta nueva Debian son la 1.4 y la 2.6 así que como quería probar la nueva versión 3 y no encontré ningún repositorio donde estuviera en forma de paquete .deb me decidí por compilarla e instalarla para evaluar si es lo suficientemente estable como para usarla en producción. El proceso ha sido bien sencillo así que dejo aquí un breve «paso a paso» para quien quiera animarse.

Partimos de una instalación limpia de debian etch con apache2. Lo primero que necesitamos es instalar nuestro entorno de compilación. Hay un paquete en debian con todo lo que necesitas para ello.

apt-get install build-essential

El segundo paso es instalar las librerías necesarias para, posteriormente, compilar nagios. Necesitamos las jpeg, png y gd2. Para las dos primeras no tuve ningún problema en instalar las que vienen con la distribución estable:

apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Para las gd2 sin embargo me lié un poco ¿necesito las que traen soporte para xpm o las que no?¿es indiferente, tal vez? Cómo no tenía ni idea y no encontré información referente a ello visité la página del proyecto y vi que allí no hacían distinción alguna… Reconozco que lo de los formatos gráficos no es lo mío (ni los de audio, ni los de video, ni…) así que tiré por la calle de enmedio y decidí bajarme los fuentes y compilarlos también:

cd /tmp
wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure
make
make install

Lo siguiente es crear los grupos y usuarios necesarios para nagios:

useradd nagios
passwd nagios
groupadd nagios
groupadd nagcmd
usermod -G nagios nagios
usermod -G nagios josemaria
usermod -G nagcmd nagios
usermod -G nagcmd www-data

Con esto hemos creado un nuevo usuario (nagios), le asignamos una contraseña, creamos dos grupos (nagios y nagcmd). Añadimos nagios a ambos grupos, el usuario www-data (el que usa Apache) al grupo nagcmd y, por comodidad aunque no es indispensable, nuestro usuario común al grupo nagios para que la edición de ficheros de configuración nos resulte ma? cómoda.

Ya lo tenemos todo listo. Ahora toca bajarse Nagios, compilarlo e instalarlo. Visita la página oficial para asegurarte de que usas las últimas versiones disponible. Por lo demás, la secuencia usando las versiones actuales es la siguiente:

cd /tmp
wget -c http://tinyurl.com/2jyzao/nagios-3.0a5.tar.gz
wget -c http://tinyurl.com/2mqzzk/nagios-plugins-1.4.9.tar.gz
tar xzf nagios-3.0a5.tar.gz
cd nagios-3.0a5
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
cd ..
tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Creamos una contraseña para el acceso web del usuario nagiosadmin y reiniciamos apache:

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
/etc/init.d/apache2 reload

Y por último arrancamos nagios y, si no presenta ningún error, creamos un enlace para que de ahora en adelante arranque de forma automática al iniciar la máquina:

/etc/init.d/nagios start
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Y ya. Con esto nuestro nagios debe de estar totalmente funcional y accesible vía web a través de la URL «http://hostname/nagios». La configuración por defecto monitoriza algunos servicios en la propia máquina dónde se instala y nos debe de bastar para saber que funciona correctamente. Para sacarle partido debemos de hacer algunas cosillas más que os enumero, aunque con menor detalle, a continuación.

  1. Primero y fundamental: hay que plasmar la topología de nuestra red a través de los ficheros de configuración de nagios. Dichos ficheros se encuentan en el directorio «/usr/local/nagios/etc/objects». Allí debemos de encontrar al menos un fichero llamado localhost.cfg (el único activo por el momento) y que nos puede servir como ejemplo de base. No le echeis cuenta a quien os diga que la configuración de nagios es enrevesada y echadle un vistazo libres de prejuicios, ya vereis que no es así. La guía de configuración debería de ser una buena referencia para este paso.
  2. Si queremos recibir notificaciones por email de las alertas de nuestra red es preciso que la máquina tenga postfix instalado y correctamente configurado y que editemos el fichero «/usr/local/nagios/etc/objects/contacts.cfg» y cambiemos la dirección de correo que aparece asociada por defecto al usuario nagiosadmin por la nuestra.
  3. Si queremos personalizar con iconos apropiados los hosts que aparecen en mapas y fichas de información debemos de descargarnos una o varias colecciones de ellos del apartado correspondiente (logos and images) de nagios exchange, descomprimirlas y dejar los iconos en el directorio «/usr/local/nagios/share/images/logos/».
  4. Y ya que estamos por Nagios Exchange conviene echarle un vistazo también a la sección de Check Plugins. En ella encontraremos una gran colección de scripts para la monitorización de los más variados servicios y que complementan fabulosamente a los que nagios trae de base y hemos instalado ya.

Y poco más… aún no he plasmado todos los hosts y servicios de mi red pero con una horita escasa de trabajo este es el resultado. Cuando concluya prometo hacer una segunda entrada contando en detalle la configuración para los más perezosos que no quieran leerse la documentación en inglés.

Statusmap en Nagios

55 comentarios

  1. al tratar de instalar los plugins me danda error:
    gzip:stdin:not in gzip format
    tar: Child returned status 1
    tar: Error exit delayed from previous errors

    necesito ayuda con eso

  2. A mi no me dio problemas la nueva version, pero no le entiendo bien eso de configurar el OBJECT. para que que ya jale bien todo y sin problemas.

    De ante mano gracias, esta muy interesante esto.

  3. En la empresa realizamos administración remota de servidores GNU/Linux & BSD por lo que el nagios lo usamos bastante.

    Al intentar compilar la versión 3.x puede presentarse un problema con Debian Etch con las libtool, lo que impedirá realizar la compilación.

    Una cosa que puede producirse con Etch y con la versión 3.0b7 de nagios (no he probado la anterior) es que pueden tener instaladas las libtool (libltdl0-dev). Sin embargo el configure del nagios dirá que está todo ok, pero no compilara y saldrá un error como este:
    # make all
    cd ./base && make
    make[1]: Entering directory `/tmp/nagios-3.0b7/base’
    gcc -g -O2 -DHAVE_CONFIG_H -DNSCORE -c -o broker.o broker.c
    In file included from ../include/nebcallbacks.h:29,
    from broker.c:30:
    ../include/nebmodules.h:80: error: expected specifier-qualifier-list before ‘lt_ptr’
    make[1]: *** [broker.o] Error 1
    make[1]: Leaving directory `/tmp/nagios-3.0b7/base’

    Lo que se requiere es desinstalar las libltdl0-dev e instalar las libltdl3-dev
    Con eso, se realizara la compilación sin problemas

  4. Hola, alguien conoce la existencia de alguna herramienta de monitorizacion de aplicaciones corporativas, usando para ello los servicios nagios.

    Muchas gracias, un saludo

  5. Hola Cristian. Yo siempre que he usado el nagios con soporte mysql he tirado del paquete de debian (nagios-mysql). Es una versión más antigua pero creo que casi todo lo que he puesto por aquí te va a servir para configurarlo.

  6. Hola,

    bastante interesante tu articulo, queria hacerte una pregunta.

    me interesaria poder compilar nagios 3 con soporte mysql. resulta que lo tengo andando por defecto y derrepente se cae y pierde toda la informacion ingresada. pierdo comentarios, pierdo los estados asignados a los servidores, etc….

    Creo que si envio la informacion a una base de datos tendria menos posibilidades de que pasara esto y no encuentro info en la red como para realizar esto.

    alguna sugerencia??

    Saludos desde CHile….

  7. José: lo siento, ha sido culpa mía. O, más bien, del tipo de letra que he usado para escribir los bloques de instrucciones que tiene la «gracia» de hacer que dos guiones seguidos se transformen en un guión largo. Lo peor de todo es que ya me ha ocurrido esto mismo otras veces… soy un despistado.

    Ya está corregido en el texto. El comando donde te falla debería de ser así:

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

  8. Muy interesante, pero te cuento que me quede en la parte de compilación e instalación. Me puedes ayudar. Precisamente aqui me quede:

    :/tmp/nagios-3.0a5# ./configure ??with-command-group=nagcmd
    configure: error: invalid variable name: ??with-command-group

    Sinceramente no entiendo, ayer instale UBUNTU 7.04 y quiero experimentar con nagios, no se nada de nada.

    Se que este no es un foro pero por favor ayudame.
    Slds.

  9. Tal ves esto es algo fuera de tema. pero como se llama el widget de wordpress, el que se esta usando en blog que dice:

    Usando Mozilla Firefox 2.0.0.4 sobre Windows XP

    Quiero ponerlo en mi blog.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies