lunes, 26 de abril de 2010

Instalar Nagios en Ubuntu

Hoy vamos a explicar cómo instalar Nagios en Ubuntu.

Nagios es un sistema de monitorización de redes de código abierto. Vigila los equipos (hardware) y servicios (software) especificados, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus características principales están la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP, etc.), la monitorización de los recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de los puertos...), independencia de sistemas operativos, posibilidad de monitorización remota mediante túneles SSL cifrados ó SSH, y la posibilidad de programar plugins específicos para nuevos sistemas.

Para instalar Nagios en Ubuntu lo primero que debemos hacer es descargar los archivos de la página oficial de Nagios en este caso vamos a instalar la versión 3.2.1. Debemos descargar dos paquetes:
También podéis descargarlos por línea de comandos:

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz


Si quieres leer el resto del manual para instalar Nagios en Ubuntu sigue leyendo.



Paso 1 - Prerrequisitos

Antes de empezar a instalar Nagios en Ubuntu es necesario instalar otro paquetes, es posible que ya tengas instalado algunos de estos paquetes:
  • Apache 2
  • PHP
  • GCC: librerías de desarrollo y compilación
  • GD: librerías de desarrollo
Para instalar Apache 2 ejecutamos:
sudo apt-get install apache2

Instalamos PHP:
sudo apt-get install libapache2-mod-php5

Instalamos GCC:
sudo apt-get install build-essential

Por último, instalamos GD:
Para versión anteriores a la 6.10 (ésta incluida): sudo apt-get install libgd2-dev
A partir de la 7.10: sudo apt-get install libgd2-xpm-dev


Paso 2 - Crear información de cuenta de usuario

Después, para poder instalar Nagios en Ubuntu lo primero que debemos hacer es entrar como root o por el contrario podéis poner sudo delante de todos los comandos:
sudo -s

Creamos una nueva cuenta de usuario "nagios" y contraseña:
/usr/sbin/useradd -m -s /bin/bash nagios

Con la opción "/bin/bash" indicamos que intérprete de comandos usaremos.
Le damos un password, que introduciremos dos veces:
passwd nagios

Para versiones anteriores a la 6.01 es necesario crear un grupo (los que tenéis versiones posteriores podeis saltaros y pasar a crear el siguiente grupo, ya que Ubuntu lo hace automáticamente)
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios


Creamos un nuevo grupo nagcmd, para permitir comandos externos:
/usr/sbin/groupadd nagcmd

Metemos al usuario nagios en el grupo nagcmd:
/usr/sbin/usermod -a -G nagcmd nagios

Metemos al usuario de apache www-data en el grupo nagcmd, ya que la aplicación lo necesita para hacer sus gestiones:
/usr/sbin/usermod -a -G nagcmd www-data


Paso 3 - Compilar e Instalar Nagios en Ubuntu

Una vez que ya hemos preparado el sistema para instalar Nagios en Ubuntu podemos empezar con la compilación e instalación del mismo. En este punto debo decir que en la página oficial de Nagios podéis encontrar los paquetes ya compilados y listos para instalar Nagios en Ubuntu. Sin embargo, éstos no siempre son los de la última versión, por eso yo prefiero compilarlos yo misma.

Vamos a donde hemos instalado los paquetes. Descomprimimos el paquete de nagios:
tar xzf nagios-3.2.1.tar.gz

Accedemos a la carpeta que acabamos de descomprimir:
cd nagios-3.2.1

Ejecutamos el script de configuración de Nagios pasándole el nombre del grupo que acabamos de crear:
./configure --with-command-group=nagcmd

Compilamos el código fuente de Nagios:
make all

Por último, instalamos los archivos binarios de Nagios en Ubuntu:
make install

Ahora vamos instalar otros scripts y configuraciones que nos serán de utilidad más adelante.
Instalar script de inicio:
make install-init

Instalar ejemplos de ficheros de configuracion:
make install-config

Dar permisos al directorio de comandos externos:
make install-commandmode


Paso 4 - Personalizar la configuración

Una vez que hemos instalado Nagios en Ubuntu, podemos ir al directorio "usr/local/nagios/etc" donde tenemos los ficheros de configuración de Nagios que podemos modificar para personalizar la configuración.
En este caso vamos a modificar la dirección de e-mail que usaremos para las notificaciones de Nagios, para ello abrimos contacts.cfg con un editor de textos:
vim /usr/local/nagios/etc/objects/contacts.cfg

Si no eres muy hábil con vim puedes usar gedit:
gedit /usr/local/nagios/etc/objects/contacts.cfg

Cambiamos la dirección de correo de la línea 35 por la dirección de correo electrónico a la que queremos que nos manden las notificaciones.

instalar nagios en ubuntu



Paso 5 - Configurar la Interfaz Web

Ahora debemos configurar Nagios para poder acceder a él vía interfaz web.
Instalamos el archivo de configuración de Nagios para Apache. Con esto conseguimos poder ver la interfaz web de Nagios en Apache:
make install-webconf

Creamos un usuario (nagiosadmin) que pueda acceder vía web a Nagios:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

NOTA: no olvidar el password ya que lo necesitaremos luego

Reiniciamos apache para que los cambios surtan efecto:
/etc/init.d/apache2 reload


Paso 6 - Compilar e Instalar los plugins de Nagios

Una vez que hemos configurado e instalado Nagios en Ubuntu vamos a la carpeta donde tenemos el paquete de los plugins y descomprimimos el paquete de la misma forma que lo hemos hecho antes para poder instalarlos:
tar xzf nagios-plugins-1.4.14.tar.gz

Entramos a la carpeta que acabamos de descomprimir:
cd nagios-plugins-1.4.14/

Compilamos e instalamos los plugins:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules

Con "with openssl" habilitamos el soporte para SSL.
Con "enable-perl-modules"  habilitamos los módulos de perl para poder trabajar con perl.

Por último, instalamos:
make
make install



Paso 7 - Inicio de Nagios en Ubuntu

Ahora vamos a configurar Nagios para que se inicie automáticamente junto con Ubuntu. Para ello usamos el script que hemos generado antes con "make install-init":
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Verificamos que las configuraciones e instalación de Nagios en Ubuntu están bien, si hubieramos configurado algo mal durante la instalación sería en este punto donde aparecerían los errores:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

instalar nagios en ubuntu


Si no tenemos errores iniciamos Nagios:
/etc/init.d/nagios start


Paso 8 - Entrar en la interface Web

Si todo ha ido bien ahora tendríamos que poder entrar a Nagios por un explorador Web. Abrimos un explorador web y entramos en: http://localhost/nagios/
Nos pedirá el nombre de usuario (nagiosadmin) con la contraseña que hemos elegido en el paso 5.
Si todo ha ido bien deberíamos ver la página de inicio de Nagios.

instalar nagios en ubuntu


Si vamos a "Services" (lo podéis encontrar en el menú izquierdo) veremos el estado de los servicios que se están ejecutando.
Si SSH no está instalado el estado será "CRITICAL" como podeís ver en la imagen:

instalar nagios en ubuntu


Para solucionarlo instalamos SSH:
sudo apt-get install ssh

Tras la instalación si esperais unos minutos el estado debería cambiar a OK.

instalar nagios en ubuntu


Paso 9 - Otras Modificaciones

En el paso 4, tras la instalación de Nagios en Ubuntu, hemos cambiado la dirección de e-mail a la que nos llegarán las notificaciones de Nagios. Sin embargo, para recibir dichas notificaciones es necesario instalar algún servidor de correo. En este caso vamos a instalar postfix como servidor de correo:
apt-get install postfix

En este caso instalaremos postfix con la opción de "Internet con <smarthost>", con esta opción indicamos que vamos a usar un servidor de correo externo para enviar los emails.

El nombre del sistema de correos introducimos "nagios.local"
Por último, introducimos la ip del servidor externo de correo que vamos a usar.

Por otro lado necesitamos instalar mailx para enviar emails por línea de comandos:
apt-get install mailx

ahora solo queda que probemos el servidor de correo:
echo "PRUEBA" | mail -s "ASUNTO" admin@nosolounix.com

Para más información podéis visitar el post sobre como instalar un servidor de correo en Ubuntu.

Ahora reiniciamos Nagios:
sudo /etc/init.d/nagios restart

Ya tenemos instalado Nagios en Ubuntu y funcionando a la perfección, por lo que hasta aquí llega este manual. Espero que este manual de cómo instalar Nagios en Ubuntu os haya resultado de utilidad.

Si te ha parecido útil este post sobre como instalar Nagios en Ubuntu, quizá te interese este otro sobre como configurar Nagios en Ubuntu.

36 comentarios:

  1. Muy bueno, y me viene como caído del cielo, que tengo que instalar uno la semana que viene.

    ResponderEliminar
  2. Funciona a la perfeccion, es lo ideal por que avisa!, no es necesario estar pegado a la pantalla viendo graficos,

    ResponderEliminar
  3. Si la verdad...muy bueno el nagios está listo pero las notificaciones por correo no me funcionan...lo estoy haciendo en centos 5.2 pero ya lo voy a probar en Ubuntu..

    ResponderEliminar
  4. Gracias,

    Tut tutorial me sirvio de mucho, gracias a esto pude conseguir algo q desde hace rato venia buscando q nagios trabajara como yo queria q trabajara.

    Marta te felicito por este tutorial y Dios te bendiga

    ResponderEliminar
  5. en ubuntu 10.4 para instalar mailx no funciona:
    apt-get install mailx

    por lo que hay que ejecutar:
    apt-get install bsd-mailx

    ResponderEliminar
  6. Hola sor roger arteaga desde nicaragua y la verdad este tutorial si que esta muy bueno, me funciono a la perfeccion...

    ResponderEliminar
  7. Muchas gracias Marta, seguí los pasos al pie de la letra y funciono al 100% !!!

    ResponderEliminar
  8. Hola buenas, y enhorabuena por el tutorial. Al verlo tan claro me decidí a instalarlo, pero con la versión 3.2.3 de nagios y la 1.4.15 de los plugins. Todo fue sobre ruedas hasta que intené conectarme por web al equipo.

    Este equipo es un ubuntu server y me conecto a traves de un ordenador cliente.

    Cuando ingreso en el ordenador cliente http://dirección_del_pc/nagios me pregunta por usuario/contraseña pero cuando se la pongo (nagiosadmin) me da un Internal Server Error - 500. Si pongo http://dirección_del_pc me dice que el servidor web funciona. (por lo tanto entiendo que es un problema de la configuración web de nagios)

    Podrías echarme una mano?

    Un saludo y gracias..

    ResponderEliminar
  9. Hola

    El mapa 3D no sale con esta instalacion, ¿que es lo que puede faltar?

    Gracias.

    ResponderEliminar
  10. Excelente tutorial! Gracias

    ResponderEliminar
  11. Muy buen tutorial! Es realmente muy completo.

    Slds.-

    ResponderEliminar
  12. muy buen tutorial, funciona perfectamente. pero ahora, como monitoreo los equipos de mi red, porque no aparecen. hay alguna configuracion compelemntaria a realizar?.

    gracias

    ResponderEliminar
  13. Hola, tenemos en la oficina instalado nagios y para acceso web esta un usuario admin y otro restringido, como hago para cambiar los privilegios de los dos usuarios y la contrasena?
    muchas gracias

    ResponderEliminar
  14. gracias lo probare!!

    ResponderEliminar
  15. hola
    seguí tu tutorial en ubuntu 10.04 con nagios3.2.3 y plugins 1.4.15 y al darle start a nagios no me salía que faltaba el /usr/local/nagios/bin/nagios, y de hecho el directorio /usr/local/nagios/bin/ no existía, luego, intenté desde otro sitio el procedimiento aunque era el mismo, y lo único que hice diferente fué darle restart en vez de reload al apache.

    Quizas a alguien mas le sirva mi experiencia.

    Por lo demás, gracias por la guía.

    saludos.

    ResponderEliminar
  16. Gracias por esta informacion, esta excelente

    latinzero

    ResponderEliminar
  17. Hola!
    Lo instalé todo perfectamente, y no me dió fallo ninguno en la instalación y por eso quería darte las gracias.
    Pero el correo no me llega a mi cuenta de correo.
    Hago esto en la terminal:
    echo "Hola" | mailx -s "Esto es una prueba" estebanrfmix@hotmail.com
    Y no llega nada.
    No sé si es porque en este trozo del manual : "Por último, introducimos la ip del servidor externo de correo que vamos a usar." , no lo entendí y no sé donde poner la dirección ip ni como saberla. Despues lo de nagios.local lo hice, pero esto no.
    Espero que alguien me pueda ayudar, muchas gracias

    ResponderEliminar
  18. esta muy bueno al manuel.

    Ahora a buscar otro para la administarcion de NAGIOS a travez de MONARCH!.

    salu2
    juan

    ResponderEliminar
  19. Hola... Quisiera ver como puedo configurar nagios para monitoriar el qmail y los servicios del procs

    Saludos y gracias.

    ResponderEliminar
  20. Error :

    root@cg-laptop:~# make install-webconf
    make: *** No hay ninguna regla para construir el objetivo «install-webconf». Alto.

    ResponderEliminar
  21. porfa ayuda ya instale nagios y cuando quiero ver el estado de los hosts o services me sale
    It appears as though you do not have permission to view information for any of the services you requested...

    If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
    and check the authorization options in your CGI configuration file.

    ResponderEliminar
  22. hola gracias por el tuto la verdad me servira de mucho ya que mi proyecto de redes 2 es justamente sobre nagios sos grande mi amigo me callo como anillo al dedo..... :D..!!

    ResponderEliminar
  23. Por último, introducimos la ip del servidor externo de correo que vamos a usar.

    ¿Donde esta esa dirección?

    ResponderEliminar
  24. Que buen tutorial, ahora a configurar los pcs de la lan para monitorearlos :)

    ResponderEliminar
  25. perroteeeeeeeeeeeeeee tutoooo mil graCIAS

    ResponderEliminar
  26. ESta muy bueno porque tengo un trabajo en la univ. de monitorizar unos equipos en red.

    ResponderEliminar
  27. Muy bueno, muchas gracias por el aporte.

    ResponderEliminar
  28. If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
    and check the authorization options in your CGI configuration file.


    como lo corrigo?

    ResponderEliminar
  29. hola no puedo ver el mapa me aparece un error de apache

    ResponderEliminar
  30. una consulta compañeros, el paso 5 no se me esta ejecutando, me pueden dar alguna ayuda ??

    ResponderEliminar
  31. hola ya instale nagio tal cual en las indicaciones y no tube ningun problema pero en el paso 5 "make install-webconf" no me permite ese comando agradeceria si alguien me puede ayudar ya que veo q no soy el unico sin nbargo gracias por toda la informacion proporcionada

    ResponderEliminar
  32. Aunq algo tarde, para los compañeros que en futuro tengan problemas con el paso 5, les indico que debe ejecutarse desde la carpeta donde se encuentra el archivo de configuración, es decir dentro carpeta desempaquetada de su Nagios. Saudos desde Ecuador.

    ResponderEliminar
  33. Muy buen aporte, pero no me funciona la instalación de los plugins
    dice permission denied
    espero alguien me pueda ayudar

    ResponderEliminar
  34. error en el web.conf :(

    usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
    /usr/bin/install: no se puede crear el fichero regular «/etc/httpd/conf.d/nagios.conf»: No existe el archivo o el directorio
    make: *** [install-webconf] Error 1

    ayudaaaaa

    ResponderEliminar

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.