Nagios core 4, pnp4nagios, check_mk y Nagvis en Debian 8 Jessie

Introducción.

Ya tenemos fresquita la nueva versión de Debian y nada mejor para estrenar que probar nuestro paquete favorito de software de monitorización en Debian 8: Nagios core 4, pnp4nagios, check_mk y Nagvis. Todo en sus últimas versiones a fecha de publicación de este artículo.


utility-meters_compress

Ya tratamos previamente la Instalación de estos componentes de monitorización con Nagios Core 4 en Debian 7 (sin Nagvis ), en Redhat/Centos 6 y en Redhat/Centos 7 así como con Nagios 3 en todos ellos. En este caso nos toca actualizar la guiá de instalación para Debian 8.

Software usado en la instalación

Actualización (06/09/2015): Las versiones recientes “libres” de check_mk se denominan Check_MK Raw Edition (CRE). Dichas versiones incorporan además de check_mk todo el software adicional (previamente denominado OMD). Para obtener el paquete fuente de check_mk mencionado en este artículo tienes que bajar la versión CRE, descomprimirla y localizar el paquete tar.gz de check_mk en packages/check_mk/

Aviso. Si no quieres complicarte la vida y tener todo este software ya empaquetado e instalado en cinco minutos puedes probar Check_MK Raw Edition (CRE) (conocido previamente como OMD) que es un paquete de software que trae todo listo y configurado para usar en un “pis pas” (ahora con la última versión de check_mk). Te preguntarás cual es entonces la razón de complicarse la vida instalando todo esto por separado… Básicamente tener las últimas versiones de producto y la capacidad de actualizar cada componente por separado, lo cual no es sencillo con CMK Editions. Vamos… tener el control.

Consideraciones importantes.

En esta guiá se van a realizar solo dos cambios importante en cuanto a las instalaciones por defecto de cada software:

  • Se va a intentar que todos creen los ficheros de configuración en el directorio /etc/producto. Nagios y pnp4nagios se le indicará en la instalación. Check_mk lo hace por defecto. Nagvis lo dejaremos en su ubicación “normal”. Si quieres instalar todo por defecto puedes prescindir en las instalaciones de indicarle la ruta a /etc.
  • La URI de acceso a cada sitio se modificará para que sea http://server/site01/producto. (se le añadirá a esta el “/site01/”). Detrás de esta configuración hay una razón importante relacionada con el uso de múltiples sitios desde la consola CMK Multiste y el uso de apache mod_proxy para acceder a diferentes sitios enlazados con una única consola MK Multisite. Con este tipo de instalación ya estaremos preparados para su uso con MK Multisite. Donde pone “site01” puedes poner cualquier cosa que se ajuste más a tus necesidades: la ciudad, el pais,… lo que identifique una instalación concreta. En posteriores artículos trataremos este tema.

Debian 8 Jessie.

La instalación inicial de Debian 8 es la realizada por defecto desde una ISO sencilla “netinst”. En el momento de instalación se desmarca la opción de entorno de escritorio. Se dejan solo las opciones:

  • SSH server
  • Utilidades estándar del sistema

Nagios core 4.

La versión de Nagios que incluye Debian 8 es aún Nagios 3. Como lo que queremos es Nagios 4 debido a que incluye importantes mejoras de rendimiento vamos a tener que compilar desde fuentes.

Requisitos previos.

Instalamos algunos paquetes que vamos a necesitar y activamos la ejecución de cgi para Nagios y el módulo rewrite de apache que lo usará posteriormente Pnp4nagios

apt-get install build-essential apache2 libapache2-mod-php5 libgd2-xpm-dev unzip
a2enmod rewrite
a2enmod cgi

Creamos cuenta para Nagios (por defecto crea el grupo) y asignamos password:

useradd -m -s /bin/bash nagios
passwd nagios

Creamos un grupo nagcmd que usaremos luego para los comandos externos entre otras cosas y metemos en dicho grupo a nuestro usuario Nagios y al usuario que usa apache.

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data

Instalación de Nagios Core 4.

Bajamos Nagios 4 (core) en su versión “free”, descomprimimos y compilamos (asignándole el grupo). Nos irá guiando por todos los pasos.

./configure --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-enabled --sysconfdir=/etc/nagios
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf
make install-exfoliation
# Establecemos password para usuario nagiosadmin
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
service apache2 restart

El script de inicio que nos instala no es para Debian sino para Redhat y similar. Si intentamos activarlo para que arranque al inicio vemos que nos dará un error::

systemctl enable nagios.service
Synchronizing state for nagios.service with sysvinit using update-rc.d...
.....
Executing /usr/sbin/update-rc.d nagios enable
update-rc.d: error: nagios Default-Start contains no runlevels, aborting.

No le demos vueltas. Le ponemos en un script de inicio nagios 4 para Debian 8. Otra opción sería bajar al paquete de Nagios 3 para Debian 8, extraer el fichero, modificarlo / ajustarlo, probarlo y colocarlo. Pero eso es precisamente lo que hice para Debian 7 y está perfecto para Debian 8. Lo bajas y sustituyes (previa copia) el instalado.

cp nagios-daemon-debian8 /etc/init.d/nagios

Ahora podemos configurarlo para que arranque en el inicio del sistema.

systemctl enable nagios.service
systemctl start nagios.service

Podemos ya acceder a Nagios: http://server/nagios/

Si no usamos /etc/nagios para los ficheros de configuración revisa las rutas del script.

Veremos los servicios de localhost con el error “(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_users, …) failed. errno is 2: No such file or directory”. Es normal ya que no hemos instalado ni configurado los plugins así que no los encuentra en esa ruta.

Nagios Plugins

Las opciones de instalación de plugins son varias:

  • Instalar los plugins integrados por paquetes en Debian 8 (que son monitoring-plugins).
  • Instalar monitoring-plugins en su versión actual pero compilando.
  • Instalar nagios-plugins compilando.

Si no entiendes que es eso de nagios-plugins y monitoring-plugins leete el artículo “¿Revolución en la comunidad Nagios?

Optamos por comodidad por la primera opción. La versión de monitoring-plugins es la 2.1.1 y no tenemos mucho que perder con las pequeñas modificaciones en las últimas versiones de los plugins.

apt-get install monitoring-plugins

IMPORTANTE: Dado que no hemos instalado la distribución oficial de los plugins de Nagios debemos decirle a este donde localizar los plugins. Para ellos editamos /etc /nagios/resource.cfg y cambiamos la ubicación de los plugins como vemos:

#$USER1$=/usr/local/nagios/libexec
$USER1$=/usr/lib/nagios/plugins

Probamos ahora a reiniciar el demonio de Nagios

systemctl restart nagios.service

Accedemos a Nagios y vemos que al rato ya funcionan correctamente los chequeos de localhost.

nagiosformat-localhost

PNP4Nagios

Requisitos previos.

Instalamos unos paquetes necesarios previamente.

apt-get install php5-gd librrds-perl rrdtool

Instalación y configuración inicial.

Bajamos pnp4nagios e instalamos. Durante la instalación nos indicará las rutas de directorios. Conviene tomar nota.

tar zxfv pnp4nagios-0.6.25.tar.gz
cd pnp4nagios-0.6.25/
./configure --with-httpd-conf=/etc/apache2/sites-enabled --sysconfdir=/etc/pnp4nagios --with-base-url=/site01/pnp4nagios
make all
make fullinstall

Editamos el fichero /etc/apache2/sites-enabled/pnp4nagios.conf y cambiamos a la ruta correcta del fichero de autentificación de Apache:

AuthUserFile /etc/nagios/htpasswd.users

Reiniciamos apache

systemctl reload apache2.service

Accedemos a la URL de pnp4nagios para verificar la configuración:

http://server/site01/pnp4nagios/

Realiza los chequeos del entorno y debe aparecer todo en verde (OK). Nos indica:

“Your environment passed all requirements. Remove or rename the /usr/local/pnp4nagios/share/install.php file now.”

Le hacemos caso y renombramos dicho fichero:

mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.ORI

 

Recargamos la página de pnp4nagios y obtenemos un error: 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. En este punto de la instalación es normal. Necesitamos aún realizar la configuración final.

 

Configuración de pnp4nagios.

Pnp4nagios permite varios opciones para configurar la integración con Nagios Core. Vamos a usar la opción denominada “Bulk-mode” ya que es la mejor de las disponibles para Nagios 4. La opción “bulk mode with npcdmod” es más sencilla pero no es valida para la versión 4 de Nagios ya que usa un broker que no es compatible con los nuevo modulos de broker de Nagios 4. Tenemos ejemplos de configuración listos para copy / paste en /etc/pnp4nagios.
Del fichero nagios.cfg-sample copiamos SOLAMENTE (mira bien lo que copias) el siguiente texto al fichero de configuración de nagios, /etc/nagios/nagios.cfg (al final p.e.) Copia siempre mejor de ficheros originales de TEXTO.

#
# Bulk / NPCD mode
#
process_performance_data=1
# *** the template definition differs from the one in the original nagios.cfg
#
service_perfdata_file=/usr/local/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
#
# *** the template definition differs from the one in the original nagios.cfg
#
host_perfdata_file=/usr/local/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

Del fichero misccommands.cfg-sample copiamos SOLAMENTE la siguiente configuración al fichero de config. de nagios /etc/nagios/objects/commands.cfg. Descomenta las líneas!!

# Bulk with NPCD mode
#define command {
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios
/var/spool/service-perfdata.$TIMET$
}
define command {
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}

Configuramos npcd para inicio automático y reiniciamos:

systemctl enable npcd.service
systemctl start npcd.service && systemctl restart nagios.service

Ya debería funcionar perfectamente el entorno de pnp4nagios.

http://server/site01/pnp4nagios/

Tendremos que esperar o forzar algunos de los chequeos de servicios de localhost p.e. para que empiece a generar gráficas.

Configurar enlaces a gráficas.

Podemos configurar un icono de acceso directo a la gráficas de host / servicios desde estos en Nagios. Incluso un gráfico flotante. Realmente mi intención es no usar el interface gráfico de Nagios si no el de Check_mk. Este último configura la integración con pnp4nagios de forma automática así que no es necesario.

En cualquier caso si quieres configurar esta integración con Nagios se explicaba en el artículo “Nagios Core 4 + PNP4Nagios. Instalación y configuración desde fuentes en Debian 7 (wheezy).

Check_mk

Requisitos previos.

Instalamos sudo y el módulo de python necesario para Apache.

apt-get install libapache2-mod-python sudo

Instalación.

Ojo. Para compilar check_mk tendrás que tener al menos 700Mb de RAM. Si no es así podremos obtener un error del tipo: g++: internal compiler error: Killed (program cc1plus).

Para obtener el paquete fuente de check_mk mencionado en este artículo tienes que bajar la versión Check_MK Raw Edition (CRE), descomprimirla y localizar el paquete tar.gz de check_mk en packages/check_mk/. Bajamos check_mk, decscomprimos e instalamos. Antes de ejecutar la instalación tenemos que asegurarnos de que el demonio de Nagios 4 está iniciado ya que el setup lo busca y configura adecuadamente ciertas opciones si lo encuentra.

tar zxfv check_mk-1.2.6p2.tar.gz
cd check_mk-1.2.6p2
./setup.sh

Las opciones que tuvimos que cambiar fueron las siguientes (el resto por defecto):

Nagios command pipe: /usr/local/nagios/var/rw/nagios.cmd
URL Prefix for Web addons: /site01/
Apache config dir: /etc/apache2/sites-enabled
Install Event Console: yes

Una vez que instala crea un fichero de respuestas en nuestro home “.check_mk_setup.conf”. Dicho fichero lo usa para en la siguiente instalación / actualización tener las respuestas previas ya por defecto y sugeríendolas. De hecho si lo copias antes de instalar también te funcionará.

Activamos el demonio de eventos de CMK y reiniciamos apache, nagios y mkeventd

systemctl enable mkeventd
systemctl restart apache2 && systemctl restart nagios && systemctl restart mkeventd

Una vez finalice la instalación verificamos que la instalación añadió las siguientes líneas al final del fichero de configuración de nagios “nagios.cfg” (por defecto lo hace pero…)

# Load Livestatus Module
broker_module=/usr/lib/check_mk/livestatus.o /usr/local/nagios/var/rw/live
event_broker_options=-1
# added by setup.sh of check_mk
cfg_dir=/usr/local/nagios/etc/check_mk.d

Reiniciamos todo

service apache2 restart $$ service npcd restart && service nagios restart

Echamos un ojo rápido al log de Nagios para ver si al reiniciar cargó correctamente el broker de check_mk livesatus como vemos:

> tail -f /usr/local/nagios/var/nagios.log
[1430464208] Event broker module '/usr/lib/check_mk/livestatus.o' initialized successfully.

Podemos acceder ya a check_mk: http://server/site01/check_mk/

Ejemplo de localhost en check_mk.

nagios_localhost_services

Ojo que este host viene configurado en ficheros de Nagios no en “estilo” check_mk.

Instalación de cliente check_mk en Debian.

Para poder probar de formá rápida las bondades de check_mk instalaremos un cliente check_mk en nuestro propio server de monitorización. Necesitamos tener instalado xinetd, copiar el agente de cmk (script), generar un fichero de ejecución externa para xinetd y abrir el puerto 6556.

Primero necesitamos instalar xinetd. Realmente si instalamos luego el agente empaquetado debería instalar xinetd por dependencias.

apt-get install xinetd

Opción 1. Instalación mediante paquete RPM o DEB.

En el directorio /usr/share/check_mk/agents tenemos todos los agentes para numerosos S.O, además de el RPM para Redhat / Centos / Suse …. el DEB para Debian / Ubuntu… y el EXE importante para los Windows.

dpkg -i /usr/share/check_mk/agents/check-mk-agent_1.2.6p2-1_all.deb

Cambiamos en /etc/xinetd.d/check_mk

only_from = 127.0.0.1

Y reiniciamos xinetd

systemctl restart xinetd

Opción 2. Instalación manual.

Será más sencillo siempre instalar el paquete pero aunque no la usaremos habitualmente, la instalación manual nos vale para cualquier linux con python y xinetd. Es bueno saber lo que estamos haciendo con el RPM realmente que no deja de ser esto.

Luego crearemos el fichero /etc/xinetd.d/check_mk con el contenido:

service check_mk
{
type = UNLISTED
port = 6556
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/check_mk_agent
#server = /usr/bin/check_mk_caching_agent
# configure the IP address(es) of your Nagios server here:
only_from = 127.0.0.1
# Don’t be too verbose. Don’t log every check. This might be
# commented out for debugging. If this option is commented out
# the default options will be used for this service.
log_on_success =
disable = no
}

Y copiamos el script del directorio de agentes de cmk al sitio esperado y reiniciamos xinetd:

cp /usr/share/check_mk/agents/check_mk_agent.linux /usr/bin/check_mk_agent
systemctl restart xinetd

El RPM además de hacer esto nos crea unos directorios vacios en /usr/lib/check_mk_agent para poder luego copiar plugins en estos.
Verificación de funcionamiento.

Vemos que nuestro puerto 6556 está a la escucha:

> netstat -putaven | grep 6556
tcp 0 0 0.0.0.0:6556 0.0.0.0:*

Y que el agente responde en el puerto:

telnet localhost 6556

Vamos a acceder al cliente a través de localhost pero si fueramos acceder desde CMK en otro servidor tendríamos que facilitar en el FW el acceso a dicho puerto.

Configuración en CMK WATO de nuestro host.

Accedemos a CMK y desde el ménu WATO Configuration / Hosts / New Host añadimos el nuestro:

  • Hostname: srv-monitorizacion (ya tenemos un localhost)
  • IP addres:  127.0.0.1

Save & go to Services (ya veremos los sevicios que va chequear)
Save manual check configuration
Salvamos los cambios: 2 Changes → Activate changes
Ya tenemos nuestro servidor en las vistas de hosts, servicios, …

cmk-localhost-services
El icono de la estrella naranja nos enlaza directamente con las gráficas de PNP4Nagios para ese servicio.

Nagvis.

Requisitos previos.

Instalamos los paquetes necesarios. Algunos ya los tendremos instalados.

apt-get install rsync php5-common libapache2-mod-php5 php5-cli php-gettext php5-cgi graphviz sqlite sqlite3 php5-sqlite libjson-xs-perl

Instalación.

Bajamos, descomprimimos, lanzamos el instalador…

tar zxfv nagvis-1.8.2.tar.gz
cd nagvis-1.8b3
./install.sh -W /site01/nagvis -w /etc/apache2/sites-enabled

Vemos durante la instalación que descubre y valida los módulos de software que necesita y nos preguntará una serie de rutas y valores que podemos dejar por defecto.

El instalador nos dejará el fichero de configuración de apache en “/etc/apache2/conf-available/nagvis.conf ” (incluso aunque intentemos pesarle el directorio adecuado con -w).

Primero debemos editarlo para hacer algunos cambios para nuestra versión de Apache ya que si no lo hacemos no nos funcionará el site (nos dará un error de permisos)

<Directory "/usr/local/nagvis/share">
Require all granted
Options FollowSymLinks
AllowOverride None
#Order allow,deny
#Allow from all

Crearemos también un enlace directo desde sites-enabled donde están el resto de nuestros ficheros de configuración de Apache.

ln -s /etc/apache2/conf-available/nagvis.conf /etc/apache2/sites-enabled/nagvis.conf
systemctl restart apache2.service

Y accedemos a nagvis: http://server/site01/nagvis (admin / admin por defecto)

Nos encontraremos con un montón de ejemplos de mapas para poder ver las posibles opciones de estos. Una vez hayamos jugado con estos podremos borrarlos por medio de los menús.

Prueba rápida.

  • Menu Options / Manage Backends / Backend por defecto → live_1 (Guardar)
  • Menu Options / Mange Maps / Create Map → Pepito (Regular map) (Guardar)
  • Con pepito seleccionado, Edit Map / Add Icon / Servicio. Soltamos la cruz en el mapa y al seleccionar en “Host_name” listará nuestros hosts en “service_description” los servicios de este. Como de momento solo tenemos “localhost” y nuestro servidor (con el cliente de check_mk) no da para mucho :-).
  • Desativamos el modo edición del mapa y nuestro icono deberá reflejar fielmente el estado del servicio (usando MK Livestatus)

Bajate el artículo en PDF.

Encontrarás muchos más artículos con sus PDFs en la “Guía de artículos“.

39 thoughts on “Nagios core 4, pnp4nagios, check_mk y Nagvis en Debian 8 Jessie

  1. Volgyto

    Hola. En primer lugar felicidades por este magnífico blog, me está siendo muy útil para un proyecto que estoy realizando. Sin embargo, estoy teniendo serios problemas con el script de inicio, ya que una vez descargado y renombrado en el directorio correspondiente, me devuelve el siguiente error:

    Error Script Inicio

    Por más que busco soluciones no las encuentro posiblemente debido a mis limitados conocimientos. Te agradecería enormemente si puedes guiarme sobre cuál es la causa y la posible resolución.

    Muchas gracias y un saludo.

    Reply
    1. eldespistado1 Post author

      Es el fichero de inicio de navíos ejecutable? chmod +x /etc/init.d/nagios

      Reply
      1. Volgyto

        Hola, perdona finalmente descubrí que era un problema de permisos sí, como de costumbre xD Hice lo que comentas poco después de escribirte y ya me funcionó. Sin embargo, los problemas ahora han sido otros, y es que el sistema me dice que no tengo permiso para acceder a la ruta /nagios/ en el navegador. También probé muchas cosas y na de na. La verdad que instalando sobre Debian 7 con Nagios 4.0.8 he conseguido hacerlo funcionar sin problemas (aunque en ese caso el script de inicio me da otro fallo y tampoco consigo hacerlo funcionar), pero en estas versiones es que ni siquiera consigo ver el frontend.

        Reply
        1. eldespistado1 Post author

          No tengo a mano la instalación del post pero seguro que el problema es por permisos del usuario de apache en las carpetas de ficheros web de Nagios.
          Es extraño. Si has usado el grupo nagcmd y has configurado durante la comilación nagios con “./configure –with-command-group=nagcmd” tal como se indica debería funcionar del tirón. Verifica que tengas ese grupo y que los usuario nagios y www-data pertenezcan a eĺ. Examina el directorio de la app web de Nagios (/usr/local/nagios/share creo que es, pero puedes mirarlo en el fichero de configuración de Apache) para ver si dicho grupo tiene permisos (o el usuario www-data).
          ¿Puedes acceder a la ruta (url) de check_mk o a la de pnp4nagios ???
          Echa un ojo también a los logs de apache a ver si te da alguna pista.

          Reply
    1. eldespistado1 Post author

      Te refieres imagino en los que presenta por defecto el agente de CMK???
      Si es eso tienes varias opciones:
      – Crearte tu propio plugin / extensión en formato CMK para integrarlo con este: http://mathias-kettner.com/checkmk_writing_checks.html o bien integrarlo en menor medida mediante localcheks: http://mathias-kettner.com/checkmk_localchecks.html
      – Usar MRPE: http://mathias-kettner.com/checkmk_mrpe.html – De esta forma puedes usar los plugins standard de Nagios o los que encuentres en lugares como Nagiosexchange e “integrarlos” con el agente de CMK.

      Reply
    1. eldespistado1 Post author

      Creo que Nagvis viene ya integrado con Nagios XI. Mira en la documentación o pregunta a soporte de Nagios XI 🙂
      Un saludo.

      Reply
  2. Gaby

    Gracias, lo que sucede es que no se como encontrar el user unix account… o no se bien a que se refiere… la instrucción 6 indica

    First check which unix user account is used to run your webserver (in my case it is wwwrun).

    pero utilizo los comandos y me da error.

    Reply
    1. eldespistado1 Post author

      Seguiste mi artículo para instalar? Seguiste la guía de instalación oficial que referencias? Con este artículo debería funcionarte. Si sigues la guia instalación de nagvis pues no lo probé así exactamente. En cualquier caso te indica perfectente los comandos para encontrar el usuario que esta corriendo tu Apache. Usalos o busca tu la variable USER en el fichero de conf o en el proceso en ejecución. Sustituye lo en la línea que da permisos al usuario.

      Reply
  3. Javier

    Hola! En primer lugar gracias por este artículo, está muy completo y claro. Si me permites, sería bueno que explicaras un poco más por qué instalas cada componente y para qué, cosa que uno, a medida que va leyendo, ya sabe del principio qué es cada cosa. Por lo demás, el artículo me ha encantado. Aprovecho y te dejo un par de dudas que probablemente sepas responderme:
    1) Yo instalé nagios 4 desde el source. Puede complicarme en el futuro al actualizar a versiones nuevas?
    2) Has instalado alguna vez NagioSQL? Es recomendable?

    Gracias desde ya.

    Reply
    1. eldespistado1 Post author

      Gracias a ti. La verdad es que he ido hablando en otros artículos del blog sobre algunos componentes y aunque ciertamente estaría más completo me cuesta repetirme y alargarme demasiado. 🙂
      En cuanto a las questiones:
      1. Yo lo hago así habitualmente. Siempre con backups y parando la instalación en install–init, no más allá.
      2. No has mirado aún el menú de guía de artículos del blog? 🙂
      http://eldespistado.com/nagiosql-introduccion-instalacion-nagios-centos-redhat/
      Pero si vas a usar checkmk bien en modo ficheros conf de texto o con WATO mejor , ya no necesitas nagiosql.

      Reply
  4. Abel

    Hola!! Muy buen trabajo! Tengo un problema a la hora de instalar pnp4nagios. Sigo el proceso de instalación hasta el punto de acceder a la url http://server/site01/pnp4nagios para hacer el checklist y me salta el siguiente mensaje: You don’t have permission to access /site01/pnp4nagios on this server. ¿Alguna idea? Gracias!

    Reply
    1. eldespistado1 Post author

      Pues el directorio de pnp4nagios debería pertenecer al grupo nagcmd. Prueba a cambiar o verificar permisos. P.e.
      chown nagcmd.nagios /usr/local/pnp4nagios -R

      Reply
      1. Abel

        Nada… He intentado cambiarle los permisos, pero me sigue dando el mismo error… :S

        Reply
  5. Marco Antonio Blanco

    Hola. Antes de nada enhorabuena por tan gran tutorial. Creo que hay una pequeña errata en la opción 1 de la instalación de cliente check_mk. Ahí parace que el camino del fichero de configuración de check_mk bajo xinetd es “/etc/xinetd/check_mk”, mientras que en la opción 2 aparece el camino correcto “/etc/xinetd.d/check_mk”.

    Lo dicho, buen trabajo.

    Reply
  6. Antonio Jesus

    Buenas, gracias de antemano por esta guia.
    He tenido un pequeño problema, he seguido todo el manual al pie de la letra, pero en el check_mk cuando le doy a abrir la página web a traves de http://localhost/site01/check_mk no me muestra ninguna pagina, me da este error: The requested URL /site01/check_mk was not found on this server.

    en tail me da este:
    [1452469848] Event broker module ‘/usr/lib/check_mk/livestatus.o’ initialized successfully.
    [1452469848] Warning: failure_prediction_enabled is obsoleted and no longer has any effect in host type objects (config file ‘/etc/nagios/check_mk.d/check_mk_templates.cfg’, starting at line 88)

    No se donde puede estar el fallo, agradecería vuestra ayuda.

    Reply
    1. eldespistado1 Post author

      La parte de nagios / cmk parece correcta ( los warnigs son normales en esta versión). Parece un problema de Apache. Quizá algo de permisos. Mira logs de Apache y verifica permisos.

      Reply
  7. Antonio Jesus

    Buenas, Apache funciona con nagios y pnp4nagios, segun los log me pone esto al reiniciar servicios:
    [mpm_prefork:notice] [pid 1137] AH00169: caught SIGTERM, shutting down
    [:error] [pid 1764] python_init: Python version mismatch, expected ‘2.7.5+’, found ‘2.7.9’.
    [:error] [pid 1764] python_init: Python executable found ‘/usr/bin/python’.
    [:error] [pid 1764] python_init: Python path being used ‘/usr/lib/python2.7/:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload’.
    [:notice] [pid 1764] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
    [:notice] [pid 1764] mod_python: using mutex_directory /tmp
    [pid 1764] AH00163: Apache/2.4.10 (Debian) mod_python/3.3.1 Python/2.7.9 configured — resuming normal operations
    [core:notice] [pid 1764] AH00094: Command line: ‘/usr/sbin/apache2’

    y por tema de permisos lo dudo por que he revisado que tengan permisos y he asignado recursivamente nagios:nagios a toda la carpeta del check_mk de /usr/share, por probar.. :p, pero sigue igual, no me da ningun tipo de error, solo que no me muestra el index.py, podría ser problema de python…

    La prueba que he realizado: copiar todo el directorio /usr/share/check_mk/web/htdocs a /var/www/html, con chown -R www-data:www-data *.* y chmod -R 777 *.* y no me representa index.py ni casi ningun .py :S

    Reply
      1. Antonio Jesus

        Buenas.

        Creo que era de python, pero al final me decante por reinstalarlo y funciona a la perfección todo, una pregunta, ya que tu sabes bastante del tema, probé en su día centreon y la agregación de hosts era muy sencilla, tu que recomiendas, hacerlo desde check_mk para los que instales agentes y usar el texto plano para agregar routers, switch, etc?

        Gracias por todo.

        Reply
        1. eldespistado1 Post author

          Hacerlo desde WATO sin duda. En algunas ocasiones puedes echar de menos el copy/paste pero merece la pena. Además hay muchas opciones en WATO que no hay forma de hacerlas en modo texto, al menos no están documentadas. WATO genera también ficheros de texto así que puedes seguir apoyándote en copy/paste y scripts puntualmente. Todos los servidores que manejo en sintaxis cmk de texto los estoy migrando a WATO.

          Reply
  8. Anna

    Hola,

    ¿Check_mk y naemon son compatibles con nsclient++?. Actualmente estoy monitorizando con nsclient++ + nagios y me preguntaba que siginificaría mograr a check_mk o naemon…y si podría reutilizar lso agentes de nsclient++ que ya tengo instalados.

    Saludos y muchas gracias
    Anna

    Reply
    1. eldespistado1 Post author

      Que tal Anna.
      No. No son compatibles (aunque podrian convivir). Lo normal es que cambies el nsclient++ por el agente de CMK si vas a usa CMK.

      Reply
  9. omar almiron

    Hola compañero, muy bueno tu posteo y es de gran ayuda y utilidad
    la verdad no tuve problemas para instalarlo!
    lamentablemente si tengo uno luego de la instalación, la consulta es
    puedo agregar Hosts por medio del check_mk ? ya que no logro hacerlo, si los agrego en nagios, los levanta el check sin ningun problema, pero si los quiero agregar desde el mismo check, no puedo, sera que tengo que configurar algo y no lo se, no me doy cuenta.
    los host que quiero monitorero tienen el SNMP2 configurados de manera correctamente.

    gracias desde ya

    Reply
    1. eldespistado1 Post author

      Interpreto que te refieres a agregar hosts desde cmk WATO no? Deberías poder agregarlos sin problema. Si el cliente a monitorizar no tiene el agente CMK pero tiene SNMP debería detectarlo y al menos monitorizar una información mínima sobre este (cmk conoce muchos tipos de dispositivos por su respuesta snmp y es capaz de configurarlos automáticamente pero no conoce todos). Lo único que por defecto probará la comunidad “public” para conectarse, si es otra tendrás que indicarselo con las variables correspondientes en WATO. Probará con tantas comunidades como le configures. Puedes probar si funciona siempre en linea de comandos con “cmk -d host”

      Reply
  10. Pingback: How To Install Nagios Core 4.1.1 in Debian Jessie Part 2 – La Plata Linux Blog

  11. Pingback: How To Install Nagios Core 4.1.1 in Debian Jessie Part 1 – La Plata Linux Blog

  12. Sergio

    Estimados, soy nuevo en el tema de Nagios, hay algo que no entiendo en el artículo, cito:

    “Las versiones recientes “libres” de check_mk se denominan Check_MK Raw Edition (CRE). Dichas versiones incorporan además de check_mk todo el software adicional (previamente denominado OMD).”

    No entiendo porque dice primero “libres de check_mk” y luego indica quue el paquete contiene check_mk.

    Gracias,

    Reply
    1. eldespistado1 Post author

      Sencillo. Tienes dos versiones de CMK “Check_MK Enterprise Edition (CEE)” y “Check_MK Raw Edition (CRE)”. LA primera solo la puedes bajar con soporte (previo pago) e incluye más funcionalidades y la segunda puedes bajarla y usarla libremente. Ambas no solo incluyen CMK si no que incluyen otro software necesario perfectamente integrado (Nagios 3, pnp4Nagios, Nagvis, plugins,…) de tal forma que es muy sencillo instalar una solución completa de monitorización. Esta solución se conocía antiguamente como OMD o OMDDistro. Ahora bien… si solo quieres el software de CMK p.e. porque quieres integrarlo con Nagios 4 (en lugar de Nagios 3 que es el incluido en el paquete Raw Edition) necesitas bajar la edición “Check_MK Raw Edition (CRE)” y buscar el paquete de cmk entre todo el sofware que incluye este. Actaulmente la forma de obtener CMK es bajar el paquete entero y buscarlo dentro de este (o buscarlo en el GIT de CMK y bajarl el paquete individual).

      Reply
  13. Pingback: Install Nagios Core 4.1.1 in Debian Jessie Part 1 – La Plata Linux Blog

  14. Oscar

    Hola crack,

    Un tutorial fantastico, queria pedirte si me puedes dar algun tip estoy atascado en el punto que toca añadir código en el archivo nagios.cfg y el command.cfg, pero hago lo que según entiendo y sigo teniendo error.

    en el nagios cfg <– descomento las lineas

    en el commands.cfg <– añado el código al final.

    Es correcto?.

    muchas gracias.

    Reply
    1. eldespistado1 Post author

      Difícil sin ver. Sigue el tutorial con cuidado. Corta y pega solo el texto que indica y siempre de los archivos originales. Sin indica que quites el comentario de las líneas quitarlo…

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*