Check_mk. Chequeos. Primeros pasos.

Para iniciarnos con los chequeos de Check_mk, vamos a ver como se instalan los clientes y como se realiza una mínima configuración de equipos. Esto nos servirá de punto de partida para ir avanzando posteriormente. Este post asume que tenemos realizada y una instalación de OMD Distro, aunque te puede ser igualmente útil si no es así.

Recordamos que la configuración mediante check_mk generará posteriormente sus propios ficheros de configuración en formato Nagios. ¿Hace esto que no necesitemos conocer y usar el formato de Nagios? Desgraciadamente no. Hay algunos objetos que deben estar creados en los ficheros de configuración de Nagios (p.e. grupos de hosts y de servicios). ¿Crearemos en Nagios entonces solo los objetos necesarios? Como quieras, yo personalmente prefiero hacer una mezcla y configurar una parte en un lado y otra parte en otro. No quiero renunciar a lo mejor de cada. Lo que sí es necesario desde luego es conocer los objetos de Nagios y como se relacionan entre ellos y definir lo necesario en los ficheros de Nagios.

Check_mk incorpora un complemento de plugins con un agente propio (Windows, Linux, Unix,…) para realizar chequeos pasivos en sistemas. Al ser chequeos pasivos hace que el sistema de Nagios necesite menos recursos para realizar los chequeos. ¿Que diferencia hay entre chequeos activos o pasivos?

  • Activos: Los ejecuta el servidor de Nagios en intervalos regulares.
  • Pasivos: Los ejecuta el propio cliente en intervalos regulares o bajo demanda.

Algo habitual, como en el caso que nos ocupa es que se ejecute un chequeo activo contra el host destino para recoger todos los datos que este tiene de chequeos pasivos.

Check_mk usa un fichero especial de configuración a partir del cual genera los ficheros de configuración con la sintaxis de Nagios. Incorpora funcionalidades interesantes como:

  • Chequeos pasivos. Con un solo chequeo (activo) al sistema obtiene todos los valores a monitorizar y los “coloca” en sus respectivos servicios de forma pasiva.
  • Autodetección de posibles chequeos. Una vez instalado el agente en la máquina y añadido en el fichero de configuración detecta automáticamente los servicios más importantes a chequear de este.
  • Plantillas PNP4Nagios. Incorpora plantillas de PNP4Nagios ya definidas para todos sus chequeos.
  • Visor de eventos. Configura servicios para los eventos de Windows e incorpora su visualización en Nagios (Siempre que esté dispuesto a pegarte con ellos y tener luces en rojo a menudo).
  • Capacidad de ejecutar plugins estándar de Nagios en el propio Host cliente de los que se usan con NRPE (otro tema que se verá más adelante)

Partimos de que tenemos ya instalado check_mk mediante  la instalación de OMD. Si lo hemos instalado de forma independiente de éste en un servidor de Nagios, cambiarán las rutas pero los procedimientos serán los mismos

Instalación de agentes.

Primero, antes de ponernos a configurar objetos de Nagios con la sintaxis especial de los ficheros de configuración de check_mk, debemos instalar el cliente en los servidores a monitorizar. A  modo de ejemplo instalaremos un cliente Windows y otro Linux (el propio servidor de Nagios p.e.).

En una instalación realizada con OMD, los agentes específicos de check_mk para cliente estarán en: /opt/omd/versions/default/share/check_mk/agents

Instalación del agente Windows.

Se copia el directorio del agente check_mk para Windows a nuestro servidor desde
/opt/omd/versions/default/share/check_mk/agents/windows

Se ejecuta la instalación “install_agent.exe”. Nos sugiere directorio por defecto y los dos componentes necesarios a instalar. ¿Sencillo no?

Verificaciones.
El servicio usa el puerto 6556, así que podemos verificar que sea accesible.Desde el propio servidor Windows:

#netstat -ano | find "6556"
 TCP    0.0.0.0:6556           0.0.0.0:0              LISTENING       7936

Desde el servidor de Nagios p.e. (nos tiene que salir un “chorro” de datos):

#telnet 192.168.1.33 6556

Ojo. SI Windows tiene activado el Firewall debemos permitir el acceso para el ejecutable de check_mk (o para el puerto) al menos para la dirección IP del equipo Nagios.
Alternativamente podemos limitar el acceso también limitando en el fichero de configuración check_mk.ini del directorio de instalación del agente en Windows (tendremos un ejemplo como check_mk.example.ini). Usaremos la directiva “only_from”

Instalación del agente Linux.

Debemos tener instalado previamente xinetd.
Lo podemos verificar en Debian / Ubuntu:

# dpkg –list | grep xinetd

En Redhat y similar con:

#yum list installed | grep xinetd

El agente para Linux localizado en “/opt/omd/versions/default/share/check_mk/agents” es para realizar una instalación manual de este. Mejor usar los paquetes para nuestra distribución que podemos encontrar en la página de downloads de check_mk. Instalaremos el cliente y la extensión de log watch.

Para Debian / Ubuntu sería:

dpkg -i check-mk-agent_x.y.z_all.deb
dpkg -i check-mk-agent-logwatch_x.y.z_all.deb

Para distribuciones Redhat / Suse / CentOS/..:

rpm -i check_mk-agent-x.y.z.noarch.rpm
rpm -i check_mk-agent-logwatch-x.y.z.noarch.rpm

Recordad, debemos reiniciar xinet.d para que nos abra el puerto.

service xinetd restart

Podemos verificar su funcionamiento de la forma ya comentada para el agente Windows. Habrá que asegurarse, si tenemos iptables activo, de dar acceso al menos al servidor de Nagios al puerto 6556. También podemos limitar el acceso mediante el fichero de configuración de xinet.d creado por chech_mk. Normalmente el fichero se ubica en /etc/xinetd.d/check_mk y usaremos la directiva “only_from”.

Otros agentes.

En el directorio  /opt/omd/versions/default/share/check_mk/agents  disponemos de agentes para otros sistemas operativos como Solaris, HPUX, freebsd,… Si queremos instalarlo para estos realizaremos una instalación manual del agente  tal como se indica en la documentación de check_mk.

Verificación desde check_mk
Para verificar que check_mk puede acceder a nuestros agentes ejecutaremos desde el servidor de Nagios:

check_mk -d host_a_chequear

Si tenemos nuestra instalación con OMD debemos realizarlo con el usuario de nuestra instancia (nombre de nuestra instancia). Siempre cambiaremos a dicho usuario previamente a ejecutar tareas relacionadas con el mantenimiento de Nagios, Check_mk,…

su – usuario

Si queremos más detalles sobre los clientes y su instalación podemos seguir la documentación de check_mk al respecto.

Configuración básica de chequeos.

Antes de ponernos a configurar debemos asegurarnos de que llegamos al host destino por su nombre, bien con DNS o bien porque lo hemos definido el el fichero hosts del servidor de Nagios. Es importante porque en los ficheros de configuración usaremos el nombre de los hosts (corto normalmente) y no definiremos adicionalmente la IP como si se hace en los ficheros de configuración de Nagios.

Definiciones en el fichero de configuración.

El Fichero principal de configuración de objetos de check_mk está en la siguiente ruta en una instalación con OMD:
/opt/omd/sites/foo/etc/check_mk/main.mk
Existe en dicha ruta un directorio “conf.d” donde podemos crear ficheros con extensión “.mk” que también formarán parte de nuestra configuración.
Para empezar tocaremos lo mínimo posible y en posteriores entradas entraremos más a fondo.
Editamos el fichero y lo dejamos tal que así para incluir nuestro host local con el cliente check_mk para linux instalado y nuestro cliente Windows de prueba (con su nombre corto, asegúrate que se resuelva correctamente). Podemos eliminar el que no necesitemos.

# Put your host names here
 all_hosts = [ 'localhost', 'srv_windows’ ]

Inventariar los equipos en la configuración.

De momento hemos configurado que equipos nos gustaría chequear pero debemos de alguna forma decirle que mire que nos pueden ofrecer para chequear e incluya dichos chequeos. Lo hacemos cambiando al usuario de nuestra instancia OMD (su – usuario) y ejecutando:

check_mk –I    (es un i mayúscula)

check_mk-I_sample

La orden anterior chequea todos los equipos definidos en el fichero. Si queremos chequear uno solo será:

check_mk –I servidor (chequea solo ese equipo)

Reinicio de check_mk

Una vez realizada configuración e inventario debemos reiniciar / recargar la configuración de Nagios. Como estamos bajo entorno OMD lo hacemos con:

check_mk –R     (recarga la configuración de ficheros de check_mk a formato Nagios y reinicia Nagios). O bien:
check_mk –O
     (recarga la configuración de ficheros de check_mk a formato Nagios, sin reiniciar y cortar servicio). Mejor esta última.
omd reload   (recarga la configuración de OMD)

Si estuviéramos en un entorno sin OMD (Nagios y check_mk instalados por separado) sería:

check_mk –O
/ruta/binario/nagios –v /ruta/afichero/config/nagios.cfg       (para verificar previamente configuración)

service nagios3 reload   (recarga configuración).

Visualización de la información.

Si todo ha ido bien podemos ir a nuestro interface preferido para visualizar la información tal como (recordamos). En nuestro caso la información en el GUI de check_mk se muestra para el servidor Linux.

check_mk_services_linux_localhost

Y para el servidor Windows (con una alerta crítica de espacio en disco):

check_mk_services_windows

Hasta aquí hemos visto una configuración muy básica de los chequeos con check_mk (el 1% quizá Sonrisa).  Continua en la segunda parte de este artículo.

Otros artículos de interés relacionados

14 thoughts on “Check_mk. Chequeos. Primeros pasos.

  1. gonzo34

    Impresionante la web, ya tienes por mi parte un seguidor asiduo. Al fin alguien documenta estos temas en castellano con algo conciso y claro. Un saludo y mil gracias.

    Reply
  2. gonzo34

    Buenas cuando comentas en el articulo :

    Una vez realizada configuración e inventario debemos reiniciar / recargar la configuración de Nagios. Como estamos bajo entorno OMD lo hacemos con:

    check_mk –r

    Creo que la R es mayuscula, por favor me lo podrias verificar. Gracias un saludo.

    Reply
  3. Hugo

    Hola, se agradece la información en español, llevo tiempo haciendo pruebas con el check_mk pero no he podido echar a andar el plugin de mysql para monitorear servidores mysql y realmente hay poca documentación, tendrás algun tutorial con el que puedas apoyarme? Te lo agradeceré mucho!

    Reply
  4. Santi

    Llevo unos dias trasteando con check_mk instaldo desde OMD y la verdad es que tiene muy buena pinta. Pero me surge la duda por que he creado un par de host (linux y windows) con WATO que me los monitoriza perfectamente pero el fichero main.mk lo tengo vacio :S
    No se donde me esta guardando las configuraciones de los host y sus respectivos servicios pero la cuestion es que funciona jejejeje

    Reply
    1. eldespistado1 Post author

      Creo que están en un fichero wato o similar? Siempre puedes buscar con grep el nombre del equipo en los ficheros de etc :–)

      Reply
      1. Santi

        Efectivamente ya lo encontre y se guarda todo en /omd/sites/mysite/etc/check_mk/conf.d/wato/

        Ahora tengo por delante la tarea de configurar desde 0 un servidor con OMD para monitorizar toda mi empresa que son unos 30 servidores y multitud de switches, routers, AP, etc repartidos por varios paises.

        Reply
        1. eldespistado1 Post author

          Interesante y entretenido :–). Lo más importante para este tipo de instalaciones distribuidas… usar bien los parents en los hosts y diferentes intervalos de warning / critical para servicios en diferentes ubicaciones p.e. ping. Ánimo!!!

          Reply
  5. Ulises

    Disculpa mi ignorancia, pero configure mi instalación de OMD desde la interface web de Check_mk, ahora estoy tratando de averiguar como hacer los checks manuales (ya que necesito la información detallada de los valores que salen en el Disk IO SUMMARY), pero lastimosamente cuando trato de ejecutar check_mk, me sale el error que el check_mk no esta instalado.

    Me podrias ayudar a saber que puede estar pasando, tengo instalado el OMD 1.10

    Saludos y gracias de antemano.

    Reply
    1. eldespistado1 Post author

      Que tal Ulises.
      Cuando creas un site con OMD te crea un usuario del sistema con ese mismo nombre. Debes logearte con dicho usuario y tendrás acceso a los binarios.

      Reply
  6. Daniel Morales

    Buenos días amigo saludos desde Caracas-Vebezuela, te felicito por tu pagina.. De verdad excelente! Tome la iniciativa de instalar OMD Monitoring en la empresa donde trabajo, ya logre monitorear 40 servidores Windows, pero tengo dos problemas graves los cuales te detallo a continuación:
    1.- El servidor Debian 7 donde tengo instalado obviamente el site y un agente para monitorearlo, me indica conexion rechazada. Hago los pasos que indicas arriba telnet localhost 6556 y nada que ver.. No tengo Iptables funcionando o por lo menos me dice que no esta instalado, esta corriendo xinetd perfectamente.

    2.- La granja de servidores Linux que tengo en la empresa es Oracle Linux 5.5, que es igual a Centos o Redhat, no he podido instalarlo los agentes porque me solicita una cantidad considerable de librerías y sublibrerias, las he buscado pero no todas aparecen. A donde de buscar? Te agradecería lo que pudieras hacer.. Ojala Respondas pronto. Estaré atento a tus comentarios.

    Reply
    1. eldespistado1 Post author

      1. Debe que no está habilitado en el archivo de configuración de xinetd localhost y/o la propia ip del servidor. /Etc/xinet.d/check-mk o así. 2. Que raro. Para el agente sólo hace falta python y xinetd. Es el rpm? Hay dos rpm para el agente uno de ellos no necesita otras dependencias distintas que python y xinetd. Prueba el oyro

      Reply
  7. Oscar Jhoan

    Hola Buen Día

    He seguido otras de tus guias y e ido haciendo pruebas ahora no se si es posible cambiar el subject que manda la alerta por Mail del check_mk.
    actualmente trae la que esta por defecto que es CHECK_MK:(Nombre del host/nombre del servicio).

    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.