«

»

Dic 31 2012

Instalar Nagios core y Nagios plugins en Debian paso a paso desde Source

nagios_logo

En este apartado vamos a ver como instalar la aplicación Nagios en un servidor linux Debian (version 6.0) para poder monitorizar todos los servidores windows, servidores linux, routers, switches, access points o incluso impresoras que tengamos en la red de nuestra empresa o oficina. En otros tutoriales que encontrarás por internet podemos ver que realizan la instalación mediante

apt-get install nagios3

pero en este nos vamos a enfocar en instalar Nagios desde el source (codigo fuente) que nos bajaremos de su página web con su versión mas actualizada.

 

Requisitos de Nagios

Para este tutorial es imprescindible haber instalado un servidor Debian 6configurado su ip como estática y haber realizado la instalación de servicios para la web y recomendado el servidor ssh mediante el cual realizaremos la instalación desde una maquina con interfaz para así poder directamente copiar y pegar los comandos que iremos viendo a continuación..

 

Librerias necesarias

Nagios puede crearnos y mostrarnos gráficas temporales sobre el estado de la red pero para ello hace uso de unas librerías de imágenes que debemos instalar, ya que por defecto no vienen en el sistema.

apt-get update && apt-get -y dist-upgrade

apt-get install make gcc g++ sudo libgd2-xpm libgd2-xpm-dev libpng12-dev libjpeg62-dev libgd-tools libpng3-dev

También es necesaria la librería gd que la descargaremos de su source, la compilaremos e instalaremos. Para ello vamos a crearnos una carpeta donde descargar todo lo necesario.

mkdir temporales

cd temporales/

Ahora descargamos e instalamos la librería gd mediante:

wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

tar -zxvf gd-2.0.33.tar.gz

cd gd-2.0.33/

./configure

Como resultado del configure deberemos ver algo así

Support for PNG library: yes

Support for JPEG library: yes

Support for Freetype 2.x library: yes

Support for Fontconfig library: yes

Support for Xpm library: yes

Support for pthreads: yes

Y procedemos a su instalación

make && make install

cd ..

 

 Usuarios, grupos y permisos

Como siempre en linux, es mejor crear un usuario para cada servicio, de manera que si por algún motivo un usuario llegara a poder acceder al sistema a través de Nagios, solamente afectaría al usuario Nagios y tendría solo los permisos de este usuario. Creamos el usuario:

adduser nagios

A continuación nos pedirá unos datos, a nivel de información adicional, y la contraseña de este nuevo usuario. Esta contraseña no es la que usaremos para acceder a Nagios mediante el panel web, por lo que podéis poner una muy difícil.

A continuación creamos el grupo, añadimos al usuario Nagios y también al usuario www-data (servidor web) al grupo de Nagios.

groupadd nagios

usermod -G nagios nagios

usermod -G www-data,nagios www-data

 

Instalando Nagios Core

Lo primero que vamos a hacer es entrar en la web  de Nagios y buscar su ultima versión de Nagios Core, asi que entramos en www.nagios.org/download/core/thanks donde encontramos la versión Latest stable release y la Previous stable release, copiamos el enlace de la Latest stable release.

Copiando enlace de Nagios Latest Stable Release

y vamos al servidor, lanzamos el comando wget seguido de la dirección que hemos copiado para descargarlo, descomprimirlo y instalarlo.

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz

tar zvfx nagios-3.4.3.tar.gz

cd nagios

./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagios

make all

make install

make install-init

make install-commandmode

make install-config

cd ..

Finalmente ya tenemos Nagios Core instalado.

 

Instalando Nagios Plugins

Nagios plugins es un añadido que nos permite conectar con servicios mas específicos  si queremos conectar con un ordenador Windows y saber su carga de cpu, ram, disco duro… y otros muchos mas servicios o dispositivos.

Volvemos a la web de Nagios pero en su sección http://nagios.org/download/plugins y nos descargamos la Latest Stable Release. En el momento de realizar el tutorial el archivo que nos descargábamos estaba corrupto por lo que se uso la Latest Snapshot que es la mas actual pero puede tener fallos no detectados por los programadores, por lo que intentar hacerlo con la Latest Stable y si no funciona usar la Snapshot.

wget http://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz

tar -zxvf nagios-plugins-HEAD.tar.gz

cd nagios-plugins-<presionar tabulacion>

./configure

make && make install

Una vez haya terminado podemos comprobar si se han instalado correctamente en el directorio /usr/local/nagios/libexec/ mediante el comando

ls /usr/local/nagios/libexec/

o bien

/usr/local/nagios/libexec/check_ssh -h

y debería mostrarnos las opciones del comando y el siguiente mensaje:

Nagios-plugins-checkssh

Con esto ya hemos terminado la instalación básica de Nagios. Tan solo nos queda añadirlo al inicio del sistema para que cuando el sistema se reinicie, Nagios también se encienda. Para ello podemos hacerlo de dos formas, la que nos dicen en la propia web de Nagios (que para mi es la mejor) o la que también os propongo pero que quizá os sintáis mas cómodos.

 

La oficial de la web de Nagios

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Y para evitar que nos salga un error como este “insserv: warning: script ‘S99nagios’ missing LSB tags and overrides” editamos el archivo /etc/init.d/nagios y añadimos esto justo debajo de #!/bin/sh

### BEGIN INIT INFO

# Provides:          Nagios

# Required-Start:    $syslog

# Required-Stop:     $syslog

# Default-Start:     2 3 4 5 S

# Default-Stop:      0 1 6

# Short-Description: Nagios Boot Script

# Description:

#

### END INIT INFO

Guardamos el archivo y al ejecutar insserv nagios ya no debería salirnos ningún error.

 

La otra forma que os propongo es editar el archivo /etc/rc.local

nano /etc/rc.local

Y añadimos el texto antes del exit 0

echo “NAGIOS: Comprobando la configuracion de Nagios”;

service nagios checkconfig;

echo “NAGIOS: Iniciando el servicio Nagios”;

service nagios start;

sleep 5;

echo “NAGIOS: Comprobando si el servicio Nagios esta activado”;

service nagios status;

 

exit 0;

 

Configurando la interfaz web

Aunque ya hemos instalado Nagios, necesitamos configurar su interfaz web para poder ver su funcionamiento. Para ello crearemos un nuevo site en apache2.

nano /etc/apache2/sites-available/nagios

Como no existe, nos lo creará, por lo que el documento no tendrá nada escrito, simplemente escribimos este texto, las rutas salvo que hayamos forzado la instalación de Nagios en otro directorio, no debemos tocarlas.

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory “/usr/local/nagios/sbin”>

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName “Nagios Access”

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

Alias /nagios /usr/local/nagios/share

<Directory “/usr/local/nagios/share”>

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName “Nagios Access”

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

Guardamos el archivo y activamos el site con

a2ensite nagios

Definimos la contraseña para el usuario nagiosadmin que es el que viene por defecto. Que es la que usaremos mas tarde para acceder al panel web de Nagios.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Y revisamos que el archivo /usr/local/nagios/etc/cgi.cfg disponga de use_authentication=1

nano /usr/local/nagios/etc/cgi.cfg

Una vez comprobado o cambiado, guardamos el archivo. Procedemos a reiniciar los servicios de apache, nagios y comprobamos su funcionamiento.

service apache2 restart

service nagios restart

Ya podemos abrir el navegador web en nuestro ordenador con interfaz gráfica y comprobar su funcionamiento.

http://la.ip.del.server/nagios

Nagios-login

Como usuario tenemos nagiosadmin y como contraseña, la que hemos definido justo hace un momento. Si hemos escrito correctamente el usuario y password, nos cargará la pagina principal de Nagios donde podremos ver su versión instalada y un menú lateral izquierdo.

Nagios-index

 

 

Monitorizando servidores por ping

En este menú, podemos ir a Hosts y veremos que aparece un servicio localhost (es el mismo servidor donde instalamos Nagios). Pero podemos crear nosotros mas servicios o monitorizar mas servidores, routers, etc… Si solamente queremos monitorizar por ping, podemos editar el archivo

nano /usr/local/nagios/etc/nagios.cfg

Y en la linea donde vemos

Nagios-switch-disabled

Descomentamos la linea quitando la almohadilla # de forma que quede

Nagios-switch-enabled

Guardamos el archivo y procedemos a editar el archivo switch.cfg para definir nuestros host

nano /usr/local/nagios/etc/objects/switch.cfg

Lo primero de todo es eliminar o editar todos los host, servicios, grupos que hay definidos en el archivo. La mejor forma es directamente eliminar el contenido del archivo y rellenarlo nosotros desde 0. Tanto host, hostgroups, services serán definidos en este mismo archivo.

 

Añadiendo un host

Nagios-AddingHost

Como vemos en la imagen, necesitamos 5 atributos para definir un host.

  • use = La plantilla ya definida que usaremos para el host, dándole a entender al programa que es un switch (aunque sea un pc)
  • host_name = Es el nombre que queremos ver en el panel de Nagios , no tiene nada que ver con el nombre de red.
  • alias = Una descripción que queramos darle al equipo.
  • address = La dirección ip de este equipo, si tienes el equipo por DHCP y lo quieres monitorizar, deberás ponerle ip estática.
  • hostgroups = Podemos agrupar diferentes host bajo nuestro criterio, (plantas del edificio, servidores linux, servidores windows, routers de la sede 1, sede 2…). Se definirán los grupos en el siguiente paso.

 

Añadiendo hostgroups

Nagios-AddingHostgroup

Mucho mas sencillo de definir que un host,

  • hostgroup_name = El nombre que tiene que coincidir con hostgroups de los host (si queremos asociarlos).
  • alias = Descripcion del grupo.

 

 Añadiendo servicios

Nagios-AddingService

Aquí vamos a definir el servicio que queremos monitorizar, en este ejemplo lo hacemos con un ping al servidor.

  • use = Plantilla generica ya definida para el servicio.
  • host_name = Servidor, router al que vamos a monitorizar, debe coincidir con alguno de los host definidos.
  • service_description = Descripcion del servicio, en este ejemplo un Ping
  • check_command = Comando que va a ejecutar Nagios para monitorizar este host.
  • normal_check_interval = Cada cuanto va a comprobar el estado de ese host.
  • retry_check_interval = Si por algun motivo fallara la comprobacion lo reintentara 1 vez.

 

Una vez hemos editado y guardado correctamente el archivo, hemos de comprobar que no haya errores en el fichero, un comando se encargara de decirnos los errores y los warnings encontrados.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si algo falla, nos indica la linea en la que hemos fallado, deberemos arreglarlo. Una vez arreglado todo, o si no ha salido ningun error, hemos de reiniciar de nuevo el servicio de Nagios.

service nagios restart

 

 

Al principio del post os decia de monitorizar la cpu, la ram, el disco duro de servidores windows. Para ello debemos activar la plantilla windows.cfg dentro de

nano /usr/local/nagios/etc/nagios.cfg

Y definir los host, hostgroups y servicios que queremos, como servicio podemos usar check_nt y sus parametros. Podeis encontrar mas información en la web de Nagios sobre como monitorizar cada servicio mediante los plugins que hemos instalado anteriormente. Ya solo queda comprobar que al reiniciar el ordenador nuestro Nagios se enciende tal y como le hemos configurado anteriormente, y disfrutar de su monitorización.

Nagios-monitoring

 

 

Ads Patrocinados / Publicidad

63 comentarios

1 ping

Ir al formulario de comentarios

  1. César

    Ei!! Está genial esta entrada!! Pero aunque he seguido al pie de la letra tus instrucciones no consigo ver la web montada del nagios!…La IP la reconoce como buena pero al escribir http://ip/nagios me dice “The requested URL /nagios was not found on this server.”

    Alguna pista?? Agradezco mucho tu entrada, espero que pueda ver el nagios rulando al finl! XD

    César

    1. Guille Rodríguez

      Hola Cesar, pues entonces el problema se me ocurre que esta a partir de la sección Configurando la interfaz web, has creado un archivo nagios en la ruta indicada? Has activado el a2ensite. De momento es lo único que se me ocurre, que apache no te haya detectado el site y por lo tanto no te lo cargue, o bien que en el archivo del site, no este correcta la ruta.

      También puede ser permisos, etc… yo precisamente tuve problemas al hacerlo como decian en la web de Nagios y al final probando y probando conseguí que de esta forma funcionara sin fallarme (hice varias instalaciones desde 0 en las maquinas virtuales y en todas funciono correctamente).

      Mi consejo, haz copy paste de todo lo que voy poniendo en comentarios, porque quiza es algo que se ha pasado por alto. Igualmente volveré a probarlo.

      Que distribución usas? La instalacion la has hecho desde source no? No has usado el apt-get install nagios3, porque si es asi, entonces la url es ip/nagios3
      Igualmente te pido que me mantengas al tanto.

      1. Pedroaldiz

        Muy buen tutorial, ante todo Guille, decirte que era problema de las dobles comillas ( al copiar uno de los archivos), otra cosa (si pudieras ponerlo seria un detalle xD) es que necesitas tener instalado apache2, libapache2-mod-php5 y php5 ( en este orden de instalacion). Simplemente con instalarlos antes de nagios funciona perfecto.
        Instalado sobre un debian 7.4, da algun problema de sincronizacion pero puede ser por que esta en una maquina virtualizada con 256mb de ram jajajajaj
        Lo dicho muchas gracias ;)

        1. Guille Rodríguez

          Me alegra que te haya servido. Respecto a lo de Apache y las librerias de PHP5, ya esta puesto en requisitos que se debe tener un servidor web instalado.

          La sincronizacion, prueba a darle un poco mas de ram a ver si con 512 ya te aguanta bien. En principio con 256MB deberias deberias tener mas que suficiente.

  2. César

    Tengo algunas vm hechas con el apt -get install nagios3 pero esta vez quería hacerla mediante source para quedarme más con la copla. De momento aún no puedo cortar y pegar los comandos ya que no tengo las vmtools instaladas xD intentaré ponerlas pronto!

    Revisaré la confuguración de interfaz web y sinó volveré a hacerla de 0! De todas formas muchas gracias por el tutorial, me está sirviendo de mucho!!

    1. Guille Rodríguez

      No te hacen falta las VMTools (siempre que hayas hecho una conexion puente y no un Nat), conectate por SSH al linux virtual y con el Putty desde Windows (usando el boton derecho) te pega todo el contenido que hayas copiado.

  3. César

    No había pensado en ello! Gracias por el consejo, mañana si tengo tiempo vuelvo a hacer una vm nagios copiando exactamente tu texto y el Monitorix, ya de paso.

    Que versión de Debian6 usas exactamente? Utilizo la Debian 6.0.6 amd64 netinst.

    Gracias y felicidades por la web, vaya lujo de contenidos.

    César

    1. Guille Rodríguez

      Pues yo he hecho el tutorial con la Debian Netinstall 6.0 y actualizando al a ultima versión, puedes verlo aquí http://css.driverlandia.com/sysinfo (por las noches esta apagado) en su versión de 32bits pero no creo que haya problemas con la de 64bits, ya que en la web oficial no hay diferenciación de paquetes ni aviso sobre este tema.

      También puedes ver el funcionamiento de Monitorix en http://css.driverlandia.com/monitorix

      Próximamente (despues de examenes) haré un tutorial sobre otra aplicación que es como una especie de combo de Nagios + Monitorix y mas cosillas. Por si le quieres ir echando se llama Shinken Monitoring http://www.shinken-monitoring.org/ y de un front-end para Nagios llamado Centreon que permite configurar los host mediante base de datos y no archivos de texto, cosa que se agradece, para no tener que estar editando los archivos directamente y poder hacerlo desde un navegador web.

      Espero que haciendo el copy paste de los comandos por ssh no te de problemas ;) ya me contaras como ha ido todo.

  4. Tasio

    Gracias por la guía.

    Después de realizar todo el proceso con debian 6 netinstall tengo el mismo problema que César, es un problema en la configuración de apache.

    He comentado las lineas que contienen “AuthName” en el fichero /etc/apache2/sites-enabled/nagios
    y ahora funciona

    1. Guille Rodríguez

      Pues es bastante raro, a mi me ha funcionado sin tener que realizar esto que comentas, pero gracias por comentarlo, asi queda solucionado en los comentarios. Si Cesar confirma que también le funciona gracias a eso, actualizare el post con la información que me has dado.

    2. Javier CAmilo Forero Rodriguez

      Hola
      Me sucedio lo mismo, el problema se debe a que hay que instalar php y habilitarlo para apache, con eso se resolvió el inconveniente

      Saludos!!

  5. César

    Yo lo he vuelto a hacer una vm Nagios Core esta vez desde SSH y me ha funcionado perfectamente!! Copiando y pegando los comandos, la única pega es que este comando

    “./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagios”

    Tiene algunos guiones cortos y luego largos (¿fuentes?) y me daba error en -prefix. Lo he tenido que meter a mano y ahora mismo ya estoy viendo la web de nagios. Me dispongo a ir añadiendo hosts y servicios como switchs, como dijiste.

    Gracias a los dos por el interés.

    1. Guille Rodríguez

      Respecto a los guiones son siempre 2 seguidos al principio del comando vease

      ./configure 2(–)prefix=/usr/local/nagios 2(–)with-cgiurl=/nagios/cgi-bin 2(–)with-htmurl=/nagios/ 2(–)with-nagios-user=nagios 2(–)with-nagios-group=nagios 2(–)with-command-group=nagios

      Parece que wordpress ha hecho lo que ha querido en este sentido, al tener yo en un .txt los comandos añadidos, ahí no he tenido problema. Revisare como ponerlo para que wordpress no haga lo que le de la gana.

  6. César

    He hablado demasiado rápido, entro a la ip/nagios pero no puedo ver gran cosa, para empezar no me logea, según dice estoy logeado como ? y no puedo ver hosts ni nada. Que debería revisar?

    César

    1. Guille Rodríguez

      Esto si quieres esta tarde/noche hablamos por privado para tratar de solventarlo y una vez demos con la solución la posteamos por aquí. (Lo dejamos para mas tarde que luego tengo examen de Calculo a las 4 >.<) Prueba a lanzar de nuevo el configure con los dos guiones como te he puesto en el comentario de arriba, volver a hacer el make, make all, etc...

      1. César

        Sí, se ha solucionado con los dos guiones. Thanks

        1. Guille Rodríguez

          Entonces ya te funciona totalmente y correctamente Nagios? Te genera los mapas y te hace ping por lo menos al localhost? Te inicia correctamente y no te da error de insserv al ejecutar “insserv nagios” en shell?

          Si es así me alegra haberte ayudado ;)

          1. César

            De momento no tengo ningún error, estoy empezando a meter hosts y estas cosas, el siguiente paso es poner el NagiosQL para sacar la info en sql y obtener los datos snmp de los servidores… Poco a poco!!

            Mucha suerte con el examen de cálculo, que con lo que me has ayudado te la mereces.

  7. Nacho

    Primero quería agradecer por la guía, Muy buena!!! Después quería consultar por un problema que me surgió luego de instalar todo…

    Cuando quiero resolver http://IP/nagios el explorador en vez de resolverme y mostrarme el html me lo descarga…

    A alguien le paso algo similar??

    Desde ya muchas!!!

    Saludos a Todos

    Nacho

    1. Guille Rodríguez

      Hola Nacho, como le he dicho Alejandro, revisa el comentario que le respondi a Cesar sobre el configure. En tu caso quiza falte algun modulo para que apache funcione correctamente (pueda ejecutar el scripts). En mi caso cuando hice este tutorial lo hice desde 0 en una maquina virtual y solo instalando lo que pongo arriba como requisitos ya deberia funcionar.

  8. alejandro

    Hola interesante y muy buena descripcion de la instalacion del nagios, yo lo instale en debian 6, pero tengo un problema cuando reinicio el apache2 me sale este mensaje! que sera
    # service apache2 restart
    Syntax error on line 7 of /etc/apache2/sites-enabled/nagios:
    AuthName takes one argument, The authentication realm (e.g. “Members Only”)
    Action ‘configtest’ failed.
    The Apache error log may have more information.
    failed!

    Gracias

    1. Guille Rodríguez

      Hola! Quiza el problema como te indica esta en el archivo nagios del apache, si has hecho copiar pegar, revisa que este bien que a veces el wordpress cuando copio textos de el, cambia comillas por puntos o algo asi.

      Lo mismo digo en

      ./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagios

      Como le digo a Cesar en un par de comentarios para arriba, wordpress solo pone un guion (aunque le tengo puesto con dos), para saber cuales llevan dos, revisa mi comentario.

  9. dan

    Para cuando el manual de Shinken Monitoring, realmente tiene buena pinta. Saludos

    1. Guille Rodríguez

      Hola Dan, pues realmente ahora estoy bastante ocupado con temas de la universidad así que habrá que esperar un poquito para que le pueda meter mano y realizar el tutorial de instalación y configuración.

  10. Adrian

    hola! muy bueno y completo es post, me surge una duda, al compilar en C
    el resultado que me arroja es el siguiente:
    Support for PNG library: no
    Support for JPEG library: no
    Support for Freetype 2.x library: no
    Support for Fontconfig library: no
    Support for Xpm library: no
    Support for pthreads: yes

    habra algo que este haciendo mal o me faltara alguna libreria de descargar??

    muchas gracias por el aporte

    1. Guille Rodríguez

      Revisa que hayas instalado correctamente

      apt-get install make gcc g++ sudo libgd2-xpm libgd2-xpm-dev libpng12-dev libjpeg62-dev libgd-tools libpng3-dev

  11. redcamaleon

    Hola Guille… excelente post- me ayudado…. tengo funcionando bien… bueno si tienes algunos tips o consejos para montar mas device! o como organizarlos, pues yo uso mucho snmp por equipos de radicomunicacion … pero me ayudado mucho… saludos

    1. Guille Rodríguez

      Hola! Me alegro que te haya ayudado (esa es mi meta con este tipo de posts). Decirte que consejos poco puedo darte, por ejemplo Cesar (chico que comento un poco mas arriba) ha instalado NagiosQL para sacar reportes. También hay un CMS llamado Centreon que permite configurar Nagios mediante web (evitando tener que hacerlo mediante archivos de texto).

      Por desgracia actualmente no tengo mucho tiempo para hacer mas tutoriales (epoca de examenes), pero tengo unos cuantos apuntados para este verano darle caña.

      1. redcamaleon

        excelente informacion guille … si ya me monte el Centreon …. vamos a ver como me va … mil gracias y esperemos saber de ud
        Saludos

  12. acidb1

    hice todo paso a paso, pero no puedo hacerlo funcionar. Adjunto imagen
    http://bit.ly/14Rgb2H

    Se que es problema del apache que no logra hacer funcionar cgi.
    mas datos sobre mi sistema

    sudo apache2 -l
    Compiled in modules:
    core.c
    mod_so.c
    mod_watchdog.c
    http_core.c
    mod_log_config.c
    mod_logio.c
    mod_version.c
    mod_unixd.c
    mod_unixd.c

    GNU/Linux Debian 7 wheezy
    Server version: Apache/2.4.6 (Debian)

    1. Guille Rodríguez

      Reviso esta semana con la nueva versión de Debían y te digo a ver. Pero vamos en principio tiene pinta de que no tienes el CGI instalado o activado.

      apache2 -l
      Compiled in modules:
      core.c
      mod_log_config.c
      mod_logio.c
      prefork.c
      http_core.c
      mod_so.c

      1. acidb1

        efectivamente, me faltaba
        …../apache2/mods-enabled/cgi.load

        Saludos

  13. Angelo

    Hola, te felicito por tu tutorial, esta excelente, pero me sale el siguiente error

    # service apache2 restart
    Syntax error on line 7 of /etc/apache2/sites-enabled/nagios:
    AuthName takes one argument, The authentication realm (e.g. “Members Only”)
    Action ‘configtest’ failed.
    The Apache error log may have more information.
    failed!

    Ya he mirado MUY BIEN el archivo, y pues esta tal cual esta en el tutorial, no se que mas hacer.

    Gracias por tu tiempo, agradezco la ayuda que me puedas brindar.

    1. Guille Rodríguez

      Hola! Pues por lo que parece que da el mensaje, tiene pinta que en el AuthName hay algun argumento que no le gusta, revisa que no haya ninguna doble comilla de mas, o algún espacio oculto…

      Aún así si quieres haz un paste de tu archivo en pastebin (elimina o cambia los datos de user y pass por X mismo) y dejame el enlace aqui así podré ver que le pasa.

      Si has hecho un copy paste del post, te recomiendo que antes lo pases por el bloc de notas, ya que WordPress a veces modifica las comillas o ciertas cosas y al pegarlo en el bloc de notas o en el putty o cliente ssh, cambia las cosas por puntos…

      Saludos!

  14. andres

    hola. instale nagios core 3.2.1 por el repositorio… tengo el siguiente percanse ya q quiero activar el sonido pero al descomentar las lineas del cgi.cfg no me hace nada busque dond me dice q se guardaba los archivos .wav y no esta dicha carpeta, la cree con los archivos pero igual me sigue sin sonar.. no se q le aga falta t agradeceria tu ayuda…..

  15. andres

    por cierto soy nuevo en plataformas libre, estoy utilizando debian 6

    1. Guille Rodríguez

      Hola no entiendo a que te refieres con que suene? La verdad no me he revisado si puede avisar realizando sonidos. Puedes configurarle que te avise por mail, sms, o otros protocolos, pero en este caso no sabria que decirte, puesto que normalmente se instala en uno de los servidores que esta en el CPD junto con los otros.

  16. andres

    hola… cuando me refiero a q suene es q me genere la alerta x sonido .. osea q cuando un host se caiga me genere el sonido como dicen para no star pendient de la pantalla. y lo del mail e estado tratando d configurarlo y tampoco puedo ya q nagios en si viene por defecto con sendmail lo q tengo entendido lo cual este no lo trajo y lo descargue y no e podido q me envie mail… como t dije soy nuevo en esto no se si me explico bien….

  17. pablo

    Hola Guille Rodriguez, te felicito por el post que has hecho, me gustaría hacerte una pregunta, tengo un debian 7 y dentro de este un nagios 3.x , con apache2 y con el complemento nagmap, y realmente no puedo lograr que se vean reflejados los servers dentro de la estructura de nagmap, puedo ver el mapa con geolocalizacion, pero los puntos con la ubicacion de los servers me es imposible, tienes idea Guille lo que puede estar sucediendome. De ser necesario te pego los archivos de config. muchas gracias por tu tiempo y agradezco tu ayuda.

    1. Guille Rodríguez

      Pues aquí poco te puedo ayudar, puesto que

      1 – Nagios lo instalé hace tiempo y desde entonces no lo he vuelto a tocar (a modo de instalación).

      2 – Lo uso sin complementos

      Me sabe mal, pero no te puedo ayudar en este caso. Tengo programado para dentro de unos meses (navidades) cambiar a Debian 7 y reinstalar todo. Si puedo me peleo con ello.

  18. Joan

    Hola Guille, buen post. Me estoy planteando montar un servidor con nagios pero tengo algunas dudas. ¿Se pueden monitorear varios equipos en sedes remota? no se si me explico, tendría el servidor nagios en una red con varios equipos y servidores, hasta aquí ningún problema, y en otra sede otra red con varios equipos y servidores. Por lo que veo no funciona con puertos abiertos en un router y redirigidos hacia un equipo en concreto. ¿En las sedes remotas solo podre monitorear servicios que se ofrezcan a traves del router(web, http://ftp...)?

    1. Guille Rodríguez

      Pues a traves de Internet tal cual no lo he probado, supongo que abriendo los puertos necesarios para cada protocolo o bien abriendo el DMZ (no recomendable).

      Otra opción es a través de VPN realizar la conexión con Nagios (esto no da problemas, ya que lo usamos en la ONG donde colaboro).

      La opción barata, rastrera pero temporalmente (porque lo bueno seria usar la vpn) es tirar de Logmein Hamachi que te creara una “vpn” entre los ordenadores que instales y asignes a la red. Lo malo es que solo deja 5 clientes por red en la version gratuita, pero creo que no hay limite de redes, por lo que metiendo en cada red al servidor nagios y luego 4 servidores a monitorizar, no tendrás problemas. Esta opción la he usado en el servidor nagios que tenia en casa, para monitorizar al nagios que tenemos en la ONG, evitando tener que conectarme a la VPN y poder acceder a todos los recursos de la red interna.

      Lo que yo haria es

      – Si tienes tiempo -> Montar VPN y monitorizar a través de ella.
      – Si es para YA! -> Haz la prueba de los puertos y si no tira de Hamachi, total luego cuando tengas la VPN, es decirle que en vez de mirar IP_A mire IP_B

      1. Joan

        Gracias Guille, hare pruebas a ver que tal y ya comentare.

        1. Jose Tinajero

          Que tal tengo el mismo problema ya pudiste hacer pruebas estoy en instalar el hamachi
          desde mi red tengo que monitorear equipos cisco que se alcanzan atraves de un ssh

  19. andres

    buenos días, puedes orientarme como puedo agregarle plugins adicionales como los que encuentro en:

    http://exchange.nagios.org/directory/Plugins/Hardware/Printers/check_printer–2D-All-in-one-printer-check-suitable-for-most-devices/details

    es que necesito agregar monitoreo a impresoras.

    muchas gracias.

    1. Guille Rodríguez

      Pues actualmente poco te puedo decir, Nagios hace ya meses que no lo toco. Como le he dicho a otro usuario estas navidades me pondre a formatear el servidor donde tengo alojada la web y varios servicios (entre ellos Nagios) y tendre que volver a realizar la instalación de todo. Si consigo hacer funcionar el plugin que me indicas, te informo.

  20. Pedroaldiz

    Guille, me gustaria utilizar tu tutorial, para complementar una guia mia propia, siempre y cuando no te importe y claro esta referenciando este sitio en dicha guia. Bueno ya me dices ;)

    1. Guille Rodríguez

      No hay problema, pásame link de la guía cuando la termines jejeje así le pego un vistazo ^^

      1. Pedroaldiz

        ok, muchas gracias ;)

        1. Guille Rodríguez

          He aprovechado para enviarte 1 email, si quieres ya tratamos por ahi.

  21. Alexander

    Hola, Guille!!

    Interesante el manual, una consulta yo he instalado el nagios 3.5.1 en la distribución Centos 5.6.
    Al ingresar ala ruta http://localhost/nagios desde Centos ingreso al nagios ok. Pero si deseo acceder desde una pc windows no logro acceder. pongo esta ruta : http://192.168.1.26/nagios y no resuelve.

    Ip de Centos : 192.168.1.26
    Ip de Windows : 192.168.1.101

    Hay ping entre ambos equipos, el nagios está en virtualbox -tarjeta de red (puente).

    Gracias!

  22. Guille Rodríguez

    Perdona que haya tardado tanto en contestarte, pero que es que en esos dias estaba de examenes.

    A primeras se me ocurre que el iptables de Centos te este bloqueando la conexion al servidor HTTPD ? Lo digo porque como me comentas que desde localhost si que te sale la pantalla pero desde otra conexion externa (LAN) no te deja… tiene pinta de que pueda ser el firewall.

    Por lo demas no hay mas misterio. Si la aplicacion funciona, y no puedes conectar a ella desde una ip lan, seguramente es tema de puertos y permisos en el firewall.

  23. Josue Israel

    Hola, podrias ayudarme ? ya instale nagios y puedo monitorear mis servidores, pero me gustaria que me ayudaran a monitoriar un fortinet y un switch 2960.
    Me podrian explicar desde cero.

    1. Guille Rodríguez

      Pues para el Cisco (y supongo que para Fortinet) para una monitorización de si responde o no, puedes usar el ping. Si quieres mas información para el router seguramente puedas usar SNMP y para el Fortinet, nunca he tocado uno, asi que no te podría indicar, pero seguro que hay algún plugin para Nagios que permite la monitorización.

  24. Jegrys

    Buenos días, agradecida por la super guia estoy teniendo inconveniente al instalar a penas nagios desde la carpeta temporales al lanzar el comando make all me da el siguiente error :

    root@:/usr/src/temporales/gd-2.0.33/nagios# make all
    cd ./base && make
    make[1]: se ingresa al directorio /usr/src/temporales/gd-2.0.33/nagios/base'
    make[1]: No se hace nada para
    all’.
    make[1]: se sale del directorio /usr/src/temporales/gd-2.0.33/nagios/base'
    cd ./cgi && make
    make[1]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33/nagios/cgi’
    make[1]: No se hace nada para all'.
    make[1]: se sale del directorio
    /usr/src/temporales/gd-2.0.33/nagios/cgi’
    cd ./html && make
    make[1]: se ingresa al directorio /usr/src/temporales/gd-2.0.33/nagios/html'
    make[1]: No se hace nada para
    all’.
    make[1]: se sale del directorio /usr/src/temporales/gd-2.0.33/nagios/html'
    if [ xyes = xyes ]; then \
    cd ./module && make; \
    fi
    make[1]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33/nagios/module’
    make[1]: No se hace nada para all'.
    make[1]: se sale del directorio
    /usr/src/temporales/gd-2.0.33/nagios/module

  25. Jegrys

    Buenos dias , cuando instalo la gd al correr el make me da este error , alquien sabe como solucionarlo

    # make && make install
    make all-recursive
    make[1]: se ingresa al directorio /usr/src/temporales/gd-2.0.33'
    Making all in config
    make[2]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33/config’
    make[2]: No se hace nada para all'.
    make[2]: se sale del directorio
    /usr/src/temporales/gd-2.0.33/config’
    Making all in test
    make[2]: se ingresa al directorio /usr/src/temporales/gd-2.0.33/test'
    make[2]: No se hace nada para
    all’.
    make[2]: se sale del directorio /usr/src/temporales/gd-2.0.33/test'
    make[2]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33′
    make[2]: se sale del directorio /usr/src/temporales/gd-2.0.33'
    make[1]: se sale del directorio
    /usr/src/temporales/gd-2.0.33′
    Making install in config
    make[1]: se ingresa al directorio /usr/src/temporales/gd-2.0.33/config'
    make[2]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33/config’
    test -z “/usr/local/bin” || mkdir -p — “/usr/local/bin”
    /usr/bin/install -c ‘gdlib-config’ ‘/usr/local/bin/gdlib-config’
    make[2]: No se hace nada para install-data-am'.
    make[2]: se sale del directorio
    /usr/src/temporales/gd-2.0.33/config’
    make[1]: se sale del directorio /usr/src/temporales/gd-2.0.33/config'
    Making install in test
    make[1]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33/test’
    make[2]: se ingresa al directorio /usr/src/temporales/gd-2.0.33/test'
    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
    /usr/src/temporales/gd-2.0.33/test’
    make[1]: se sale del directorio /usr/src/temporales/gd-2.0.33/test'
    make[1]: se ingresa al directorio
    /usr/src/temporales/gd-2.0.33′
    make[2]: se ingresa al directorio /usr/src/temporales/gd-2.0.33'
    test -z "/usr/local/lib" || mkdir -p -- "/usr/local/lib"
    /bin/bash ./libtool --mode=install /usr/bin/install -c 'libgd.la' '/usr/local/lib/libgd.la'
    /usr/bin/install -c .libs/libgd.so.2.0.0 /usr/local/lib/libgd.so.2.0.0
    (cd /usr/local/lib && rm -f libgd.so.2 && ln -s libgd.so.2.0.0 libgd.so.2)
    (cd /usr/local/lib && rm -f libgd.so && ln -s libgd.so.2.0.0 libgd.so)
    /usr/bin/install -c .libs/libgd.lai /usr/local/lib/libgd.la
    /usr/bin/install -c .libs/libgd.a /usr/local/lib/libgd.a
    ranlib /usr/local/lib/libgd.a
    chmod 644 /usr/local/lib/libgd.a
    PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
    /usr/local/lib

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the
    -LLIBDIR’
    flag during linking and do at least one of the following:
    – add LIBDIR to the LD_LIBRARY_PATH' environment variable
    during execution
    - add LIBDIR to the
    LD_RUN_PATH’ environment variable
    during linking
    – use the -Wl,--rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to
    /etc/ld.so.conf’

    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ———————————————————————-
    test -z “/usr/local/bin” || mkdir -p — “/usr/local/bin”
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘annotate’ ‘/usr/local/bin/annotate’
    /usr/bin/install -c .libs/annotate /usr/local/bin/annotate
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gdparttopng’ ‘/usr/local/bin/gdparttopng’
    /usr/bin/install -c .libs/gdparttopng /usr/local/bin/gdparttopng
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gdtopng’ ‘/usr/local/bin/gdtopng’
    /usr/bin/install -c .libs/gdtopng /usr/local/bin/gdtopng
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gd2copypal’ ‘/usr/local/bin/gd2copypal’
    /usr/bin/install -c .libs/gd2copypal /usr/local/bin/gd2copypal
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gd2topng’ ‘/usr/local/bin/gd2topng’
    /usr/bin/install -c .libs/gd2topng /usr/local/bin/gd2topng
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘pngtogd’ ‘/usr/local/bin/pngtogd’
    /usr/bin/install -c .libs/pngtogd /usr/local/bin/pngtogd
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘pngtogd2’ ‘/usr/local/bin/pngtogd2’
    /usr/bin/install -c .libs/pngtogd2 /usr/local/bin/pngtogd2
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘webpng’ ‘/usr/local/bin/webpng’
    /usr/bin/install -c .libs/webpng /usr/local/bin/webpng
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gd2togif’ ‘/usr/local/bin/gd2togif’
    /usr/bin/install -c .libs/gd2togif /usr/local/bin/gd2togif
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘gdcmpgif’ ‘/usr/local/bin/gdcmpgif’
    /usr/bin/install -c .libs/gdcmpgif /usr/local/bin/gdcmpgif
    /bin/bash ./libtool –mode=install /usr/bin/install -c ‘giftogd2’ ‘/usr/local/bin/giftogd2’
    /usr/bin/install -c .libs/giftogd2 /usr/local/bin/giftogd2
    test -z “/usr/local/bin” || mkdir -p — “/usr/local/bin”
    /usr/bin/install -c ‘bdftogd’ ‘/usr/local/bin/bdftogd’
    /usr/bin/install -c ‘config/gdlib-config’ ‘/usr/local/bin/gdlib-config’
    test -z “/usr/local/include” || mkdir -p — “/usr/local/include”
    /usr/bin/install -c -m 644 ‘gd.h’ ‘/usr/local/include/gd.h’
    /usr/bin/install -c -m 644 ‘gdfx.h’ ‘/usr/local/include/gdfx.h’
    /usr/bin/install -c -m 644 ‘gd_io.h’ ‘/usr/local/include/gd_io.h’
    /usr/bin/install -c -m 644 ‘gdcache.h’ ‘/usr/local/include/gdcache.h’
    /usr/bin/install -c -m 644 ‘gdfontg.h’ ‘/usr/local/include/gdfontg.h’
    /usr/bin/install -c -m 644 ‘gdfontl.h’ ‘/usr/local/include/gdfontl.h’
    /usr/bin/install -c -m 644 ‘gdfontmb.h’ ‘/usr/local/include/gdfontmb.h’
    /usr/bin/install -c -m 644 ‘gdfonts.h’ ‘/usr/local/include/gdfonts.h’
    /usr/bin/install -c -m 644 ‘gdfontt.h’ ‘/usr/local/include/gdfontt.h’
    /usr/bin/install -c -m 644 ‘entities.h’ ‘/usr/local/include/entities.h’
    make[2]: se sale del directorio /usr/src/temporales/gd-2.0.33'
    make[1]: se sale del directorio
    /usr/src/temporales/gd-2.0.33′

    1. Guille Rodríguez

      No veo donde te refieres que esta el error, yo veo que te lo ha compilado correctamente. Si tuviera un error te saldria en la ultima linea algo tipo [Error *1] o asi.

  26. Jegrys

    Buenos dias, como varias compilaciones me indica se sale del directorio pense que no compilaba bien de hecho cuando hago la prueba de conectarme por la web no me aparece nada

  27. Jegrys

    Después de revisar con el comando ls /usr/local/nagios/libexec/, no se encuentra nada instalado

  28. Ismael

    Buenas Guille, yo sigo todos los pasos para configurar un switch dentro del archivo de configuración pero en el navegador no me lo muestra, y no sé que es lo que está fallando, gracias de antemano y espléndida guía compañero!

    1. Guille Rodríguez

      Has habilitado el archivo switch.cfg en la configuracion de Nagios (seguramente siga con el comentario puesto #).

  29. Carlos Cueto

    Hola tengo unos router que apagan después que salen trabajar, como puedo programas algo para que nagios los deje de ver esas horas?? intente con check_period pero no me funciona.

    1. Guille Rodríguez

      Por favor intenta escribir la frase de forma que se pueda entender correctamente. No entiendo que me estas diciendo con “unos router que apagan después que salen trabajar“…

Deja un comentario