Monitorizando equipos y servicios con Nagios + NagiosQl + PNP4Nagios

68
110631

Monitorizando equipos y servicios con Nagios + NagiosQl + PNP4Nagios

0. Índice de contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil 2,4 Ghz Intel Core2 Duo P8600
  • Sistema Operativo: Ubuntu 11.04 Natty Server

2. Introducción

Es este tutorial aprovecharemos las capacidades de Nagios para monitorizar máquinas y los servicios que estas proveen. Utilizaremos NagiosQl para realizar de forma mas sencilla la tarea de gestión de Nagios y PNP4Nagios para mostrar gráficos de estado para servicios que lo soportan.

3. Instalación de Nagios

Antes de comenzar la instalación de Nagios necesitamos que se instalen (si no hemos seleccionado los paquetes de LAMP server en la instalación de Ubuntu) con un usuario con permisos de sudo (root) los paquetes de apache2, php y build (para compilar):

Creamos el usuario y el grupo para Nagios y sus asociaciones con el usuario de ejecución de apache www-data:

Ahora descargaremos nagios (en nuestro caso será la versión 3.3.1) y lo descomprimimos:

A mi personalmente me gusta instalar los servicios en el directorio /srv por lo que lo usaremos de base el directorio /srv/nagios (si omitimos el parámetro –prefix, la instalación se realizará en /usr/local/nagios)

Ahora instalaremos los plugins (en este caso la versión 1.4.15) que son los comandos linux que se lanzarán cada intervalo de tiempo predeterminado:

Ahora configuraremos el inicio de nagios, primero comprobamos que no hay errores de configuración y establecemos el usuario y grupo para el directorio /srv/nagios:

Añadimos nuestro script de inicio al inicio del sistema, iniciamos el servicio y reiniciamos el apache para que coja los cambios:

Si todo va bien, accediendo a la url http://[ip_servidor]/nagios (nos solicitará las credenciales del usuario nagiosadmin que hemos introducido antes para el archivo htpasswd) debemos ver algo parecido a esta imagen:

Nagios Home

Podemos pulsar sobre «Services» y veremos las monitorizaciones que existen por defecto para el host de nagios.

Default Services

Con estos pasos ya tendriamos instalado nuestro Nagios, y podriamos trabajar con el modificando los objetos del directorio «/srv/nagios/etc/objects/», pero para hacer esta tarea más comoda la instalaremos NagiosQl en el siguiente apartado.

4. Instalación de NagiosQL

Ahora vamos a instalar nagiosql que es una inferfaz web para dar de alta nuestro host y servicios en nagios y modificar los archivos de configuración de nagios, reiniciarlo, etc. Primero descargamos el archivo nagiosql_311.tar.gz

Una vez instalado vamos a la direccion: http://[ip_servidor]/nagiosql , obtendremos una pantalla como esta:

Instala Nagiosql 1

Seleccionamos idioma español y pulsamos sobre el botón «Iniciar Instalación», nos aparecerá una pantalla de verificación de requisitos:

Instala Nagiosql 2

Aparecerá una pantalla en la que indicaremos el password de usuario root (de mysql) u otro usuario con permisos de creación de esquemas/tablas, etc. Después introducimos las credenciales de inicio en la aplicación y pulsamos sobre «Siguiente»:

Instala Nagiosql 3

Nos aparecerá la ventana de confirmación, en la que nos indica que debemos eliminar el directorio «/srv/nagios/nagiosql/install/»

Instala Nagiosql 4

Y pulsamos sobre «Finalizar». Nos aparecerá la pantalla de login, en la introduciremos las credenciales anteriormente configuradas y pulsamos sobre «Login»:

Login Nagiosql

El siguiente paso es configurar los archivos las rutas de Nagios y NagiosQL, para ello vamos a «Administración -> Dominios» y pulsamos sobre el icono «Modificar» en la fila «localhost»:

Config Nagiosql 1

Config Nagiosql 2

Ahora configuramos el archivo «nagios.cfg» desde «Herramientas -> Nagios Config» comentamos las siguientes lineas:

Y añadimos despues las nuevas y pulsamos sobre «Guardar»:

Ahora vamos a «Herramientas -> Control Nagios» y realizamos todos los pasos por orden, siempre y cuando no den errores:

Config Nagiosql 3

Cargamos nagios http://[ip_nagios]/nagios y vemos que está todo correcto. En mi caso como he importado datos de ejemplo, me aparecen mas host:

Nagios-NagiosQl

5. Instalación de PNP4nagios

PNP4nagios nos permite realizar gráficas en tiempo real con los datos de ejecución de los servicios (perfdata), utiliza rddtool que se basa en una bbdd roud-robin que no crece apenas con el número de muestras.

Lo mismo que en los pasos anteriores, descargamos, descomprimimos e instalamos:

Editamos el archivo /etc/apache2/conf.d/pnp4nagios.conf y modificamos la ruta de AuthUserFile por la siguiente y reiniciamos apache:

Vamos a configurar pnp4nagios en el modo masivo para que tenga menos carga sobre el sistema, para ello debemos modificar el archivo nagios.cfg como antes y habilitar el procesado de PROCESS PERFORMANCE DATA:

Nagios-NagiosQl

Después desde el menú «Comandos -> Definiciones» damos de alta los siguientes dos comandos:

Process Host

Process Service

Ahora para que nos aparezcan los iconos de las gráficas en los servicios y en los host, editaremos la plantilla generic-service y generic-host en el menú Supervisión -> Plantillas de servicios y «Supervisión -> Plantillas de Host» respectivamente, en la pestaña «Ajustes adicionales ponemos el campo:

Host Template

Service Template

Aplicamos los cambios desde el menú «Herramientas -> Control Nagios» y accedemos a nagios http://[ip_nagios]/nagios , nos deben aparecer iconos con gráficas en cada uno de los servicios y host:

Nagios

Para terminar la instalación hacemos click en uno de los iconos donde se verificará si todo está correcto.

pnp4Nagios

Eliminamos el archivo que nos comenta «/srv/nagios/pnp4nagios/share/install.php» y volvemos a nagios. Si pasamos el raton sobre las gráficas podemos ver un popup con la gráfica o gráficas generadas, y si hacemos click sobre el icono vamos a una vista mas grande que nos muestra las gráficas en varios periodos:

pnp4Nagios

pnp4Nagios

6. Conclusiones

Ahora ya tenemos instalado Nagios+NagiosQl+PNP4Nagios y podemos empezar a monitorizar nuestros equipos desde impresoras, routers, servidores, aplicaciones java, a un simple puesto de trabajo. Para indagar mas sobre qué y cómo configurar podeis echar un ojo a los enlaces relacionados.

Cualquier duda o sugerencia podeis comentarlo.

Saludos.

7. Referencias

  • http://www.nagios.org/
  • http://www.nagiosql.org/
  • http://docs.pnp4nagios.org/es/pnp-0.6/start

68 Comentarios

  1. Muy buen tuto, por el tamaño de nagios no me hacía, pero con un tuto así ya me animo más.

    Gracias por el esfuerzo y compartirlo.

  2. Antes que nada quiero agradecerte por compartir tus conocimientos.
    He seguido tu manual y ya logre instalar Nagios, NagiosQl y PNP4nagios, pero me di cuenta que nagios en el link de maps me aparece como que la página no funciona.
    Segui tu manual paso a paso y reinstale varias veces pero no logro hacer que se vea ese link. tendras alguna idea y consejo que me puedas dar?.

  3. Hola Saga,

    Si has seguido todos los pasos del tutorial debería funcionar correctamente, revisa los logs de apache (/var/log/apache2) por si fuera algún problema de permisos.

    Tambien puedes revisar los log de Nagios en el directorio /srv/nagios/var

    Saludos y gracias por el comentario

  4. Excelente tutorial, antes que nada.
    He seguido el mismo y me encuenteo con un problema.
    En el siguiente entorno
    Hardware: PC 2,9 Ghz AMD x2 5200 + 4Gb ram + HD 250 Gb
    Sistema Operativo: Debian 6.0
    Al querer instalar el NagiosQL:
    Checking php.ini/.htaccess settings

    The following settings are required to run NagiosQL:
    valid file_uploads: OK
    valid session.auto_start: OK
    invalid suhosin.session.encrypt: 1 (should be 0)

    Y no me permite seguir adelante con la instalacion.
    Desinstale, reinstale, formate, y siempre me da el mismo error.
    Agradezco desde ya si tienes algun dato ya que en www no he encontrado nada qe sirva.
    Saludos.

  5. Hola Kikalex,
    No he probado la instalación en debian, pero te recomiendo que revises bien si tu sistema cumple con los requisitos de nagiosQL, es probable que o bien tengas una versión de php inferior, o bien falte algún módulo de php por configurar adecuadamente.

    En que paso te da el error?

    Saludos

  6. Hola. Tengo un problema.
    Cuando lanzo el nagiosql me da un error que no me deja continuar la instalación.

    Write test on settings directory (config/): failed

    Lo que deduzco es que tengo algún problema de permisos, pero siguiendo el tutorial cuando puse el código de permisos no me dio ningún error.
    La ruta a la que hace referenci es la de /srv/nagios/nagiosql/config
    o es /srv/nagios/nagiosql/nagiosql/config
    ??????

    Una ayuda please

  7. Buenas noches Carlos…excelente el tutorial, me ha servido de mucho, todo me ha salido muy bien, pero deseo que me des una mano en la parte de los Gráficos con pnp4nagios, ya que me salen las imágenes de los gráficos pero los datos me salen como \\\»nan\\\», y esto es en todos, es decir no me salen los datos en las gráficas, espero me puedas ayudar.! Gracias.! y sigue asi.

  8. Excelente el turiorial, valla que me ha servido. para complementar mi NAGIOS.
    YOYO, el problema que mencionas yo lo pase, basta con hacer un refresh de la pantalla, o regresar a la pantalla anterior en el llenado del formulario llenarlo nuevamente marcando la opcion de borrar la base de datos si es que existe, veras que ya no te marca error al momento de escrivir sobre la carpeta config

    esto fue en el paso: 4. Instalación de NagiosQL
    en la linea: sudo chmod 770 /srv/nagios/nagiosql/config

    SALUDOS

  9. Queria agrecer este exelente tutorial pero como comentaba un colega mas abajo, se le instalo el statusmap, tengo todo configurando y funcionando perfectamente, solamente me falta habilitar esa opcion. En que parte de la compilacion debiese instalar el statusmap???

    Saludos.

  10. Hola ElmoN,

    Te digo lo mismo que a Saga, para que funcione esa página no hay ninguna configuración adicional, revisa el tema de permisos por si las moscas.

    Si el SO destino es distinto a Ubuntu puede que necesites instalar paquetes adicionales para que te funcione correctamente.

    Saludos

  11. ElmoN
    a mi me paso lo mismo y verifique el archivo cgi.cfg, modifique las rutas a /srv/nagios****
    y solucione el error.

    Thunder

    exelente manual mil gracias…pero te comento que tengo problemas con el pnp4nagios pues no me carga el icono de las graficas en el service,…

    PD: segui al pie de la letra el manual …gracias por tu colaboracion

  12. Excelente tutorial, me sirvio muchiiiisssimo mas que la documentacion de cada pagina, solo una pequena ayuda, al pasar el mouse sobre cada grafica no me aparece el popup de la graficas, aunque si me aparecen las graficas generadas, ya revise las rutas, que podria ser?

  13. Vamos por partes, para juane:
    Es bastante probable que aunque se haya creado y modificado el servicio en nagiosql, no se haya escrito en disco (de hecho yo empiezo a tener problemas con esto y me da que es un bug). Asegurate de que los ficheros de plantilla de comandos y que se están aplicando correctamente a todos los servicios (es decir, que lo tengan como una de sus plantillas). Si no te aparece el icono es que no está configurada adecuadamente la propiedad URL de acción de la plantilla de servicios.

    Para edgardaugustor:
    Es bastante probable que te falte por copiar este fichero:
    ~$ sudo mv contrib/ssi/status-header.ssi /srv/nagios/share/ssi/
    O quizas sea cuestion de lo que le comentaba a juane

    Saludos

  14. Tunder.

    Mil gracias por tu respuesta, la verdad es que solucione el problema, pero me hay algo que me quedo muy claro y es qua cada que creo un host nuevo me toca crear el directorio en perdata /perdata/nombre del host.
    Y otra cosa que me toca copiar los archivos.
    Y otra cosa que me sucedió fue que después de reparar lo anterior, el statismap uno de los host que cree se me quedo en estado pending. Busque alguna solución pero no la encontré, en vista de lo anterior me decidí a instalarlo nuevamente pero no en las rutas que tu recomiendas /srv/nagios. Las rutas fueron modificadas por /usr/local/nagios pero me encuentro con q no me esta graficando. Me sale un error el cual se debe a que no encuentra los archivos de Ping etc te agradezco tu gran ayuda.

  15. Buen Tutorial!! Yo estoy trabajando actualmente con la version 2.9 de Nagios, y me gustaria saber como mostrar en pantalla el status de los servicios del host monitoreado solo para cuando se cumplen la condición de timeperiod. P ejemplo, solo me interesa observar en pantalla el status del Servidor_X en un horario de 9-16, para el resto del tiempo se que se encontrará alarmado por lo que no me interesa observar sus alarmas en el portar WEB de Nagios, espero que me puedas apoyar.

    Saludos

  16. Buenas,
    Por partes, primero Alberto_P,

    Imagino que lo que necesitas es ver el estado en esa franja horaria únicamente, con lo que debes definir un timeperiod especifico para todos tus servicios, así se realizaría exclusivamente con Nagios:
    http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#timeperiod
    Te puede dar una idea para definirlo en nagiosql.

    No se si esta característica es aplicable a la versión 2.9.

    Luego en Nagios puedes observar a tiempo real desde la opcion del menú Services, o revisar los histogramas en la opcion de menú Alerts->Histogram, aunque solo podrás comprobar un servicio por petición.

    Es posible que necesites ponerle algún add-on a Nagios si esto no te vale: http://exchange.nagios.org/

    Para juane,

    Es bastante probable que alguna ruta se te haya ido en la instalación. Por lo que cuentas, es que no encuentra el directorio de comandos. Revisa que estas rutas están correctamente actualizadas con tu instalación:

    http://www.adictosaltrabajo.com/tutoriales/nagios_nagiosql_pnp4nagios/img9.png

    Saludos,

    Carlos León

  17. Zerojc, parece que no está correctamente instalado el modulo de php para acceder a mysql.

    ¿Con que distribución de linux estás instalando?

    Saludos

  18. Buenas tardes
    Reciban un cordial saludo
    Les comento que ya tengo instalado Nagios versión 3.4.1, Nagio QL Versión 3.1.1, también tengo instalado PNP4Nagios Versión 0.6.18. Solo tengo problema con el PNP, me da el siguiente mensaje:

    Inicio
    Please check the documentation for information about the following error.
    perfdata directory \\\»/usr/local/nagios/pnp4nagios/var/perfdata/ASA-BORDE-02\\\» for host \\\»ASA-BORDE-02\\\» does not exist. Read FAQ online
    file [line]:
    application/models/data.php [148]:
    back
    Fin

    La configuración realizada es la siguiente:

    process_performance_data=1
    #
    # service performance data
    #
    service_perfdata_file=/usr/local/nagios/pnp4nagios/var/service-perfdata
    service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\\\\tTIMET::$TIMET$\\\\tHOSTNAME::$HOSTNAME$\\\\tSERVICEDESC::$SERVICEDESC$\\\\tSERVICEPERFDATA::$SERVICEPERFDATA$\\\\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\\\\tHOSTSTATE::$HOSTSTATE$\\\\tHOSTSTATETYPE::$HOSTSTATETYPE$\\\\tSERVICESTATE::$SERVICESTATE$\\\\tSERVICESTATETYPE::$SERVICESTATETYPE$
    service_perfdata_file_mode=a
    service_perfdata_file_processing_interval=15
    service_perfdata_file_processing_command=process-service-perfdata-file
    #
    # host performance data starting with Nagios 3.0
    #
    host_perfdata_file=/usr/local/nagios/pnp4nagios/var/host-perfdata
    host_perfdata_file_template=DATATYPE::HOSTPERFDATA\\\\tTIMET::$TIMET$\\\\tHOSTNAME::$HOSTNAME$\\\\tHOSTPERFDATA::$HOSTPERFDATA$\\\\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\\\\tHOSTSTATE::$HOSTSTATE$\\\\tHOSTSTATETYPE::$HOSTSTATETYPE$
    host_perfdata_file_mode=a
    host_perfdata_file_processing_interval=15
    host_perfdata_file_processing_command=process-host-perfdata-file

    #Comando para servicios
    command_name process-service-perfdata-file
    command_line /usr/local/nagios/pnp4nagios/libexec/process_perfdata.pl –bulk=/usr/local/nagios/pnp4nagios/var/service-perfdata
    #Comando para hosts
    command_name process-host-perfdata-file
    command_line /usr/local/nagios/pnp4nagios/libexec/process_perfdata.pl –bulk=/usr/local/nagios/pnp4nagios/var/host-perfdata

    #Para host
    URL de acción /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_\\\’ class=\\\’tips\\\’ rel=\\\’/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
    #Para Services
    URL de acción /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$\\\’ class=\\\’tips\\\’ rel=\\\’/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$

    ME pueden ayudar?

  19. Estimado Carlos:
    un gran trabajo con este tutorial.. me funciono todo a la perfecion. Pero me di cuenta que al entrar a la parte de \\\»map\\\», este no funciona y me aparece lo siguiente \\\»The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.\\\»

    No se si tienes alguna solucion para esto, ya que he buscado en muchas partes y no encuentro nunguna solucion..

    Muchas gracias..

  20. Hola,

    Primero, felicitar al autor por el artículo. Ahora cuento mi problema, tengo muy poca idea de linux, he seguido toda la instrucción y en los últimos pasos, la web de nagiosql parte de instalación, me dice que MySql: no disponible. Por el contrario si entro a la consola de linux si puede ejecutar #mysql.

  21. Buenas, excelente tutorial, yo uso un software llamado \\\»the dude\\\» de mikrotik para monitorear equipos de una red de una empresa, estoy pensando en implementar nagios para hacer una comparacion y ver que ventajas me ofrece nagios, soy bastante novato en linux, pero es un sistema operativo que le estoy agarrando el gustito, hice todos los pasos con exitos en la instalacion de nagios, cuando quise instalar nagiosql tuve dos errores (de los cuales solocione uno), que fue la instalacion de mysql, cuando ejecutaba apt-get install mysql-server mysql-client, me instalaba la version 5.1 de mysql con errores, entonces en la instalacion de nagiosql me tiraba que no estaba instalada, la solucion fue simple, removi todo lo instalado a mysql y le instale la version 4.1.
    El otro porblema que actualmente esta es el siguiente, en la imagen de la verificacion de requisitos me salta el siguiente error:

    Write test on settings directory (config/): failed

    Creo que es un tema de permisos, pero creo haber hecho todo lo posible (segui paso a paso las instrucciones del tutorial) y no hay forma de solucionarlo, si me pueden ayudar se agradecera, mi version de ubuntu es la 11.10. Gracias y disculpen por lo extenso.

  22. Estimado Carlos León Villamayor.

    seguí paso a paso tus instrucciones pero tengo varios problemas a la hora de agregar un switch.
    Warning: Duplicate definition found for service \\\’PING\\\’ on host \\\’DES-TSA-WEB\\\’ (config file \\\’/srv/nagios/etc/objects/services/CiscoSG-300.cfg\\\’, starting on line 14), ahora revise todo los directorios y no encontré nada extraño.
    Lo otro es que cada vez que agrego un server-windows se agregan automáticamente los servicios de los otros host ya agregados, de igual manera cuando agrego un servicio nuevo este se agrega a todo los Hosts.
    y el ultimo es que no me aparece el mapa me sale el siguiente error.

    Not Found

    The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.
    Apache/2.2.22 (Ubuntu) Server at 20.0.0.72 Port 80

    Te pido favor me puedas ayudar y a la vez realizar un pequeño tutorial en donde me puedas enseñar bien agregar los hosts(windows y linux),Print,Switch..

    muchas gracias por todo y estaré atento a tu pronta colaboración.

  23. Buenas,

    Antes de nada, deciros que no he probado la instalación para todas las versiones de Mysql y/o Ubuntu y es posible que alguno de los paquetes de instalación de software sea distinto o tenga alguna peculiaridad.

    Deoneatakk: Para el tema de configuración de nagiosql te recomiendo que vayas a su web y eches un ojo. Lo que te está pasando es que al crear el nuevo host y añadirlo al grupo de host \\\»server-windows\\\» ya tiene heredados todos los servicios del grupo de host. Es cuestión de ir probando, se pueden agregar servicios a cada máquina, pero también se pueden agregar a un grupo de host, esto es util cuando queremos monitorizar varias máquinas que son totalmente idénticas. El proceso de herencia de servicios en grupos puede ser un poco complejo al inicio, pero luego vereis que es bastante sencillo. Siempre que se tenga claro lo que se va a monitorizar; para esto sugiero que realiceis un diagrama de maquinas-servicios y veais la mejor forma de configurar nagios.

    Por otro lado, voy a probar de instalar de nuevo por el tema de statusmap.cgi a ver si reproduzco el problema, ya que yo lo tengo instalado en una CentOS 6 y me funciona sin problemas, seguramente es algo de permisos.

    Saludos y gracias por los comentarios 🙂

  24. Buenas,

    Despues de probar la instalación de Ubuntu 12.04 server LTS, y en relación con el problema con el error de «statusmap.cgi», parece que han cambiado algunas librerias que antes si se instalaban en la distribución por defecto (libgd libgd-devel libpng libpng-devel libjpeg libjpeg-devel en concreto), de hecho al realizar make install de nagios aparece el siguiente mensaje:

    *** GD, PNG, and/or JPEG libraries could not be located… *********

    Boutell’s GD library is required to compile the statusmap, trends
    and histogram CGIs. Get it from http://www.boutell.com/gd/, compile
    it, and use the –with-gd-lib and –with-gd-inc arguments to specify
    the locations of the GD library and include files.

    NOTE: In addition to the gd-devel library, you’ll also need to make
    sure you have the png-devel and jpeg-devel libraries installed
    on your system.

    NOTE: After you install the necessary libraries on your system:
    1. Make sure /etc/ld.so.conf has an entry for the directory in
    which the GD, PNG, and JPEG libraries are installed.
    2. Run ‘ldconfig’ to update the run-time linker options.
    3. Run ‘make clean’ in the Nagios distribution to clean out
    any old references to your previous compile.
    4. Rerun the configure script.

    NOTE: If you can’t get the configure script to recognize the GD libs
    on your system, get over it and move on to other things. The
    CGIs that use the GD libs are just a small part of the entire
    Nagios package. Get everything else working first and then
    revisit the problem. Make sure to check the nagios-users
    mailing list archives for possible solutions to GD library
    problems when you resume your troubleshooting.

    ********************************************************************

    Por lo tanto es necesario INSTALAR las siguientes librerias necesarias ANTES de instalar nagios:

    sudo apt-get install libgd-graph-perl
    sudo apt-get install libgd2-xpm-dev

    Saludos

  25. Buenas de nuevo,

    Tambien he encontrado el problema que os daba a alguno en el que nagiosql no reconocía la instalación de mysql. Parece que con la instalación del paquete de php básico ya no se instala el módulo de mysql y es necesario instalarlo el paquete \\\»php5-mysql\\\» y después reiniciar apache:

    sudo apt-get install php5-mysql
    sudo /etc/init.d/apache2 restart

    Sigo buscando problemas…

    Saludos

  26. Buenas,

    Terminada la revisión, solo tomar los apuntes que he ido comentando y que varian de una versión a otra de Ubuntu.

    Saludos y comentar cualquier otra cosa que veais 🙂

  27. Hola Carlos,

    Felicidades por el tutorial, no es nada sencilla la instalación y los pasos estan muy claros.

    He replicado la instalación en un servidor con ubuntu 12 server y el único problema que he tenido hasta el momento es que cuando trato de ver una gráfica, me salta a una pagina nueva donde ,e aparece un error de apache:

    —————————————————————-

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.
    Apache/2.2.22 (Ubuntu) Server at localhost Port 80

    ——————————————————————

    ¿tienes alguna experiencia o pista al respecto?

    Saludos

  28. Buenas.
    La verdad estoy usando nagios y me va muy bien, en la empresa me dieron una maquina para con las siguientes características:
    Microprocesador intel dual core 2.8GHz
    Memoria Ram: 2GB
    Me gustaría saber (un numero aproximado) de cuantos dispositivos podría monitorear (creo que también dependería de la cantidad de servicios que utilice por dispositivo), ya que en la empresa cuento con dispositivos (en mayoría) ciscos (tanto routers, switches, CMTS, etc).
    También servidores linux, como servidores FTP, Asterix, de correo, etc. Y otros equipos utilizados para radioenlaces (Radwing 2000, Canopy, etc).
    Otra cosa, se me esta complicando a la hora de monitorear ancho de banda (saliente o entrantes), no me doy cuenta como utilizar el comando check_Local_Mtrgraf, si tenes ejemplos me serviría mucho.
    ultima consulta, como se hace para poder poner imágenes a los dispositivos en el mapa (para que quede mas bonito jeeje). Eso es todo saludos.

  29. Unicamente para mejorar este excelente tuto.

    En el paso previo, en las instalaciones, instalad los siguientes paquetes para no tener problemas con el statusmap, ni el trend, ni otros:

    libjpeg62-dev
    libpng-dev
    libgd-dev
    zlib-dev

    Saludos!

  30. Hola Saludos Carlos Leon Excelente Informacion.

    Al ejecutar el comando sudo ./configure –prefix=/srv/nagios/pnp4nagios

    Me aparece el siguiente error:
    checking whether stat accepts an empty string… no
    checking for an ANSI C-conforming const… yes
    checking for perl… /usr/bin/perl
    checking for rrdtool… no
    checking rrdtool path … no
    configure: error: is a directory! PNP needs the Path to the rrdtool binary!

    No me permite ejecutar:
    ~$ sudo make all
    ~$ sudo make fullinstall

    Saludos a la espera de sus comentarios.

  31. Para oscar198810, asegurate que están instalados los paquetes rrdtool y librrds-perl:

    sudo apt-get install rrdtool
    sudo apt-get install librrds-perl

    Para yulkar:

    La autenticación en pnp4nagios es la misma que en el frontend de nagios (utilizan el mismo .htacess). En caso de que necesites un control mas exhaustivo, tendrías que realizar una configuración algo mas compleja de pnp4nagios, revisate estos parametros de config_local.php:

    List of users who are allowed to view links to the services of the current host

    $conf[\\\’allowed_for_service_links\\\’] = \\\»EVERYONE\\\»;

    List of users who can view/access the host search field

    $conf[\\\’allowed_for_host_search\\\’] = \\\»EVERYONE\\\»;

    If PNP is called with a host only ( index.php?host= ), the defined user is shown an overview of all services related to this host

    $conf[\\\’allowed_for_host_overview\\\’] = \\\»EVERYONE\\\»;

    Adicionalmente puedes crear un sistema de autenticación especifico para pnp4nagios, pero requiere reprogramar en php el acceso.

    Espero que te sirva de algo.

    Saludos y gracias!

  32. Hola tengo un problema en centos 5.4 con la instalacion de pnp4nagios me aparece este mensaje:
    Please check the documentation for information about the following error.

    perfdata directory «/usr/local/pnp4nagios/var/perfdata/» is empty. Please check your Nagios config. Read FAQ online

    file [line]:

    application/models/data.php [109]:

    back

    https://dl.dropboxusercontent.com/u/3998670/Snippy0003.jpg

    he estado mirando por google pero no me aparece nada.

  33. Estimado muy buen tutorial felicitaciones muy explicado.
    El problema que presento es el siguiente:
    Error: Invalid max_check_attempts value for host \\\’sony\\\’
    Error: Could not register host (config file \\\’/srv/nagios/etc/objects/hosts/sony.cfg\\\’, starting on line 14)

    Este error me sale cuando intento crear un nuevo host con la plantilla generic-host, solo me pasa con esa plantilla, quisiera saber si es necesario que le ponga esa plantilla a una pc con windows o le pued poner la plantilla de windows-server o linux-server que si funcionan?

    Y otra cosita en el caso que quiera cambiar la contraseña de nclient++, deberia de hacerlo en el archivo /srv/nagios/etc/objects/command.cfg ??, en la nagiosql?? o en los 2 ??

    Gracias de antemano por la atención.

  34. Hola,

    ¿La opción de instalar nagios y los plugins mediante apt-get en vez de compilar tiene desventajas?

    Gracias por el tutorial.
    Saludos

  35. Para zurrachillo:
    No he probado la instalación en centos 5.4, igual hay algún problema de dependencias y es necesaria alguna librería propia del sistema.
    En cualquier caso, revisate el punto de configuración de \\\»Instalación de PNP4nagios\\\» la parte de configuración de nagios.cfg

    Para calibeach:
    El primer problema estará dado con la plantilla generic-host que no debe tener definida la opción Host – max check attempts, y al utilizarla da ese error. Este valor es obligatorio para definir la configuración de un host, y se puede sobrescribir en plantillas heredadas. Seguramente en las plantillas windows-server y linux-server tienen un valor correcto y por eso te funcionan.
    En cualquier caso, las plantillas son solo eso, plantillas, es decir, una configuración que se puede aplicar a un host, o varios host, podrias crearte tu plantilla con tu configuración y sería igualmente válida.

    Para la parte de nsclient++. La configuración en nagiosql es en base de datos, pero luego los cambios que realizas ahi se pasan a fichero de sistema, que es el que luego utiliza nagios. En tu caso, cuando defines en comando en nagiosql y le estableces el password de nsclient++, y lo asocias a un host, cuando aplicas la configuración a nagios, en realidad lo que haces es sobrescribir /etc/objects/command.cfg

    Para yulkar:
    ¿Podrias ser mas especifico de donde quieres introducir el codigo html y para qué?

    Para esialam:
    Se puede instalar el paquete de ubuntu sin ningún problema, lo único que estarás limitado a la version que esté en el repositorio de paquetes, y puede estar sujeta a actualizaciones que luego no te funcionen adecuadamente, por eso sugiero la instalación compilada, aparte de que de esta forma mantienes controlada tu configuración, tu versión, y tus logs en el mismo directorio (con los ajustes iniciales en ./configure), en vez de distribuida tal y como se hace en la distribución ubuntu, aunque esto es sobre gustos, si estás acostrumbrado a ello, tampoco hay problema salvo los que he comentado anteriormente.

    Saludos y espero haber solucionado vuestras dudas 🙂

  36. Estimado Carlos: Termine correctamente de implementar todo tal como esta en el tutorial, pero veo que cuando doy clic en la opcion map me sale este error (Not Found The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.). Quiero saber como puedo hacer funcionar esto del mapa.
    Muchas gracias de antemano

  37. Hola calibeach,

    Seguramente estás usando una versión de Ubuntu superior a la indicada en el tutorial, mas abajo comentaba la solución, te la copio:

    Despues de probar la instalación de Ubuntu 12.04 server LTS, y en relación con el problema con el error de \\\»statusmap.cgi\\\», parece que han cambiado algunas librerias que antes si se instalaban en la distribución por defecto (libgd libgd-devel libpng libpng-devel libjpeg libjpeg-devel en concreto), de hecho al realizar make install de nagios aparece el siguiente mensaje:

    *** GD, PNG, and/or JPEG libraries could not be located… *********

    Boutell\\\’s GD library is required to compile the statusmap, trends
    and histogram CGIs. Get it from http://www.boutell.com/gd/, compile
    it, and use the –with-gd-lib and –with-gd-inc arguments to specify
    the locations of the GD library and include files.

    NOTE: In addition to the gd-devel library, you\\\’ll also need to make
    sure you have the png-devel and jpeg-devel libraries installed
    on your system.

    NOTE: After you install the necessary libraries on your system:
    1. Make sure /etc/ld.so.conf has an entry for the directory in
    which the GD, PNG, and JPEG libraries are installed.
    2. Run \\\’ldconfig\\\’ to update the run-time linker options.
    3. Run \\\’make clean\\\’ in the Nagios distribution to clean out
    any old references to your previous compile.
    4. Rerun the configure script.

    NOTE: If you can\\\’t get the configure script to recognize the GD libs
    on your system, get over it and move on to other things. The
    CGIs that use the GD libs are just a small part of the entire
    Nagios package. Get everything else working first and then
    revisit the problem. Make sure to check the nagios-users
    mailing list archives for possible solutions to GD library
    problems when you resume your troubleshooting.

    ********************************************************************

    Por lo tanto es necesario INSTALAR las siguientes librerias necesarias ANTES de instalar nagios:

    sudo apt-get install libgd-graph-perl
    sudo apt-get install libgd2-xpm-dev

    Saludos

  38. Muchas gracias Carlos efectivamente acabo de ver que anteriormente diste esa respuesta.
    Con respecto a el uso de la definicion de comandos y alta de servicios tendras alguna pagia, blog, etc donde expliques como usar cada servicio y saber como poder editar los argumentos mas que todo para servicios windows.
    Por ejemplo me hablaron de que existe un servicio que te avisa cuando un usuario se esta tratando de loguear en una pc varias veces con una contraseña erronea, y tambien para ver el ancho de banda de salida de una pc hacia internet

  39. La mayoria los puedes encontrar en nagios exchange:

    http://exchange.nagios.org/directory/Plugins

    O en la documentación de nagios:

    http://nagiosplugins.org/man

    Para servicios windows solo conozco los relacionados con nsclient++, y más avanzados usando el plugin snmp (teniendo que activarlo en windows).
    El problema del plugin snmp es que necesitas saber como funciona dao que se registra gran cantidad de información en el arbol MIB.

    Con respecto a monitorizar el ancho de salida a internet, nagios puede no ser la mejor solución, ya que su tiempo mínimo de chequeo es de un minuto, y en un minuto el uso puede variar muchisimo, si lo que quieres es monitorizar en tiempo real el ancho de banda saliente.

    Saludos!

  40. Hola yulkar,

    A ver si te he entendido bien, tienes un script que te genera a partir de un txt con toda la información de servicios/host/imagenes, un archivo mapa.cfg (con que formato???), y lo quieres introducir en el frontend de nagios en la seccion de ¿mapas?.

    Si necesitas introducir información html en el frontend, puedes editar el archivo /srv/nagios/share/side.php e incluir en el menú un enlace a tu página personalizada. Si lo que necesitas es modificar alguna de las páginas existentes como Hosts, Services, etc, la mayoría son cgi´s con lo cual deberias modificar los fuentes de nagios antes de su instalación y compilación.

    En cualquier caso, la seccion \\\»Services\\\» (http://ip_servidor/nagios/cgi-bin/status.cgi?host=all), te muestra toda la información que comentas añadiendo estados y tiempos de comprobación.

    Comentame si te ayuda o si no te he entendido bien.

    Saludos y gracias, igual tambien me puede interesar a mi 🙂

  41. Hola yulkar,

    Por lo que veo estás usando el addon nagvis, y este tutorial no tiene ese alcance.

    Adicionalmente no conozco en profundidad nagvis, pero revisando la documentación por encima parece que puedes incluir html a un mapa en un textbox (sacado de la documentación de nagvis: http://docs.nagvis.org/1.7/en_US/index.html):

    define textbox {
    text=\\\»This is an informational text which can be placed anywhere on the map, HTML can also be used for formatting purposes\\\»
    x=200
    y=100
    }

    Saludos!

  42. Una consulta estimado Carlos, soy nuevo usando nagios y quisiera saber que servicios mas puedo utilizar e implementar para hacer el respectivo monitoreo de red.
    Espero que me puedas ayudar, puesto que cuando busco me sale los pasos para instalar el nagios mas no para instalar nuevos servicios.
    Saludos.

  43. Hola Carlos una consulta sabes como podria hacer para incluir nsca para ver los log de los servidores windows en este sistema de NAGIOS.

    No estoy seguro si funciona solo en el nagios XI o tambien en el Nagios Core

  44. Para daniel2864:
    Los comandos en centos varian ligeramente, sobretodo la instalación de paquetes, puedes revisarla en http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

    Para Disgo:
    Depende de que necesites monitorizar, si es una monitorización de rendimiento \\\»no critica\\\», o pruebas de ping, necesitaría que fueras mas específico…

    Para calibeach:
    No he probado la versión de pago nagios XI, luego no te puedo ayudar mucho, pero si necesitas monitorizar logs, me plantearía utilizar soluciones como splunk: http://www.splunk.com/, es bastante eficiente y funciona muy bien para consultas de cualquier log en cualquier sistema.

    Saludos

  45. He detectado un bug en el tutorial, que corresponde a la configuración en nagios.cfg y nagiosql de los archivos de configuración de nagios:
    _En la imagen: http://www.adictosaltrabajo.com/tutoriales/nagios_nagiosql_pnp4nagios/img9.png, la ruta directorio base es la siguiente: /srv/nagios/etc/objects/
    _En el archivo nagios.cfg (se configura después de la imagen anterior), las rutas correctas son:
    cfg_file=/srv/nagios/etc/objects/contacttemplates.cfg
    cfg_file=/srv/nagios/etc/objects/contactgroups.cfg
    cfg_file=/srv/nagios/etc/objects/contacts.cfg
    cfg_file=/srv/nagios/etc/objects/timeperiods.cfg
    cfg_file=/srv/nagios/etc/objects/commands.cfg
    cfg_file=/srv/nagios/etc/objects/hostgroups.cfg
    cfg_file=/srv/nagios/etc/objects/servicegroups.cfg
    cfg_dir=/srv/nagios/etc/objects/hosts
    cfg_dir=/srv/nagios/etc/objects/services
    cfg_file=/srv/nagios/etc/objects/hosttemplates.cfg
    cfg_file=/srv/nagios/etc/objects/servicetemplates.cfg
    cfg_file=/srv/nagios/etc/objects/servicedependencies.cfg
    cfg_file=/srv/nagios/etc/objects/serviceescalations.cfg
    cfg_file=/srv/nagios/etc/objects/hostdependencies.cfg
    cfg_file=/srv/nagios/etc/objects/hostescalations.cfg
    cfg_file=/srv/nagios/etc/objects/hostextinfo.cfg
    cfg_file=/srv/nagios/etc/objects/serviceextinfo.cfg

    Podeis verificar si está todo ok en la página de nagiosql Administración -> Support: http://ip/nagiosql/admin/support.php

    Disculpad no haberlo visto antes, pero la instalación es funcional porque los directorios son válidos, aunque no es su ubicación correcta.

    Saludos!

  46. Buenas tardes Carlos,
    Primero de todo, decirte que es un gran manual. Tengo una consulta a ver si me puedes ayudar. En la empresa donde estoy soy ahora el admministrador de sistemas, y todos los servicios de los hosts que se estan monitorizando enviaban notificaciones al anterior administrador. He cambiado la notificación de los hosts uno a uno, pero me he dado cuenta que los servicios también hay que cambiarlos, y son cientos!!
    Yo tengo instalado NagiosXI + NagiosQL, sabes alguna forma de cambiarlos todos de golpe??

    Muchas gracias.

  47. Hola frico,

    Tienes varias alternativas:
    1) Cambiar el correo del contacto administrador. Desde NagiosQL no se puede modificar un contacto para las alarmas de una forma automática para todos los servicios sin usar plantillas, a no ser que modifiques directamente el mail del antiguo administrador por el tuyo. Esto es una buena idea si el nombre de usuario es generico, como podria ser \\\»admin\\\»; en este caso lo podrias hacer desde NagiosQL, únicamente modificando el contacto desde el menú: \\\»Alarmas -> Datos de contactos\\\»

    2) Cambiar el contacto para todos los servicios sin usar plantillas. Como NagiosQL no permite modificaciones de varios servicios a la vez, una forma muy cómoda de hacerlo es modificar en disco los archivos:
    \\\»NAGIOS_HOME/etc/objects/services/*.cfg\\\». En ellos tendrias que modificar la linea \\\»contacts nombre contacto\\\» en cada uno de ellos. Con vi podrias realizarlo rápidamente o con cualquier editor que prefieras. Después solo tendrias que importar a nagiosql la configuración desde \\\»Herramientas -> Importación de Datos\\\».

    3) Modificar la entrada de contacto por una entrada de grupo de contactos. Esta opción te permitiría agregar o eliminar nuevos contactos fácilmente sin tener que modificar los servicios cambiando \\\»contacts nombre contacto\\\» por \\\»contact_groups admins\\\». Antes de realizar este cambio debería existir este grupo en \\\»Alarmas -> Grupos de contactos\\\».

    4) Utilizar plantillas y grupos de contactos. Es la más recomendada pero requiere un estudio de todos los servicios para aplicar las plantillas adecuadamente. Si vas por esa via dímelo y te pondria algun ejemplo.

    PD: no olvides hacer un backup de los datos en disco antes de modificar nada

    Saludos,

    Carlos

  48. Hola Carlos,

    No tengo ninguna ruta igual o parecida a esa. De hecho, si hago un locate services, solo me muestra \\\»ruta\\\»/nagios_services.[MYD|MYI|frm], que entiendo que son los datos de la base de datos.

  49. Carlos,

    Favor da un ejemplo de como utilizar mrtg ( check_mrtg_loca ), para lograr monitorear el ancho de banda de interfaces de red e internet.

  50. Hola alexandertorresb,

    Para monitorear un interfaz de red te recomiendo check_tcptraffic:

    https://trac.id.ethz.ch/projects/nagios_plugins/wiki/check_tcptraffic

    Plantillas para pnp4nagios:

    http://hashnao.blogspot.com.es/2012/07/i-introduced-about-how-to-setup-icinga.html

    La información que devuelve es bastante buena, y es bastante mas sencillo de configurar.

    El único inconveniente es que monitoriza todo el tráfico de una interfaz, no separa el trafico de la red local al de internet.

    Saludos!

  51. Hola,
    yo me encuentro con este error que no me deja iniciar instalación:

    Checking System Permission
    warning Settings file does not exists (config/settings.php): will be created
    invalid Write test on settings directory (config/): failed

    He lído cosas pero no consigo arreglarlo, alguna idea? GRACIAS!!

    Un saludo

  52. Estimado muy buenas noches, quisiera saber si tienes algun tip o por hay un alcance de como poder usar los usuarios de active directory de un windows server 2008 a los servicios de un ubuntu service(correo, ftp y samba) o de cualquier otra distribucion de linux.
    Muchas gracias de antemano

  53. Carlos un saludo.
    te comento que desde que instale el nagios no me molesta para nada, he querido ir incorporando nuevas opciones y me encuentro con un gran dilema y con el tema de las alarmas por email, quiciera que me colabores creando un nueco contactac,contacgrup..etc
    pues ya lo he hecho pero no recibo las notificaciones.

    Agradezco tu valiosa colaboracion

  54. Hola.
    Me gustaría saber si alguien sabe que archivos tengo que tocar para traducir nagios a castellano…. no veo ningún archivo con lenguajes

  55. Buenas tardes Carlos, me parece excelente el tutorial. Tengo relativamente poco tiempo en el manejo de Nagios; en la empresa donde laboro estoy como ingeniero de monitoreo y me han surgido varios problemas. Todo el sistema de monitoreo de Nagios corre de manera correcta, el problema empieza al momento de programar las ventanas de mantenimiento mediante Schedule Downtime. Programo los servidores y sus respectivos servicios en el \\\»Schedule Downtime\\\» y me aparecen que ya están listos para ejecutarse, sin embargo, al cabo de unos minutos los servicios programados \\\»desaparecen\\\» de la lista y solo quedan los servidores. Qué podría estar saliendo mal? Tengo la version 3.5.0. Saludos!

  56. Carlos buenos dias, muy bueno el tutorial tengo un problema cuando tengo que comprobar la configuracion en nagiosql y me da error

    Error: There are no services defined!
    Error: There are no hosts defined!
    Error: There are no contacts defined!
    Total Warnings: 0
    Total Errors: 3

    cuando veo las carpetas services y hosts obviamente estan vacias, y el archivo contacts.cfg esta sin contacto, intente coopiar el del nagios normal pero no funciona tampoco

  57. Hola Carlos
    Un excelente Post, estoy apunto de comenzar todo el proceso para el monitoreo con nagios, tengo una pequeña duda antes de comenzar. La descarga de nagios y todo el proceso que le sigue se debe hacer en la cuenta de nagios o el proceso se puede realizar con root??
    Si hiciera la instalación de nagiso en forma root, daría algún problema al usarlo con la cuenta de nagios??
    Espero puedas atender mis preguntas y de antemano Gracias!!

  58. buenos días
    quisiera saber si hay alguna pagina donde encontrar como traducir el interfaz de nagios al castellano o si de lo contrario hay que editar los archivos.
    Muchas gracias y muy buen tuto

  59. Excelente!! compadre, seguí paso a paso el tutorial, ningun problema, vale compadre, me falta configurar las alarmas por correo electronico,

  60. […] Monitorizando equipos y servicios con Nagios + … – Monitorizando equipos y servicios con Nagios + NagiosQl + PNP4Nagios 0. Índice de contenidos. 1. Entorno; 2. Introducción; 3. Instalación de Nagios […]

  61. buenas tardes, la verdad soy nuevo en esto de la instalación de nagios pero me interesa saber y aprender. Por lo que he intentado instalar Nagios pero al momento de dar la orden de make all me sale todo normal pero al darle la orden de make install me sale este error 1# make install
    cd ./base && make install
    make[1]: se ingresa al directorio «/home/mario/nagios-3.2.1/base»
    make install-basic
    make[2]: se ingresa al directorio «/home/mario/nagios-3.2.1/base»
    /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
    /usr/bin/install: usuario inválido «nagios»
    make[2]: *** [install-basic] Error 1
    make[2]: se sale del directorio «/home/mario/nagios-3.2.1/base»
    make[1]: *** [install] Error 2
    make[1]: se sale del directorio «/home/mario/nagios-3.2.1/base»
    make: *** [install] Error 2
    si pudiera colaborarme seria de gran ayuda

Dejar respuesta

Please enter your comment!
Please enter your name here