Instalación de Nagios Core 4 + PNP4Nagios + Check_mk + Nagvis en CentOS 7 – Redhat 7

Introducción.

A fecha de hoy todavía no hay paquetes RPM en las distribuciones / repositorios habituales para Nagios 4 así que es necesario instalar compilando. Ya vimos en un artículo previo como instalar Nagios Core 4 y PNP4Nagios en una Centos 6.X. Por entonces check_mk Livestatus no estaba disponible para Nagios 4. En esta ocasión vamos a ver como instalar todo el pack imprescindible en Centos 7 (Redhat 7), Nagios Core 4 + Check_mk + PNP4Nagios + Nagvis. Instalaremos todo en sus últimas versiones a fecha de hoy.


Partimos de una instalación de Centos 7 instalada con la opción “minimal” y con SElinux deshabilitado. Necesitamos tener configurados además de los repositorios de Centos / Redhat, los repositorios de EPEL. Adicionalmente le instalamos algunos paquetes necesarios.

yum install perl wget httpd php
yum groupinstall "Development Tools

Software necesario.

  • Nagios Core 4, edición Core DIY Source. En el momento de escribir este artículo v.4.0.8.
  • Nagios Plugins. Podemos optar por los de nagios.org o por los de monitoring-plugins que eran los standard y denominados nagios plugins hasta hace unos meses. Si tienes interés en saber el porqué de esta “oferta” de plugins puedes echar un ojo a este artículo. En este caso usaremos los de monitoring-plugins pero son similares actualmente.
  • PNP4Nagios. Bajamos la última versión que en el momento era la 0.6.24
  • Check_MK Raw Edition (CRE). En su página de downloads tenemos disponibles para descarga siempre dos versiones. La estable y la “innovate” que viene a ser la última versión alfa/beta con todas las novedades. Al gusto. Yo suelo usar la innovate ya que se actualiza muy a menudo con novedades muy interesantes y suele funcionar muy bien.
  • Nagvis. En el artículo usaremos la última versión disponible 1.8rc2.

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/

Cuentas de usuario / grupo.

Creamos cuenta para Nagios. Creamos un grupo “nagcmd” que usaremos luego para los comandos externos y metemos en dicho grupo a nuestro usuario Nagios y al usuario que usa apache.

useradd nagios && passwd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

Esto último se hace para que desde el GUI de Nagios podamos ejecutar comandos externos sobre host y servicios – usuario apache-. Para ello los ficheros donde van dichos comandos (/usr/local/nagios/var/rw/) veremos posteriormente que pertenecen a ese grupo “nagcmd”

Instalación de Nagios Core 4.

Instalamos previamente los paquetes necesarios habituales para Nagios.
yum install wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp libpng-devel libjpeg-turbo-devel

En el momento de realizar la istalación no había paquete disponible en EPEL para gd-devel así que se bajó e instaló el RPM para Centos 7 de rpmfind clear

Descomprimimos el gz de Nagios Core y ejecutamos la instalación.

tar zxfv nagios-4.X.X.tar.gz
cd nagios-4.X.X
./configure -with-command-group=nagcmd

Al finalizar nos muestra el resumen.

….
*** Configuration summary for nagios 4.0.8 08-12-2014 ***:
General Options:
 -------------------------
 Nagios executable: nagios
 Nagios user/group: nagios,nagios
 Command user/group: nagios,nagcmd
 Event Broker: yes
 Install ${prefix}: /usr/local/nagios
 Install ${includedir}: /usr/local/nagios/include/nagios
 Lock file: ${prefix}/var/nagios.lock
 Check result directory: ${prefix}/var/spool/checkresults
 Init directory: /etc/rc.d/init.d
 Apache conf.d directory: /etc/httpd/conf.d
 Mail program: /bin/mail
 Host OS: linux-gnu
 IOBroker Method: epoll
Web Interface Options:
 ------------------------
 HTML URL: http://localhost/nagios/
 CGI URL: http://localhost/nagios/cgi-bin/

Seguimos con el resto de pasos habituales:

make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

 

Copiamos algunos ficheros desde dir fuentes y cambiamos algunos permisos que parece quedan pendientes:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Chequeamos que la configuración es válida, creamos usuario de acceso por apache, iniciamos Nagios y apache y los configuramos para que se arranquen al iniciar el sistema:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
systemctl restart httpd.service && systemctl restart httpd.service
chkconfig --add nagios && chkconfig --level 35 nagios on
systemctl enable httpd.service

Apuntamos a la URL y listo: http://nuestra_ip/nagios/ (acordaros de habilitar puerto 80 en el firewall local). Puede que sea necesario configurar Firewall para poder acceder a nuetro Apache por el puerto 80:

firewall-cmd --zone=public --permanent –add-port=80/tcp
systemctl restart firewalld.service

Instalación de Nagios Plugins.

Ya puestos a compilar, nos bajamos también la última versión disponible de los plugins para instalarlos de dicha manera (nos liaríamos más en este caso si lo instalamos desde paquetes desde EPEL como se indicaba en , pero podemos hacerlo si deseamos). Podemos optar por los plugins que publica Nagios Enterprise.

Opción1. Instalación desde paquetes de repositorio EPEL
Más sencillo de instalar y mantener, plugin menos actualizados.

yum install nagios-plugins-all nagios-plugins-nrpe

Los plugin se instalan en el directorio /usr/lib64/nagios/plugins/check_ping
Nagios espera encontrarlos en /usr/local/nagios/libexec
Lo más sencillo será cambiar en /usr/local/nagios/etc/resource.cfg la ubicación de estos.

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

Opción 2. Compilamos.
Mas complicado?. Tenemos la última versión y los plugins de nagios o de monitoringexchange a elegir.
Previamente instalamos algunos paquetes necesarios para algunos plugins:

yum install bind-utils net-snmp net-snmp-devel net-snmp-utils net-snmp-perl perl-Net-SNMP

Y otros necesarios si vamos a chequear en concreto ese tipo de servicios desde Nagios. Si no lo vamos a hacer, mejor no instalarlos. Aunque si los necesitamos posteriormente tendremos que volver a compilar.

yum install mariadb-libs mariadb-devel samba-client samba-common postgresql-devel openldap-devel

Descomprimimos el fichero de nagios-plugins y compilamos indicándoles nuestro usuario y grupo de nagios:

tar zxfv monitoring-plugins-2.X.X.tar.gz
cd monitoring-plugins-2.1.1
# Si instalas nagios-plugins
./configure -with-nagios-user=nagios -with-nagios-group=nagios
# Si instalas monitoring-plugins
./configure -with-nagios-user=nagios -with-nagios-group=nagios --prefix=/usr/local/nagios
make
make install

Si accedemos a nuestro Nagios veremos que tiene algunos chequeos clásicos en el localhost que ya están usando los plugins instalados.

NagiosCore4.main

Dado que cada vez que cambiamos la configuración de ficheros de Nagios conviene chequearla (y necesitamos “recargar” la configuración) yo acostumbro a crear unos alias para tenerlo más a mano. En el fichero .bashrc de nuestro usuario podemos añadirlos.

# ALIAS PARA NAGIOS
alias q1='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'
alias q2='/etc/init.d/nagios reload'

PNP4Nagios

Debemos instalar si o si PNP4Nagios compilando ya que si lo instalas mediante paquetes de EPEL intentará instalarte dependencias tan incomodas como un Nagios 3 entero 🙂
Previamente instalamos algunos paquetes necesarios.

yum install rrdtool perl-Time-HiRes rrdtool-perl php-gd

Instalación.

En el momento de la instalación no existía en los repositorios el paquete rrdtool-perl ni localicé el equivalente así que hubo que bajarlo para Centos 7 de rpmfind.net e instalarlo:

yum localinstall rrdtool-perl-1.4.8-8.el7.x86_64.rpm

Y luego instalamos compilando pnp4nagios

tar zxfv pnp4nagios-0.6.XX.tar.gz
cd pnp4nagios-0.6.XX
./configure
make all
make fullinstall

Configuramos el demonio npcd de pnp4nagios para que se inicie automáticamente y lo iniciamos:

chkconfig --add npcd && chkconfig --level 35 npcd on
systemctl reload httpd.service

Si accedemos al interface de pnp4nagios: http://nuestra_ip/pnp4nagios/ deberíamos ver todos los chequeos que realiza en verde.

pnp4nagios-ok-install

Procedemos como nos indica a renombrar el fichero /usr/local/pnp4nagios/share/install.php para que se dé por enterado de que está correctamente instalado:

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

Volvemos a cargar la página y veremos que ahora nos da 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
De momento es normal, nos faltan configurar la integración con nagios.

Integración con Nagios.

PNP4Nagios tiene varias formas de configurar la integración con Nagios. Usaremos el método bulk-mode. Si estás pensando en usar el más sencillo e igual de eficaz “Bulk Mode with npcdmod” olvídalo de momento . Como comentaba, la API “event broker”de Nagios Core 4 ha cambiado con respecto a la versión previa, con lo cual el broker nocdmod no va a funcionar (al menos no el de la última versión probada en este artículo – pnp4nagios 0.6.24-, en la página de documentación de pnp4nagios, indica claramente “PNP4Nagios Broker Module npcdmod.o is not compatible with Nagios Core 4.x”).
En el directorio /usr/local/pnp4nagios/etc tenemos dos ficheros de ejemplo para hacer copy/paste.
Del fichero nagios.cfg-sample copiamos la siguiente configuración a el fichero /usr/local/nagios/etc/nagios.cfg

#
# 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 la siguiente configuración a /usr/local/nagios/etc/objects/commands.cfg

#
# 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$
}

Reiniciamos el demonio npcd de pnp4nagios y el propio Nagios.

service npcd restart && service nagios restart

Y ya podemos conectarnos a la URL de PNP4Nagios. Desaparece el error y veremos al rato que empieza a pintar nuestras gráficas.
Nos faltaría ahora una cosa importante. Poder acceder directamente desde el Host / Servicio en Nagios a las gráficas correspondientes de este sin tener que ir a el interface de PNP4 para localizarlo. Siguiendo las instrucciones de la documentación nos vamos directamente a configurarlo para POPUPs que queda muy mono. Creamos unos templates para aplicarlos luego a los objetos.
En el fichero /usr/local/nagios/etc/objects/templates.cfg (p.e.) añadimos:

define host {
 name host-pnp
 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
 register 0
}
define service {
 name srv-pnp
 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
 register 0
}

Y modificamos nuestros objetos Host / Servicios para que hereden dicha plantilla. P.e.

define host{
 use linux-server,host-pnp
 host_name localhost
 alias localhost
 address 127.0.0.1
 }
define service{
 use local-service,srv-pnp
 host_name localhost
 service_description PING
 check_command check_ping!100.0,20%!500.0,60%
 }

Aunque realmente si vas a usar luego check_mk puedes despreocuparte de esta última configuración de templates y asignación de estas a objetos. CMK hace estas cosas por ti.

Si no controlas bien el tema de los ficheros de configuración de Nagios es que no leíste el estupendo artículo Nagios Core. Ficheros de configuración . Si no te aclaras con los ficheros de configuración de objetos debes leer el artículo de Nagios, Introducción a los objetos.
Podemos añadirle la plantilla a todos aquellos host / servicios que queramos tengan gráfica. Las estrategias pueden ser diferentes; uno a uno, definición de servicios asignadas a grupos de host en lugar de a hosts (lo normal), asignar la plantilla a la plantillas a otra plantilla (local-service p.e.), ….
OJO. Es necesario copiar un fichero a la config web de Nagios y las rutas de la doc de PNP4Nagios no coinciden con las nuestras. Copiamos el fichero correctamente de los fuentes de pnp4nagios:

cp contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi/

Reiniciamos nagios y ncmd (módulo de pnp):

service npcd restart && service nagios restart

Veremos que nos han aparecido los iconos para acceder pinchando directamente a las gráficas del Host / Servicio directamente desde este y además, si pasamos solo el ratón por el icono nos muestra ya un popup con la gráfica. Bonito ¿no?

pnp4nagios-popup

Si quieres saber más de PNP4Nagios échale un ojo al artículo de Características de PNP4Nagios.

Check_mk

Continuamos con la instalación de check_mk.

Prerequisitos

Necesitamos un módulo para Apache del repostorio de EPEL. El problema es que este módulo ya no va a estar disponible más en EPEL ya que hay otro  módulo python para Apache con funcionalidad similar y parece que bastante mejor (mod_wgsi). Hasta que CMK migre a este (que parece están en ello) debemos buscarnos la vida para instalarlo. Podemos seguir el artículo “Compilar módulo de Apache mod_python para Centos 7 / Redhat 7” para compilarlo e instalarlo.

Instalación de check_mk y Livestatus

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/

Descomprimimos como siempre y lanzamos la instalación que en este se basa en un script.

tar zxfv check_mk-1.X.XiX.tar.gz
cd  check_mk-1.X.XiX
./setup.sh

Durante la instalación nos va haciendo preguntas de localización de ficheros pero nos facilita casi siempre la tarea ofreciéndonos un valor por defecto  normalmente válido y detectando la mayoría de los valores.
Debemos rectificar en lo siguientes valores:
Nagios command pipe
( default  –> /var/log/nagios/rw/nagios.cmd): /usr/local/nagios/var/rw/nagios.cmd
Path to check_icmp  (depende que plugins instales cambiará el camino)
( autodetected  –> /usr/lib64/nagios/plugins/check_icmp): /usr/local/libexec/check_icmp
HTTP authentication file
( default  –> /etc/nagios/htpasswd.users): /usr/local/nagios/etc/htpasswd.users
PNP4Nagios templates
( default  –> /usr/share/check_mk/pnp-templates): /usr/local/pnp4nagios/share/templates
RRD files
( default  –> /var/lib/nagios/rrd): /usr/local/pnp4nagios/var/perfdata

Si algo va mal puedes repetir la instalación las veces que quieras y rectificar. CMK recuerda las respuestas previas ya que las guardá en un fichero “.check_mk_setup.conf” en nuestro home. De hecho cuando actualicemos check_mk será tan sencillo como ejecutar la nueva versión y aceptar todos los valores ya correctos de la instalación previa.
Una vez finalizado reiniciamos los servicios:

systemctl restart  httpd.service &&  service nagios restart

Y probamos a acceder a cmk → http://server_nagios/check_mk

check_mk_localhost

Todo debería funcionar correctamente. Si no es así verificar que la instalación añadió en al nagios.cfg la carga del módulo  / broker de cmk livestatus:

# 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

Y luego revisar el fichero nagios.log para verificar que al reiniciar Nagios no existan problemas con la carga del broker de cmk livestatus.

Nagvis.

Prerequisitos.

Instalamos los paquetes necesarios que nos instalarán a su vez bastantes dependencias.

yum install php-mbstring php-pdo graphviz

Instalación.

Descomprimimos e instalamos. Nagvis se instala también mediante un script.

tar zxfv nagvis-1.8xx.tar.gz
cd nagvis-1.8xx
./install.sh

La instalación nos realiza preguntas  acerca de rutas de nuestro sofware, usuarios, Backends a usar (seleccionaremos solo mklivestatus -por defecto-). Si hemos seguido paso a paso este artículo nos valdrán las opciones por defecto.
Por último editamos el fichero de configuración que nos crea para apache en /etc/httpd/conf.d/nagvis.conf y hacemos un par de cambios para que funcione correctamente en esta versión de apache (2.4):

  #AllowOverride None
  Require all granted

Una vez finalizada la instalación reiniciamos / recargamos Apache como siempre y ya podremos acceder Nagvis  → http://server_nagios/nagvis.  (admin / admin)

nagvis_initial_screen

Lo primero que tendremos que hacer en Nagvis será probar que funiona el acceso a los datos de nuestro nagios a través de mklivestatus.
Ir a un mapa existente (p.e. “Demo1. Datacenter Hamburg”).

  • Menu Edut map / lock-unlock all
  • Menu Edit Map / Map Options / listbox “backend_id” y selecciona live_1 (save).
  • Menu  Edit Map / Add Icon / Host, situa el puntero en el map, selecciona un un host en el “listbox” (tendrás al menos tu localhost) y listo.
  • Menu Edut map / lock-unlock all  para quitar el modo edición.

Ahora ya podemos crear nuevos mapas usando imágenes que subamos y empezar a situar nuestros objetos en estas. Al crear nuestro mapa usaremos el backend “live_1”
Nagvis incluye muchos mapas que están bien para echarle un ojo inicialmente pero que generan mucha confusión así que mejor que los borres.

Artículos relacionados

Otros artículos que te pueden ser de interés:

O directamente puedes buscar encontrar lo que necesites en la Guía de artículos donde puedes bajarte este artículo y otros en formato PDF:

73 thoughts on “Instalación de Nagios Core 4 + PNP4Nagios + Check_mk + Nagvis en CentOS 7 – Redhat 7

  1. joan

    Hola lo primero felicitarte por el blog tan bueno que tienes.

    He instalado todo siguiendo este manual lo único que me ocurre cuando voy a crear una regla me da el siguiente error. ¿A alguien mas le ha pasado? He buscado por la web y no encuentro nada sobre este error. alguien me puede ayudar. Gracias.
    Traceback (most recent call last):
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 304, in page_handler
    modefunc(“content”)
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 18535, in
    “notification_rule” : ([“notifications”], lambda phase: mode_notification_rule(phase, False)),
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 9210, in mode_notification_rule
    vs = vs_notification_rule(userid)
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 8585, in vs_notification_rule
    section_contacts +
    NameError: global name ‘mkeventd’ is not defined

    Reply
    1. eldespistado1 Post author

      Así en frío… Creo recordar que los eventos no funcionaban de serie ya que en algun sitio tienen una variable para instalaciones OMD. Luego a la tarde lo miro y te cuento.

      Reply
    2. eldespistado1 Post author

      Que tal Joan.
      Acabo de probarlo. Actualice previamente a Versión de cmk: 1.2.6p2 que aún tenía una antigua en esa máquina de pruebas. Imagino por el error que es cuando creas una regla en… “Notification”?? La verdad es que me dió algún problemilla al activar las notificaciones por no tener levantado el servicio mkeventd pero en cuanto lo inicié funciona sin problemas la creación de reglas. Pasa con cualquier regla? Tienes levantado dicho servicio?
      Un saludo.

      Reply
  2. Carlos Molraes

    Hola, he hecho todo al pie de la letra . Pero por más que intento no puedo hacer funcionar el livestatus de Check_mk me tira este error: Cannot connect to ‘unix:/usr/local/nagios/var/rw/live’: [Errno 2] No such file or directory, no esta el archivo “live” no se porque no lo crea.

    Lo instale en Centos 7 con nagios 4 , instale la version check_mk-1.2.7i2p2.

    Ayuda por favor!

    Reply
    1. eldespistado1 Post author

      No probé aún con esas versiones de cmk pero no creo sea el problema ¿Que versión de Nagios core usaste?
      ¿Has mirado el lode de Nagios (nagios.log) para ver que error registra al iniciar nagios e intentar cargar el módulo de check_mk para Livestatus? Si te da un error suele ser un problema de permisos en el directorio.

      Reply
      1. Carlos Molraes

        Muchas gracias por responderme.
        La versión de Nagios que tengo es la 4.0.0.8
        Estos son los registros del .log:
        [1440590248] Error: Could not load module ‘/usr/lib/check_mk/livestatus.o’ -> /usr/lib/check_mk/livestatus.o: undefined symbol: last_command_check
        [1440590248] Error: Failed to load module ‘/usr/lib/check_mk/livestatus.o’.
        [1440590248] Error: Module loading failed. Aborting.

        Y el error en la web: Cannot connect to ‘unix:/usr/local/nagios/var/rw/live’: [Errno 2] No such file or directory.

        Los permisos de : drwxr-xr-x 2 nagios nagcmd 41 Aug 25 12:24 check_mk
        drwxrwsrwx 2 nagios nagcmd 22 Aug 26 04:57 rw

        En la página web de nagios me sale: Unable to get process status, no levanta a menos que comente las lineas del chek_mk en el nagios.conf.

        Que versión del chek_mk probaste tu? Espero puedas ayudarme 🙁

        Reply
        1. eldespistado1 Post author

          Al instalar checkmk te detectó correctamente la versión 4 de nagios? Ese error lo he visto cuando cargaba el módulo checkmk de nagios 3 en nagios 4. En el home de root te deja un fichero oculto con los parámetros de instalacion para verlo. Si no prueba a instalar
          la versión estable 1.2.6. Con esa tengo todos mis servidores actualmente (y nagios core 4.0.8)

          Reply
          1. Carlos Molraes

            Muchas gracias por tu respuesta nuevamente. Podría abusar de tu buena volutad y pedirte que me envíes el check_mk que utilizaste, te lo agradecería muchísimo!! carlosm@live.cl

            Tienes toda la razón, en el archivo de configuracion oculto me aparece: nagios_version=’3.5.0′, como puedo solucionarlo.

            Muchas gracias!!

          2. eldespistado1 Post author

            Lanza de nuevo la instalación sin problema. Verás que recuerda todas las respuestas previas porque las guarda en dicho fichero. Cambia la relativa a la versión de nagios y deja que instale. De todas formas, si hubieras tenido ejecutándose nagios en el momento de la instacion debería haberlo detectado correctamente. Te debería funcionar con esa versión de cmk que tienes. Puedes bajar las versiones de cmk de si página. Al menos estable e innovate. Baja raw edition source

  3. Carlos Molraes

    Estimado, baje la version: check-mk-raw-1.2.6p10, busque en la pagina el raw edition, era un paquete .rmp, le hice yum localinstall y me pedía: perl-Net-SNMP, fping y libmcrypt. Las instale y pude instalar el rmp, se instalo bien al parecer pero en ningún momento me pidió verificar dependencias ni nada como los .tar.gz que compile anteriormente. Solo se instalo, no me pregunto la version del nagios, sigue marcando como la 3.5, que he hecho mal? 🙁

    ,

    Reply
    1. eldespistado1 Post author

      Que tal Carlos. Me temo que lo que has hecho mal ha sido no leer atentamente 🙁
      1.- Probablemente con tu versión de cmk “check_mk-1.2.7i2p2” solo lanzando de nuevo la instalación y cambiando el valor de versión de Nagios en las preguntas que te hace, tal como te recomendaba, te hubiera funcionado.
      2.- Si hubieras bajado la versión cmk 1.2.6p10 raw edition y SOURCE (importante este detalle ya que el artículo usa versión source y NO empaquetada) tal como te comentaba siempre y cuando siguieras también el punto 1 es probable que hubieras avanzado tambien.

      Ahora tienes dos opciones:
      1.- Desinstalar el paquete RPM y seguir probando las indicaciones dadas con el software SOURCE.
      2.- Desintalar el source que instalaste previamente y seguir indagando en como hacer funcionar lo instalado con el RPM. Probablemente el RPM tenga instrucciones al respecto.

      Un saludo y suerte.

      Reply
      1. Carlos Molraes

        Estimado,

        No se tu nombre pero agradezco inmensamente tu ayuda. Empece de 0 tomando en cuenta tus consejos y funcionó sin problemas. Agradecer el excelente contenido del Blog y tu excelente disposición por compartir conocimiento, ahora sigo con NagVis. Grande!!

        Reply
  4. Carlos Alvear

    Hola estimado!

    una consulta, tienes alguna guia para habilitar WATO? esta instalacion es compatible con WATO?

    Muchas gracias por tu respuesta!

    Reply
  5. eldespistado1 Post author

    Esto esta habilitado por defecto. Accedes por la url de checkmk y lo tendrás en la barra de menús izda. Si no está usa el botón de snapins para añadirlo al menu.

    Reply
  6. Carlos Alvear

    Hola,

    Ayer realice toda la instalacion pero no me funciono la instalacion del modulo mod_python apache, me dio un monton de errores y tuve que comenzar de cero, la consulta es… es necesario instalar ese modulo? epel aun tiene el modulo antiguo como para instalarlo por ahi? porque compilarlo si que es un lio y me estropeo todo….

    Reply
    1. eldespistado1 Post author

      Pues mira en Epel por si estuviera el módulo disponible ahora. Por entonces la única manera era compilandolo tu mismo 🙁

      Reply
  7. Carlos Alvear

    Una consulta, en el paquete de monitoring-plugins (el que yo instale) no viene el plugin check_snmp??? no lo veo en /usr/local/nagios/libexec/… se debe instalar aparte???

    Saludos y gracias!

    Reply
    1. eldespistado1 Post author

      Compilaste los plugins? Vuelve a hacerlo y fíjate en los errores. Me da que te falta algún paquete necesario y no te compiló el plugin porque lo trae y lo deberia compilar.

      Reply
  8. Carlos Molraes

    Hola, Yo de nuevo! 🙁

    Me paso algo muy extraño, todo iba perfecto con mi instalación, pero al momento de reiniciar centos (primera vez que lo reinicio desde su instalación) me arroja este error el checkmk en su pagina: Cannot connect to ‘unix:/usr/local/nagios/var/rw/live’: [Errno 13] Permission denied

    No se porque llevaba varias semanas funcionando sin problemas 🙁 No veo nada extraño en el log, me podrías ayudar?

    Nagios 4.0.8 starting… (PID=21494)
    [1441822265] Local time is Wed Sep 09 15:11:05 CLT 2015
    [1441822265] LOG VERSION: 2.0
    [1441822265] qh: Socket ‘/usr/local/nagios/var/rw/nagios.qh’ successfully initialized
    [1441822265] qh: core query handler registered
    [1441822265] nerd: Channel hostchecks registered successfully
    [1441822265] nerd: Channel servicechecks registered successfully
    [1441822265] nerd: Channel opathchecks registered successfully
    [1441822265] nerd: Fully initialized and ready to rock!
    [1441822265] wproc: Successfully registered manager as @wproc with query handler
    [1441822265] livestatus: Livestatus 1.2.6 by Mathias Kettner. Socket: ‘/usr/local/nagios/var/rw/live’
    [1441822265] livestatus: Please visit us at http://mathias-kettner.de/
    [1441822265] livestatus: Hint: please try out OMD – the Open Monitoring Distribution
    [1441822265] livestatus: Please visit OMD at http://omdistro.org
    [1441822265] livestatus: Finished initialization. Further log messages go to /usr/local/nagios/var/livestatus.log
    [1441822265] Event broker module ‘/usr/lib/check_mk/livestatus.o’ initialized successfully.

    Reply
  9. eldespistado1 Post author

    El quiz está en el directorio rw pienso ya que el fichero socket se crea al iniciar Nagios (al cargar el módulo de cmk) por lo que este último depende de los permisos del directorio donde se crea. Al compilar nagios con el grupo nagcmd debería estar así pienso (aunque es posible que lo cambiara a posteriori?)
    # ls -lad /usr/local/nagios/var/
    drwxrwxr-x. 5 nagios nagios 4096 sep 9 21:56 /usr/local/nagios/var/
    # ls -lad /usr/local/nagios/var/rw/
    drwxrwsr-x. 3 nagios nagcmd 65 sep 9 21:52 /usr/local/nagios/var/rw/
    # ls -la /usr/local/nagios/var/rw/live
    srw-rw—-. 1 nagios nagcmd 0 sep 9 21:52 /usr/local/nagios/var/rw/live

    Reply
  10. PirapP

    Hola.

    Buenisimo tu blog.

    Me puede apoyar con un problemita con el que me encontre. Seguí toda tu guía y pude instalar todas las aplicaciones hasta la sección de Check_MK.
    Ya ejecute el script de instalación (setup.sh), se compilo sin errores. Pero al entrar en la página me marca el siguiente error “Cannot connect to ‘unix:/usr/local/nagios/var/rw’: [Errno 111] Connection refused”
    ¿Tendrás algun tip de como pueda solucionarlo?

    Gracias por tu ayuda.

    Reply
  11. jacob

    hola,
    primero felicitarte por la completa guia de instalación y explicación de el funcionamiento de cada uno de los modulos que le podemos ir integrando a nuestro nagios, pero tengo una duda ya es segunda vez que instalo nagios 4.1.1 con check_mk 1.2.6p12 y me sale el siguiente error eh buscado por internet y dice que son problemas de permisos, pero a mi en particular no me crea el archivo el cual no tiene los permisos

    Internal error: [Errno 13] Permission denied: ‘/etc/check_mk/conf.d/wato/contacts.mk’

    Details
    Check_MK Version: 1.2.6p12
    Page: index.py

    GET/POST-Variables:

    Traceback (most recent call last):
    File “/usr/share/check_mk/web/htdocs/index.py”, line 220, in handler
    userdb.hook_page()
    File “/usr/share/check_mk/web/htdocs/userdb.py”, line 854, in hook_page
    general_page_hook()
    File “/usr/share/check_mk/web/htdocs/userdb.py”, line 830, in general_page_hook
    save_users(load_users(lock = True))
    File “/usr/share/check_mk/web/htdocs/userdb.py”, line 232, in load_users
    file(filename, “a”)
    IOError: [Errno 13] Permission denied: ‘/etc/check_mk/conf.d/wato/contacts.mk’

    si me pudieras ayudar con esto, muchisimas gracias

    Reply
    1. JCM

      que tal mi estimado Jacob resolviste tu problema???

      Algun tip??

      yo cree el archivo con touch

      /etc/check_mk/conf.d/wato/contacts.mk
      # Written by Multisite UserDB
      # encoding: utf-8

      contacts.update(
      {‘nagiosadmin’: {‘alias’: ‘nagiosadmin’}}
      )

      Reply
      1. JCM

        Estos son los datos de lo que estoy usando:

        Nagios® Core™ 4.0.8
        [root@localhost check_mk-1.2.6p10]# cat /etc/redhat-release
        CentOS Linux release 7.2.1511 (Core)

        A mi tampoco me creaba el archivo y despues de crearlo con touch me sigue marcando el mismo error…
        ***ERROR:
        Check_MK Version: 1.2.6p10
        Page: index.py

        GET/POST-Variables:
        start_url=index.py

        Traceback (most recent call last):
        File “/usr/share/check_mk/web/htdocs/index.py”, line 220, in handler
        userdb.hook_page()
        File “/usr/share/check_mk/web/htdocs/userdb.py”, line 854, in hook_page
        general_page_hook()
        File “/usr/share/check_mk/web/htdocs/userdb.py”, line 830, in general_page_hook
        save_users(load_users(lock = True))
        File “/usr/share/check_mk/web/htdocs/userdb.py”, line 232, in load_users
        file(filename, “a”)
        IOError: [Errno 13] Permission denied: ‘/etc/check_mk/conf.d/wato/contacts.mk’

        Reply
        1. JCM

          Resuelto solamente me habia faltado tener SElinux deshabilitado.

          [root@localhost centosuser]#
          [root@localhost centosuser]# /usr/sbin/sestatus
          SELinux status: enabled
          SELinuxfs mount: /sys/fs/selinux
          SELinux root directory: /etc/selinux
          Loaded policy name: targeted
          Current mode: enforcing
          Mode from config file: enforcing
          Policy MLS status: enabled
          Policy deny_unknown status: allowed
          Max kernel policy version: 28
          [root@localhost centosuser]#
          [root@localhost centosuser]# cat /etc/selinux/config

          # This file controls the state of SELinux on the system.
          # SELINUX= can take one of these three values:
          # enforcing – SELinux security policy is enforced.
          # permissive – SELinux prints warnings instead of enforcing.
          # disabled – No SELinux policy is loaded.
          SELINUX=enforcing
          # SELINUXTYPE= can take one of three two values:
          # targeted – Targeted processes are protected,
          # minimum – Modification of targeted policy. Only selected processes are protected.
          # mls – Multi Level Security protection.
          SELINUXTYPE=targeted

          [root@localhost centosuser]# /usr/sbin/getenforce
          Enforcing
          [root@localhost centosuser]#
          [root@localhost centosuser]# nano /etc/selinux/config
          [root@localhost centosuser]# cat /etc/selinux/config

          # This file controls the state of SELinux on the system.
          # SELINUX= can take one of these three values:
          # enforcing – SELinux security policy is enforced.
          # permissive – SELinux prints warnings instead of enforcing.
          # disabled – No SELinux policy is loaded.
          SELINUX=disabled
          # SELINUXTYPE= can take one of three two values:
          # targeted – Targeted processes are protected,
          # minimum – Modification of targeted policy. Only selected processes are protected.
          # mls – Multi Level Security protection.
          SELINUXTYPE=targeted

          [root@localhost centosuser]#reboot
          login as: centosuser
          centosuser@10.222.39.197‘s password:
          Last login: Fri Mar 25 17:45:47 2016 from 10.222.30.238
          [centosuser@localhost ~]$
          [centosuser@localhost ~]$ su
          Password:
          [root@localhost centosuser]#/usr/sbin/sestatus
          SELinux status: disabled
          [root@localhost centosuser]# /usr/sbin/getenforce
          Disabled
          [root@localhost centosuser]#

          Reply
  12. Hector Roman

    La guia funciona perfectamente pero cuando intento mandar un check manual desde la consola Web tengo el clasico error del permiso en nagios.cmd.

    Reply
  13. Julio Cesar

    Hola, ya hice la instalacion para Nagios Core 4.0.8enuncentos 6.7 pero me manda un error al abrir el WEB
    500 Internal Server Error
    The server encoutered an internal error or misconfiguration and was unable to complete your request
    Please contact the server administrator ,root@localhosto and inform then of the time the error occurred, and anything you migth have done that may have cause the error.

    Nota: Al hacer la instalacion enla opcion Do you want to use backendmklivestatus puse “n” debidoa que me pedia un directorio, no se si eso se el problema.

    de antemano agradesco su ayuda.

    Reply
    1. eldespistado1 Post author

      No en serio. Es difícil saber que puede pasar así sin ver.
      Mira los logs de Apache lo primero.
      La opción que te saltaste… Es un paso necesario si para usar cmk. Es como saltar en paracaídas y olvidarte del paso de tirar de la anilla 😀

      Reply
  14. Javier

    Hola, primero que nada gracias por la excelente guia.
    Escribo porque el problema que tengo es que quiero crear una regla en “notifications” pero aparece el siguiente error

    Traceback (most recent call last):
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 304, in page_handler
    modefunc(“content”)
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 18645, in
    “notification_rule” : ([“notifications”], lambda phase: mode_notification_rule(phase, False)),
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 9276, in mode_notification_rule
    vs = vs_notification_rule(userid)
    File “/usr/share/check_mk/web/htdocs/wato.py”, line 8638, in vs_notification_rule
    section_contacts +
    NameError: global name ‘mkeventd’ is not defined

    No se como solucionarlo. he seguido al pie de la letra pero no se como pueda resolverlo

    Despues corrí de nuevo la instalación de check_mk y active los eventos y puedo crear una regla pero cuando quiero activar los cambios ahora aparece este error

    Cannot connect to event daemon via /usr/local/nagios/var/rw/mkeventd/status: [Errno 111] Connection refused

    Podrias ayudarme a resolver este problema que tengo y de antemano gracias

    Reply
      1. Javier

        Te agradezco tu pronta respuesta.
        Efectivamente pase por alto activar el servicio mkeventd.
        al activarlo ya funciona la parte de notifications.

        Gracias !!!

        Reply
        1. Christ

          anteriormente lo podia iniciar pero ahora me dice que no esta corriendo aun poniendo el comando de start. que puede ser?!

          Reply
          1. eldespistado1 Post author

            Localiza el script de inicio de mkeventd y vete ejecutándolo por líneas (el Start) a ver si ves el error. Si es systemd busca los parámetros con los que se ejecuta y pruébalo a mano

  15. Alejandro

    Hola.
    Soy nuevo en esto del monitoreo y mi pregunta es la siguiente.
    quisira saber si es posible monitorear el servicio apache (ej. conecciones establecidas) que tendria que realizar, tendria que instalar algún plugin extra o hacer una configuración extra . no se si me podria orientar
    gracias.!

    Reply
    1. eldespistado1 Post author

      Si. Hay plugins adicionales en nagiosexchange que usan el módulo estatus de Apache para obtener datos de Apache. Si usas check_mk este incluye un plugin también para Apache.

      Reply
  16. Alejandro

    Hola de nuevo abusando de tu amabilidad en la interfaz grafica cuando trato de descartar los cambios aparece l siguiente error.
    Permissions – Unable to restore snapshot:
    Permission problem: Path not writable /var/lib/check_mk/.
    Permission problem: Path not writable /var/lib/check_mk//
    Permission problem: Path not writable /usr/local/nagios/etc/.
    Permission problem: Path not writable /var/lib/check_mk

    Reply
  17. Alejandro

    Buen dia primero que nada gracias por tu excelente blog
    mi problema es el siguiente en la interfaz grafica cuando trato de descartar los cambios aparece l siguiente error.
    Permissions – Unable to restore snapshot:
    Permission problem: Path not writable /var/lib/check_mk/.
    Permission problem: Path not writable /var/lib/check_mk//
    Permission problem: Path not writable /usr/local/nagios/etc/.
    Permission problem: Path not writable /var/lib/check_mk

    revise los permisos y al parecer son correcttos no se que mas hacer me podrias orientar

    Reply
    1. eldespistado1 Post author

      Que tal Alejandro.
      Siento no poder ayudarte. Conozco el problema porque lo he sufrido (además suele acabar borrándote la configuración, espero no te haya pasado y si te ha pasado que tuvieras copia).
      Cuando lo instalas con OMD (ahora Check_MK Raw Edition (CRE)) configura correctamente todos los permisos pero con una instalación independiente no. En su día estuve indagando y resolver unos problemas me ocasionaba otros. Pienso que es algo en el código de python que no le gusta. No volví a mirarlo. No uso esa característica. Hago las copias con herramientas a parte.
      Si tienes cambios pendientes y no quieres aplicarlos busca y borra el fichero pending.log y ya está. Si ya los aplicaste y puedes deshacerlos “a mano” sin backup mejor.
      Prometo que si lo saco de pendientes un día te respondo.

      Reply
      1. Alejandro

        Pues de momento no me ha pasado que se borre la configuracion.
        Una duda mecionas que las copias las realizas con otras herramientas como realizas las copias o con que herramientas.
        gracias

        Reply
        1. eldespistado1 Post author

          Pues además de la copia estándar con el sistema de backup “empresarial” de turno (agente de S.O.) mantengo desde una tercera máquina copia de todos los servidores Nagios+CMK con la utilidad “rdiff-backup”. Tengo configurado el acceso ssh con claves desde el servidor central a todos los servidores de monitorización y con un cron ejecuta varias veces al día scripts programados de copia al menos de “/usr/share/check_mk/web” y “/etc/check_mk”. Realmente si tienes ya un software de backup estándar no es necesario pero tenerlo así me permite tener a mano copias diferenciales de fácil y rápida recuperación. Además al usar diff no ocupan mucho espacio las copias.

          Reply
  18. Oscar Jhoan

    Buen Día.

    Luego de seguir paso a paso la guia y tener algunos problemillas para echar a andar el sistema y ya que pude hacerlo funcionar me salio el siguiente problema al dar de alta un host por el check_mk.

    sudo: /etc/sudo.conf is world writable sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin

    por lo que entiendo tiene que ver con algun tipo de permisos en el sistema.
    pero no se cual puede ser.

    Reply
    1. eldespistado1 Post author

      Miradno en una instalación en Centos 6, la instalación de CMK añade a /etc/sudoers las línea siguiente para poder realizar algunas tareas desde el usuario Apache (interface de CMK):
      # Needed for WATO – the Check_MK Web Administration Tool
      Defaults:apache !requiretty
      apache ALL = (root) NOPASSWD: /usr/bin/check_mk –automation *

      No tengo a mano un Redhat7 / Centos7 pero será similar. Mira que tengas esas líneas. No has cambiado permisos en ese fichero sudoers no?

      Reply
      1. Oscar Jhoan

        Muchas Gracias por la contestacion ya me aparece bien la parte del Check_MK ahora veo que el PNP4Nagios al parecer no me esta pintando las graficas de los servicios ya los intente agregar de manera manual pero no crea las graficas pero veo que al dar de alta un host me crea la grafica del host.

        Reply
  19. Oscar Jhoan

    Bueno ya luego de hacer muchos intentos encontre cual era el problema es la direccion a la que apuntan los directorios, ahora solo me quedo una duda al apuntar a los plugins con estas direcciones al cambiarlos en el archivo de nagios.

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

    es el doble slash?

    Reply
  20. alizdog

    Buenas,

    Lo primero muchas gracias per tu tiempo, mi problema es el siguiente, la instalación todo Ok. Pero cuando accedo a http://localhost/check_mk me muestra lo siguiente:
    Server or Configuration Problem
    A Server problem occurred. You’ll find details in the error log of Apache. One possible reason is, that the file /usr/local/nagios/etc/htpasswd.users is missing. You can create that file with htpasswd or htpasswd2. A better solution might be to use your existing htpasswd file from your Nagios installation. Please edit /etc/httpd/conf.modules.d/check_mk and change the path there. Restart Apache afterwards.
    Error_log del httpd:
    root@monitorizacio check_mk]# tail -f /var/log/httpd/error_log
    from . import version
    File “/usr/lib64/python2.7/site-packages/mod_python/version.py”, line 3
    version = “fatal: Not a git repository (or any of the parent directories): .git
    ^
    SyntaxError: EOL while scanning string literal
    [Fri Jun 24 18:35:12.192144 2016] [:error] [pid 24955] make_obcallback: Python path being used “[‘/usr/lib64/python27.zip’, ‘/usr/lib64/python2.7’, ‘/usr/lib64/python2.7/plat-linux2’, ‘/usr/lib64/python2.7/lib-tk’, ‘/usr/lib64/python2.7/lib-old’, ‘/usr/lib64/python2.7/lib-dynload’, ‘/usr/lib64/python2.7/site-packages’, ‘/usr/lib/python2.7/site-packages’]”.
    [Fri Jun 24 18:35:12.192152 2016] [:error] [pid 24955] get_interpreter: no interpreter callback found.
    [Fri Jun 24 18:35:12.192163 2016] [:error] [pid 24955] [client 192.168.1.34:58968] python_handler: Can’t get/create interpreter.
    [Fri Jun 24 18:36:15.092370 2016] [autoindex:error] [pid 24900] [client 127.0.0.1:33009] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
    [Fri Jun 24 18:41:15.070158 2016] [autoindex:error] [pid 24904] [client 127.0.0.1:33084] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive

    Reply
    1. eldespistado1 Post author

      El problema es de mod python. Revisa bien el procedimiento de compilación del modulo que enlaza el post. Hace un par de semanas lo use y sigue vigente. Me funciono siguiéndolo.

      Reply
  21. Miguel

    Hola, amigo necesito ayuda para instalar livestatus, al ejecutar ./setup.sh arroja error de compilación, “ERROR compiling livestatus! “, al revisar el log aparece esto:
    /usr/bin/ld: cannot find -lstdc++
    collect2: error: ld returned 1 exit status
    make[2]: *** [livestatus.o] Error 1

    estoy tratando de instalarlo en un RHEL 7.2
    gracias por tu ayuda!!

    Reply
  22. Carlos Zuluaga

    Hola,
    Antes que todo lo felicito muy detallado el manual, pero tengo el siguiente problema al instalar check mk
    ERROR compiling livestatus!

    las ultimas lineas del log

    /usr/bin/ld: cannot find -lstdc++
    collect2: error: ld returned 1 exit status
    make[2]: *** [livestatus.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    ranlib livestatus.so
    make[2]: Leaving directory `/root/check-mk-raw-1.2.8p9.cre/packages/check_mk/check_mk-1.2.8p9/livestatus.src/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/check-mk-raw-1.2.8p9.cre/packages/check_mk/check_mk-1.2.8p9/livestatus.src’
    make: *** [all] Error 2

    lo estoy instalado en centos 7

    gracias por su ayuda

    Reply
    1. carlos

      solucion

      yum install ia32-libs libc6-i386 libc6-dev-i386 lib32gcc1 lib32stdc++6
      yum install libstdc++-static libstdc++-static.i686

      Reply
  23. Alejandro

    Buenas
    Lo primero muchas gracias por tu tiempo, la cuestión es la siguiente.
    Cuando ocurre un evento check_mk envía un correo indicando que fue lo que sucedió, en este caso cuando el host esta en status DOWN , pero solo envia un correo, es posible que se este enviando la misma alerta sobre el mismo host en tanto este este en status DOWN ???

    Saludos y Gracias

    Reply
    1. eldespistado1 Post author

      Creo que eso lo gestiona una configuración de Nagios Core. Debes tener configuradas en las templates de tus hosts el parámetro “notification_interval = 0”. Si estás usando CMK viene definido por defecto en las plantillas de hosts para Nagios que implementa. Busca un fichero “check_mk_templates.cfg” o similar. Si esta a “0” solo mandará una notificación por cada cambio de estado. Puedes cambiarlo a los minutos concretos que desees que se repita la notifiación.
      En cualquier caso cambiar la template de CMK no es la solución porque al actualizar la versión lo normal es que te la sobrescriba. Tienes que cambiarlo en WATO / Host & Service parameters, busca la opción “Periodic notifications during host problems” y crea una regla para host, carpetas,…
      El mismo parámetro o similar aplica a servicios.

      Reply
  24. Javier

    Buenas tardes, he seguido el tutorial, al pie de la letra y no consigo averiguar en donde estoy fallando, me explico:

    Cuando llego al paso de compilar el check_mk se compila e instala correctamente, reinicio los servicios y al abrir el check_mk me aparece el siguiente error:

    Internal error: [Errno 13] Permission denied: ‘/etc/check_mk/conf.d/wato/.wato’

    he revisado los permisos estan correctos, lo que veo esque el fichero .wato no existe, he probado a volver a compilar e instalar el check_mk pero no cambia la situacion.

    La version de nagios es: 4.2.1
    La version de check_ml es: 1.2.8p12

    Adjunto todo el log:
    Crash Type gui
    Time 2016-10-19 15:30:11
    Operating System CentOS Linux release 7.2.1511 (Core)
    Check_MK Version 1.2.8p12
    Python Version 2.7.5 (default, Sep 15 2016, 22:37:39) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
    Exception
    IOError ([Errno 13] Permission denied: ‘/etc/check_mk/conf.d/wato/.wato’)
    Traceback
    File “/usr/share/check_mk/web/htdocs/index.py”, line 136, in handler
    handler()

    File “/usr/share/check_mk/web/htdocs/dashboard.py”, line 265, in page_dashboard
    draw_dashboard(name)

    File “/usr/share/check_mk/web/htdocs/dashboard.py”, line 337, in draw_dashboard
    title = visuals.visual_title(‘dashboard’, board)

    File “/usr/share/check_mk/web/htdocs/visuals.py”, line 1253, in visual_title
    heading = get_filter(fn).heading_info()

    File “/usr/share/check_mk/web/plugins/visuals/wato.py”, line 126, in heading_info
    self.check_wato_data_update()

    File “/usr/share/check_mk/web/plugins/visuals/wato.py”, line 52, in check_wato_data_update
    self.load_wato_data()

    File “/usr/share/check_mk/web/plugins/visuals/wato.py”, line 44, in load_wato_data
    self.tree = wato.Folder.root_folder()

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 607, in root_folder
    return Folder.folder(“”)

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 576, in folder
    if folder_path in Folder.all_folders():

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 565, in all_folders
    Folder(“”, “”).add_to_dictionary(wato_folders)

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 668, in __init__
    self._init_by_loading_existing_directory(folder_path)

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 675, in _init_by_loading_existing_directory
    self._load()

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 977, in _load
    self._save_wato_info()

    File “/usr/share/check_mk/web/htdocs/watolib.py”, line 1001, in _save_wato_info
    file(self.wato_info_path(), “w”).write(“%r\n” % wato_info)
    Local Variables
    {‘self’: Folder(”, ‘Main directory’),
    ‘wato_info’: {‘attributes’: {},
    ‘lock’: False,
    ‘lock_subfolders’: False,
    ‘num_hosts’: 0,
    ‘title’: ‘Main directory’}}

    Espero que puedas ayudarme, gracias de antemano.

    Reply
  25. Javier

    Ya lo he resuetlo.
    Volviendo a revisar todas las configuraciones, me di cuenta que el SELinux no lo cambie, y por eso no estaba generando el fichero, he reiniciado la maquina y funciona todo perfecto sin errores en los logs,
    Gracias.

    Reply
    1. eldespistado1 Post author

      Y te funciona con esa versión de nagios? Te carga el broker de livestatus bien? Ver en nagios.log

      Reply
      1. Javier

        Buenos dias, parece que si funciona bien.

        [1476943497] livestatus: Livestatus 1.2.8p12 by Mathias Kettner. Socket: ‘/usr/local/nagios/var/rw/live’
        [1476943497] livestatus: Please visit us at http://mathias-kettner.de/
        [1476943497] livestatus: Hint: please try out OMD – the Open Monitoring Distribution
        [1476943497] livestatus: Please visit OMD at http://omdistro.org
        [1476943497] livestatus: Finished initialization. Further log messages go to /usr/local/nagios/var/livestatus.log
        [1476943497] Event broker module ‘/usr/lib/check_mk/livestatus.o’ initialized successfully.

        Ya que estoy, tengo una duda, no he utilizado nunca el check_mk, estoy peleando con el, consigo que añadir los hosts pero no soy capaz de que los pase a nagios, nagvis etc, solo estan visibles en wato, se te ocurre que puedo estar haciendo mal?

        Un saludo y gracias!!

        Reply
        1. Javier

          Me vuelvo auto contestar, no añadí en el nagios.cfg el fichero de cfg de check_mk, al añadirlo ya esta funcionando correctamente.

          Gracias de nuevo.

          Reply
  26. Ivan Olivas

    Hola:
    Ante todo gracias por estas guias, me ayudan bastante.
    Tengo un problema al querer instalar el check_mk, ya que me sale un error “ERROR COMPILING LIVESTATUS! Logfile is in ./livestatus.log

    Cuando reviso el log aparece:
    /usr/bin/ld: cannot find -lstdc++
    collect2: error: ld returned 1 exit status
    make[2]: *** [livestatus.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    ranlib livestatus.so
    make[2]: Leaving directory `/opt/check_mk-1.2.8p16/livestatus.src/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/opt/check_mk-1.2.8p16/livestatus.src’
    make: *** [all] Error 2

    Sin embargo, si tengo instalado el paquete libstdc++-devel-4.8.5-11.el7.x86_64 en el Centos 7.

    Espero me puedas ayudar. Gracias!!

    Reply
  27. Joset

    Intenta con esto, debería funcionar.

    # yum install sudo libstdc++.x86_64 libstdc++-docs.x86_64 libstdc++-static.x86_64 xinetd -y; yum group install “Development Tools” -y

    Reply
  28. Angel

    Buenas tardes, ante todos muy genial tu blog. En mi caso me sale este error para la instalación del Check_MK:
    make[2]: Entering directory `/root/check-mk-raw-1.4.0p9.cre/packages/check_mk/check_mk-1.4.0p9/bin’
    g++-5 -std=c++14 -g -O3 -Wall -Wextra -static-libstdc++ mkevent.cc -o mkevent
    make[2]: g++-5: Command not found
    make[2]: *** [mkevent] Error 127
    make[2]: Leaving directory `/root/check-mk-raw-1.4.0p9.cre/packages/check_mk/check_mk-1.4.0p9/bin’
    make[1]: *** [build] Error 2
    make[1]: Leaving directory `/root/check-mk-raw-1.4.0p9.cre/packages/check_mk’
    make: *** [build] Error 2
    Hice lo que se requería respecto al Python y mi versión del C lo actualicé a versión 5 pero nada. Saludos!!!!

    Reply
    1. eldespistado1 Post author

      Parece que no te encuentra el compilador g++. Prueba a instalar las herramientas de desarrollo: yum groupinstall ‘Development Tools’

      Reply
      1. Miguel

        Gracias por tu respuesta, la solución que he conseguido no me ha gustado ja ja ja. Sucede que me descargue la última versión estable edición RAW, sin embargo cuando extraigo el archivo tar.gz, pues cuando aplico ./setup pues me sale un mensaje que me indica que no puedo proceder por la versión lo cual no entiendo si he usado la edición RAW CRE. Luego de ello quise ejecutar make en el mismo archivo grande pero me sale ese error de g++-5, así que se me ocurrió buscar el comprimido tar.gz que funcionara y di con la versión 1.2.6p25 donde sí me corre el setup, ni si quiera me corre con la 1.2.8 menos con 1.4.0, se supone que la última versión RAW debería funcionar y no darte ese mensaje de bienvenida pero diciéndote que necesitas otra versión (RAW o Enterprise)… no sé si hayas probado con la última versión y si lo has hecho, cómo lo has solucionado. Saludos!!!!

        Reply
  29. Marco

    Hola

    Tu blog está muy bueno, gracias por la información compartida. Solamente quería decir que al parecer con la versión 1.4.0 no funciona el proceso ya que no te salen las opciones luego del setup. Sin embargo para la versión 1.2.8 no hay problemas, no sé si se trate de un bug o que check_mk ya no tendrá una versión RAW 100% gratuita sino una limitada. Saludos!

    Reply

Leave a Reply

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

*

Comment moderation is enabled. Your comment may take some time to appear.