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.
- 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.
- 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.
- 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/”.
- 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.
Que tal, Exelente tutorial, muy bueno.
Hola de nuevo, aclaroq esta exelente pero tiene algunas fallas... asi q hechen un ojo al how to orginal de del autor, no sean flojitos esrta en ingles...
Hola,
He seguido el articulo y está muy interesante y me ha servido de mucho en mi proyecto final de carrera. Dicho proyecto se centra en una arquitectura distribuida de nagios, es decir, un servidor con Nagios en cada cliente y que todos envien los resultados a una base de datos central. He configurado todo de forma local para probar con solo un programa Nagios, Ndoutils y MYSQL, pero para la arquitectura distribuida se me escapa un poco la manera de configurar el NDOutils.
¿Sabes alguna pagina que trate de este tema?, es que todo lo que encuentro es para una configuración local.
Gracias por adelantado.
super tu manual
gracias me fue de mucha ayuda
a mi no me carga me indica que si deseo bajar una pagina con extension.phtml
a mi no me carga me indica que si deseo bajar una pagina con extension.phtml ,lo he echo varias veces pero siempre me sucede lo mismo, me estoy iniciando recien el linux ,alguien me podria ayudar grax..
Respuesta para los dos ultimos posts.
Esto es debido a que no teneis el php5 instalado y configurado en vuestro Apache.
Un saludo
cual es el usuario por defecto que crea?, porque al acceder a http://localhost/nagios3 me pide un usuario, cuando lo instale solo me pidio la passwd, pero no me decia (o no leei) cual era el nombre de usuario
desde ya muchas gracias
por fa. necesito una ayuda instale Nagios y lo configure pero al entrar en la interfaz web no me reproduce los sonidos de las notificaciones .... y aparte me dice que se necesita de un plugins para ver el contenido completo de la pagina.. que puedo hacer .. ya me queda poco tiempo de entrega del sistema .. el cual es mi proyecto de TEsis .. ayudenme .. gracias
el usuario que te crea por default es nagiosadmin prueba y nos dices
Efectivamente el usuario por defecto es nagiosadmin.