Instalar y configurar Nagios en servidor Debian 7 (Parte I)
Actualmente, en pleno siglo XXI, las empresas, ya sean grandes o pequeñas se encuentran ante el desafío de controlar decenas de máquinas, ya sean físicas o virtuales, estén en la nube o en sus propias instalaciones.
En el presente artículo hablaremos de Nagios, un fantástico software de monitorización liberado bajo licencia GNU General Public License Version 2. Con él podemos vigilar el hardware, es decir, las máquinas físicas cómo también los diferentes servicios que pueden correr en dichas máquinas (SMTP,POP3, HTTP,FTP,BBDD, etcétera).
Instalar y configurar Nagios en servidor Debian 7
He usado una máquina virtual con Debian 7 Wheezy.
También existe un artículo sobre la instalación sobre un Debian 8 «Jessie»
Antes de empezar debemos de instalar los siguientes paquetes en el sistema:
- Apache2
- PHP 5
- El compilador GCC y las librerias de desarrollo
- Las librerias GD
Empecemos entonces:
#Los siguientes comandos como superusuario
apt-get -y update
apt-get -y install apache2
apt-get -y install libapache2-mod-php5
apt-get -y install build-essential
apt-get -y install libgd2-xpm-dev
Creación de cuentas de usuario y grupo
Creamos el usuario nagios y le asignamos una contraseña:
#Creamos el usuario
useradd -m -s /bin/bash nagios
#Le asignamos una contraseña
passwd nagios
Añadimos el nuevo usuario en el grupo nagios
usermod -G nagios nagios
Creamos el nuevo grupo nagcmd para alojar los comandos usandos por la interfaz web.
groupadd nagcmd
#Añadimos el usuario en el grupo nagios
usermod -a -G nagcmd nagios
#También en el grupo apache
usermod -a -G nagcmd www-data
Descargamos el software y los Plugins
Crearemos una carpeta para descargar los paquetes de la página web del producto.
mkdir downloads
cd downloads
Si tenemos una carpeta ya creada con anterioridad de descargas perfecto, podemos usar la que queramos.
Procedemos a bajar los paquetes desde la web:
Yo he seleccionado la última versión estable. Usamos el comando wget para la descarga:
#Descargamos los paquetes de nagios-core
http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz
#Descargamos los paquetes de plugins
http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
Compilamos e instalamos
Descomprimimos los paquetes descargados:
tar xzf http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz
Y accedemos al nuevo directorio:
cd nagios-4.0.6
Ejecutamos el script de configuración, pasándolo por el grupo que hemos creado nagcmd
./configure --with-command-group=nagcmd
Compilamos el código fuente:
make all
Ahora instalamos los binarios, los scripts de inicio y los archivos de ejemplo.
make install
make install-init
make install-config
make install-commandmode
Los archivos básicos de configuración los tenemos en la carpeta:
/usr/local/nagios/etc/objects
Que son los siguientes:
- commands.cfg
- contacts.cfg
- localhost.cfg
- printer.cfg
- switch.cfg
- templates.cfg
- timeperiods.cfg
- windows.cfg
Por el momento sólo modificaremos el archivo contacts.cfg, que es dónde indicamos los usarios. Aquí podemos cambiar el correo de contacto por el nuestro propio.
nano /usr/local/nagios/etc/objects/contacts.cfg
Configuramos al Interfaz Web
Ejecutaremos el script install-webconf desde el directorio ….downloads/nagios-4.0.6
make install-webconf
Asignaremos el usuario nagiosadmin a la interfaz web de nagios. Nos pedirá una contraseña, no la olvides.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Reiniciamos el servicio Apache
/etc/init.d/apache2 reload
Compilamos e Instalamos Plugins
Volvemos al directorio donde tenemos el archivo descargado de los plugins y lo descomprimimos.
tar xzf nagios-plugins-2.0.tar.gz
Y accedemos dentro del directorio creado:
cd nagios-plugins-2.0
Compilamos e instalamos los plugins
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Iniciamos
Primero de todo crearemos un enlace simbólico con el comando ln, para que arranque el servicio al encender nuestra máquina.
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Por último comprobaremos que toda la configuración es correcta.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si no nos devuelve ningún error ya lo podemos arrancar.
/etc/init.d/nagios start
Con todo esto ya tenemos la web funcionando:
En un artículo próximo instalaremos los servicios necesarios para poder enviar notificaciones de estado, además de crear una configuración básica.
Instalar y configurar Nagios en servidor Debian 7 (Parte II)
Instalar y configurar Nagios en servidor Debian 7 (Parte III)
Si te ha servido el artículo puedes hacer click en cualquiera de los anuncios de la página, hay algunos interesantes : ) así me ayudarás a pagar todos los costos de la web. Desde ya muchas gracias.
Nota:
Información extraída de:
Gracias por el post.
Realmente está muy bien explicado paso por paso y funciona a la primera.
Salu2.
yo he seguido el tuto varias veces al pie de la letra y no he conseguido que funcione…. 🙁
Hola Andrew,
Ten en cuenta que este tuto es para Debian 7, eso es, llamada «Wheezy», quizás utilizas otra versión, si es la 8, con codename «Jessie», puedes seguir el otro tutorial que tengo en la web.
Gran aporte!!
Esta guía me ha funcionado al 100%, muy completa.
Felicidades y muchísimas gracias
Me alegra que os haya sido de utilidad y gracias por visitar la página 🙂
amigo excelente aporte muy acorde con el manual original de Nagios continuare con los otros capitulos o partes de verdad agradecida desde Venezuela 😉
Gracias a ti por pasarte por aquí 🙂
Hola 😀 he seguida cada paso que mencionas y al intentar abrir el navegador con la url http://localhost/nagios me resulta error 404 Not Found , estoy desesperada, sabes por qué sucede ésto??? ayuda por favor :'(
Hola!
Primero de todo necesito saber si nagios lo has instalado en la máquina donde estás navegando o en otra, recuerda que si es en otra debes de escribir la IP de dicha máquina, en vez de localhost.
Recuerda que debes de reiniciar Apache Server. También puedes comprobar si la configuración es correcta con el comando y parámetros:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Espero que te funcione.
Gracias por pasarte!
Hola !
He instalado nagios 4.0.8 en debian 7 siguiendo todos los pasos descriptos en el post. Anda perfecto, excepto que no inicia cuando enciento la maquina. El enlace simbólico está creado (ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios ). Agradezco una ayudita. Muy bien explicado el tema . Felicitaciones.
Hola Alejandro,
¿Qué distribución estás utilizando?
Puedes revisar el directorio para comprobar que efectivamente está creado el enlace simbólico.
Saludos
Buenas Tardes David ! Revisé el directorio:
root@nagios:/etc/rcS.d# ls
README S07kmod S13rpcbind
S01hostname.sh S07mtab.sh S14nfs-common
S01mountkernfs.sh S08checkfs.sh S15mountnfs.sh
S02udev S09mountall.sh S16mountnfs-bootclean.sh
S03keyboard-setup S10mountall-bootclean.sh S17kbd
S04mountdevsubfs.sh S11procps S18console-setup
S05hwclock.sh S11udev-mtab S19bootmisc.sh
S06checkroot.sh S11urandom S19x11-common
S07checkroot-bootclean.sh S12networking —> S99nagios <—
root@nagios:~# cat /etc/issue
Debian GNU/Linux 7 \n \l
root@nagios:/etc/init.d# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.0.8
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-12-2014
License: GPL
Website: http://www.nagios.org
Reading configuration data…
Read main config file okay…
Read object config files okay…
Running pre-flight check on configuration data…
Checking objects…
Checked 8 services.
Checked 1 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths…
Checked 1 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check
Parece estar todo bien.. pero no inicia 🙁 Saludos.!
Todo va bien excepto que falta ejecutar el modulo cgi de apache . Para ellio ejecutar el comando a2enmod cgi y reniciar el apache. Saludos…
muchas gracias Juan Carlos ! Saludos ..!
Muy bien explicado y funciona a la primera muchas gracias por tu aporte 🙂
Y yo que me alegro : )
Gracias por pasarte!
excelente el aporte, puedo accesar via web pero cuando le doy a revizar los host o cualquiera de las pestañas me da el siguiente error
Error: Could not read object configuration data!
Here are some things you should check in order to resolve this error:
Verify configuration options using the -v command-line option to check for errors.
Check the Nagios log file for messages relating to startup or status data errors
y en la pagina principal dice not running
Hola Israel,
¿Has probado utilizar la siguiente línea de comandos para comprobar la configuración?
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Ya me dices.
Gracias por pasarte por aquí : )
Buena tardes amigos, les escribo porque estoy instalando Nagios 4.06 segun su paso a paso y cuando voy a comprobar e funcionameinto me sale el siguiente error:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
bash: /usr/local/nagios/bin/nagios: No existe el fichero o el directorio
Leyendo sus comentarios he tratado con las diferentes opciones y sigue el mismo problema.
Estoy usando debian 7.
# a2enmod cgi
Module cgi already enabled
# cat /etc/issue
Debian GNU/Linux 7 \n \l
# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
ln: fallo al crear el enlace simbólico «/etc/rcS.d/S99nagios»: El fichero ya existe
# /etc/init.d/nagios start
Executable file /usr/local/nagios/bin/nagios not found. Exiting.
Alguien tendra alguna idea de porque no se me crea el directorio «/usr/local/nagios/bin/nagios»
Hola,
¿Cuando has compilado te ha dado algún error? También puedes buscar el archivo con los comandos find o locate.
Buenas tardes David, ya logre solucionar el problema usando los paquetes nagios-plugins-2.1 en lugar de los paquetes 2.0. Al compilar los plugins 2.1 levanto todo sin problema. Gracias igual por tu respuesta.
make[1]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0/po»
make[1]: se ingresa al directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
Chicos excelente guia pero al compilar el make me da este error no se si es que no se extrajeron bien los archivos alguien le ha pasado??
make[2]: se ingresa al directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
make[2]: No se hace nada para «install-exec-am».
make[2]: No se hace nada para «install-data-am».
make[2]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
make[1]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
Amigo sigo los pasos y al final cuando quiero acceder a la web de la manera «http://ipserver/nagios» me sale:
Not Found
The requested URL /nagios was not found on this server.
Apache/2.4.10 (Debian) Server at «IP Server» Port 80
si solo accedo de la siguiente manera «http://ipserver» sale la pagina por defecto de apache2
Te agradecería que me des una mano amigo…
Hola Julio,
¿Qué tal? Gracias por visitar la web.
Sería interesante saber si la versión de Debian, es la 6, la 7 o la 8, ya que el servicio Apache2 tiene ligeras diferencias dependiendo la versión.
David gracias por responder,
la versión es la ultima la 8 («debian-8.0.0-i386-netinst.iso») no aplica a esta version???
Slds
Hola Julio,
No lo he probado con esa versión, quizás valga la pena probarlo con dicha versión.
Gracias por el Tuto. seguí las instrucciones llego entrar a la web pero me rebota el usuario: nagios y contraseña: nagios que puedo hacer?
Hola Juan,
Simplemente tienes que cambiar la contraseña del usuario «nagios» desde la consola, usando el usuario «root», con el comando «passwd nagios» Salu2
Perdon falto leer un poco mejor, ya pude ingresar. gracias!
Me alegro : )
Buenos días, estoy siguiendo el tutorial (mil gracias por cierto!!) y hay un paso que en mi caso no se puede realizar. Me refiero a: «make install-webconf» Me devuelve:
/usr/bin/install -c -m 644 sample-config/http,conf /etc/httpd/conf.d/nagios.conf
/usr/bin/install: no se puede crear el fichero regular : No existe el fichero o directorio.
Makefile:296: recipe for target ‘install-webconf’ failed
make:*** [install-webconf] Error 1
Todos los demás comandos sin ningún problema. Me arranca el servicio, pero tampoco puedo acceder vía web (intuyo que por mi problema). Sin embargo si ejecuto la sentencia para comprobar si todo esta correcto, me devuelve 0 warnings y 0 errors.
Usando Debian 7 x64, Nagios-4.0.8 y nagios-plugins-2.0.3.
¿Se te ocurre algo que haya hecho mal?
Muchas gracias por tu tiempo
Un saludo!!
Hola Pablo,
Revisa la configuración y sobre todo los pasos de la instalación por si te has dejado alguno, que es lo que suele pasar.
Salu2!
Hola David:
Bien explicado y me ha servido, pero:
usuario nagios con shell y contraseña nagios…. mal, no crees
Hola David,
fenomenal tutorial, las 3 partes son de gran ayuda 😀
Tengo una duda, como podría configurar exactamente el tema de las notificaciones para poder recibir emails a mi correo de gmail?
Muchas gracias fenómeno!! 😀
Buenas amigo gracias por el aporte esta super completo solo que me arroja 2 errores el primero es que cuando intento instalar el script webconf me da error, ya lo he revisado todo exactamente como lo haces tu y nada, lo estoy instalando en debian 7 con el nagios4.1.0rc2, el otro error que presento es que sigo el tutorial saltando ese paso y cuando llego al momento de arrancar el servidor me devuelve error.
root@redes-servers:/home/ftp/downloads/nagios-plugins-2.0# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.1.0rc2
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 07-17-2015
License: GPL
Website: https://www.nagios.org
Reading configuration data…
Read main config file okay…
Read object config files okay…
Running pre-flight check on configuration data…
Checking objects…
Checked 8 services.
Checked 1 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths…
Checked 1 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check
root@redes-servers:/home/ftp/downloads/nagios-plugins-2.0# /etc/init.d/nagios start
[….] Starting nagios (via systemctl): nagios.serviceFailed to start nagios.service: Unit nagios.service failed to load: No such file or directory.
Hola Carlos,
Revisé los pasos hace poco y todo funciona bien si se utiliza la misma versión de Debian, y se siguen todos los pasos.
Saludos
Hola, excelente tutorial, fectivamente, da un error al momento de la instalación del Web Config, pero la solucion es simple, se debe ejecutar el comando de manera manual para que funcione, la manera actual seria así:
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf
Yo hice la instalación y funciono todo. Estoy haciendo pruebas actualmente y quiero montar el NagioQL
Hola Jobert, gracias por visitar la web.
Respecto al error que has encontrado es debido a que habrás utilizado otra versión de Debian, seguramente la última a día de hoy, que es la «Jessie». Para el tutorial yo me serví de la anterior, que es la versión 7, llamada «Wheezy»
Saludos
La idea es ayudar, que cualquiera q este buscando información pueda ayudarse, la versión de Debían q utilizo es la 7, el problema es q cambio la versión del apache. De igual manera, aplicando el cambio q mencione se soluciona, si le ocurre esto a alguien puede solucionarlo como oí emocione…
Me parece genial Jobert, buen trabajo!
Boa noite,
Está de parabéns pelo tutorial, para quem foi acessar o nagios e se deparou com a mensagem «resulta error 404 Not Found» é preciso criar um link simbólico segue exemplo::
ln -s /etc/apache2/conf.d/nagios.conf /etc/apache2/conf-enabled/
Na compilação é criado o arquivo nesse diretório /etc/apache2/conf.d/nagios.conf e por algum motivo o apache2 só esta lendo o /etc/apache2/conf-enabled/
Obrigado a todos!!
Hola Andreus,
Gracias por pasarte por aquí. Ten en cuenta que el tutorial es para la versión 7 de de Debian, llamada «Wheezy» ¿Qué versión estás utilizando?
Saludos
Estou utilizando a 7.8 mesmo.
Estoy comenzando a trabajar en Linux, mi correo es alexis.manzanares@umcc.cu. Necesito la ayuda de la comunidad Linux, instalé Nagios 4.0.8 en debian 7. Al final dice que está corriendo el servicio pero no sé donde se muestra la Web donde se interactúa con ella. Disculpen mi desconocimiento, estoy a un 20% de la curva de aprendizaje…Si alguno escucha mi S.O.S escríbame al correo para comunicarnos más directamente y abrir un canal de colaboración…saludos
Hola Alexis,
Para interactuar con Nagios debes ir, una vez instalado en un servidor, a un navegador web y escribir: http://ip-del-servidor/nagios, entonces te pedirá usuario y contraseña. Una vez dentro verás el panel de Nagios.
Saludos
Hola davidochobits:
Gracias colega, ya dí un primer paso y creo que voy entendiendo, pero me dio un error. Usé tres navegadores, el Internet Explorer que no ve nada, y el Mozilla y Google Chrome, me das más información: colocando http://10.40.7.25/nagios,
404 Not Found
The requested URL /nagios was not found on this server
Apache/2.4.10 (Debian) Server at 10.40.7.25 Port 80
En su sitio aparecen tres partes de la instalación del nagios, yo solo instalé el primer tutorial, me faltan los otros dos. No sé si el error es porque mis archivos son nagios-4.0.8, y nagios-plugins-2.0.3, mientras que el tutorial habla del nagios-4.0.6. y nagios-plugins-2.0…Yo estoy incursionando en lo desconocido y tengo muchas dudas, cualquier explicación suya o de otros colegas me va a ser útil…Esperando ayuda…saludos Alexis
Hola Alexis,
Primero de todo gracias por pasarte y dejar un comentario. Respecto a tu pregunta recuerda que la instalación es sobre un Debian, en su versión 7. Si tu instalación es Debian 8 «Jessie», hace unos días escribí un artículo al respecto:
https://www.ochobitshacenunbyte.com/2015/10/29/instalar-configurar-nagios-debian-jessie/
Incluso he publicado un vídeo:
https://www.youtube.com/watch?v=4B2nKmimInU
Espero te ayude.
Saludos
tengo un servicio en un archivo pl desde consola funciona correctamente pero en la web no funciona.
Hola Antonio,
¿Tiene relación con Nagios? Te lo digo porque de eso va el artículo.
Si claro, tengo nagios instalado tal como indicas y he puesto un servicio, check_timed_logs.pl para leer los logs recibidos, en concreto para que me diga cuantos correos(PTO 25,465 y 587) en ultima hora se han enviado y desde la terminal me aparece correcto y desde la web de nagios me dice desconocido («UNKNOWN – There were no files matching the passed filename»), gracias por responder.
Buen dia Disculpe No puedo Acceder al Panel Nagios via Web coloco mi ip+/nagios y no accede y todo el proceso se realizo con satisfaccion que debo hacer?
Hola, revisa la configuración del servidor web Apache, por si ha fallado algo, también pudes revisar los logs, ubicados en /var/log/apache2/access.log
Saludos