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. Implemente NAGIOS en un servidor SUSE y los servicio statusmap trends histgram no me puencionan, ya instale gd y aun sigue el problema, al seleccionar Map se observa el error

    Premature end of script headers: statusmap.cgi

    Consulto en insternet y todas la recomendacion publicadas la aplico y aun no logro ver map.?

    Mil gracias por la ayuda y gestion a este caso

  2. Hola,

    Me funcionó de maravilla usando las versiones de paquetes que posteaste. Cuando traté de usar las últimas versiones de core y plugins no me compilaba. Por eso busqué y usé las mismas versiones que vos usaste.

    Gracias,

  3. Soy novato en esto

    Si yo quisiera desinstalar nagios, ¿En donde se generan archivos? porque en miserver quiero instalarlo de nuevo y ya no tengo espacio en disco ya borré donde los descargué y en /usr/local/nagios ojalá puedas ayudarme.

  4. Nosotros utilizamos Nagios para monitorear nuestras estaciones de trabajo, cuando prestamos el servicio de acreditación en eventos.
    Funciona excelente y nos permite optimizar el tiempo sobre todo cuando las conexiones pertinentes a la bbdd saturan el máximo.

    En esos casos, la solución fue implementada por medio de un plugin que limpia el log llegado un %.

    Suerte a todos.

    Sebastián Sánchez Pérez
    PASS GROUP CHILE
    passchile@gmail.com

  5. Hola, muy buen tuto.

    Tengo un problema, haber si me puedes ayudar:

    Ya tengo mi nagios 3.2.1 instalado sobre OpenSUSE 11.2, el problema es que no logro hacer que el mapa se muestre, lo intentado mil veces instalando y desinstalando OpenSUSE y las librerías «jpeg, png y gd2», lo malo es que no puedo encontrar las librerías correctas y como soy nuevo en linux no tengo idea de donde puedo conseguir las librerias correctas para mi sistema operativo.

    De antemano muchas Gracias.

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