![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introducción

Con su sistema de gráficos integrado, Checkmk dispone de una potente herramienta para registrar y visualizar métricas. Sin embargo, puede ser útil conectar Grafana como sistema de gráficos externo, por ejemplo, cuando ya utilizas Grafana y quieres agrupar los datos de Checkmk con los de otros sistemas en dashboards compartidos.
Desde Grafana 8.x, es posible dirigirse directamente a Checkmk como fuente de datos en todas las ediciones y mostrar métricas individuales o incluso gráficos enteros como los predefinidos en Checkmk. Además, puedes crear dinámicamente tus propios gráficos utilizando expresiones regulares para definir un grupo de host y servicios desde los que se incluirán determinadas métricas en el gráfico.
Este artículo describe cómo recuperar y mostrar tus métricas de Checkmk en Grafana. Las capturas de pantalla utilizadas aquí se crearon con Grafana 10.1, las versiones anteriores difieren ligeramente en su interfaz de usuario. Puedes encontrar instrucciones detalladas sobre cómo utilizar y configurar Grafana en la documentación de Grafana Labs.
El Plugin de Grafana se ha desarrollado independientemente de Checkmk y se mantiene en su propio repositorio de Github. Este artículo describe la instalación del Plugin en la versión 3.1, que interactúa con Checkmk 2.1.0 y 2.2.0. Como el Plugin se instala en Grafana, no tiene sentido entregarlo junto con Checkmk.
2. Instalación del Plugin en Grafana
Dependiendo del tipo de instalación de tu servidor Grafana y de tu edición Checkmk, existen varios métodos para instalar el Plugin. La única restricción aquí es que los usuarios de la solución Grafana Cloud deben utilizar al menos Checkmk Cloud, es decir, Checkmk Cloud o Checkmk MSP, y activar el Plugin a través de la colección oficial de plugins de Grafana. Las instalaciones on-premises de Grafana pueden conectarse a todas las ediciones Checkmk.
2.1. Instalación mediante la línea de comandos (a partir de Checkmk Cloud, servidor Grafana propio)
Este tipo de instalación requiere el uso de, al menos, Checkmk Cloud. Si Grafana funciona en un servidor propio, la instalación desde la colección de Plugin de Grafana es posible a través de la línea de comandos:
root@linux# grafana-cli plugins install checkmk-cloud-datasource
Reinicia el servicio del servidor de Grafana:
root@linux# systemctl restart grafana-server
A continuación, el Plugin estará disponible en la interfaz de Grafana y podrá activarse y configurarse.
2.2. Instalación a través de la GUI de Grafana Cloud (a partir de Checkmk Cloud, Grafana Cloud)
En primer lugar, inicia sesión en la instancia de Grafana en la que quieras instalar el origen de datos Checkmk. A continuación, abre la página del origen de datos en la colección de plugins de Grafana. En la pestaña Installation, marca la instancia de Grafana que debe recibir el plugin y, a continuación, haz clic en el botón Install. Pueden pasar unos minutos hasta que el plugin esté disponible en la interfaz web de la instalación de Grafana.
2.3. Instalación desde un archivo zip (todas las ediciones, servidor Grafana propio)
En la página de versiones del repositorio de GitHub encontrarás dos variantes del Plugin como archivo zip:
La variante firmada
checkmk-cloud-datasource-X.Y.Z.zip
mencionada anteriormente, que sólo puede utilizarse a partir de Checkmk Cloud.Una variante que utiliza el antiguo esquema de nombres
tribe-29-checkmk-datasource-X.Y.Z.zip
, para todas las ediciones a partir de Checkmk 2.1.0 y posteriores.
Simplemente descarga la última versión como archivo zip y cópiala, por ejemplo con scp
, en el servidor de Grafana.

Por supuesto, en lugar de utilizar el navegador, también puedes cargar el archivo directamente desde la línea de comandos. Ten en cuenta que para ello necesitas conocer la versión actual: en el siguiente ejemplo, escribimos la versión en la variable $plugvers
.
root@linux# plugvers='3.1.1'
root@linux# wget https://github.com/Checkmk/grafana-checkmk-datasource/releases/download/v${plugvers}/tribe-29-checkmk-datasource-${plugvers}.zip
A continuación, descomprime el archivo zip:
root@linux# unzip tribe-29-checkmk-datasource-${plugvers}.zip
Crea un directorio Plugin, si no existe ya, y haz propietario al usuario de Linux bajo cuyo ID se ejecutan los procesos de Grafana (normalmente grafana
):
root@linux# mkdir -p /var/lib/grafana/plugins
root@linux# chown grafana:grafana /var/lib/grafana/plugins
Mueve la carpeta resultante al directorio Plugin de Grafana, que suele ser la ruta de archivo /var/lib/grafana/plugins/
:
root@linux# mv -v tribe-29-checkmk-datasource /var/lib/grafana/plugins/tribe-29-checkmk-datasource
Cambia el propietario al usuario de Grafana:
root@linux# chown -R grafana:grafana /var/lib/grafana/plugins/tribe-29-checkmk-datasource
Ya no es posible realizar una instalación clonando el archivo Git (como se describe en versiones anteriores de este artículo). Si quieres participar en el desarrollo del Plugin, lee la Guía de Desarrollo.
Permitir Plugins sin firmar
Desde Grafana 8.0, ya no es posible integrar plugins externos si no han sido firmados. Esto también se aplica al Plugin Checkmk, por lo que necesitarás un paso adicional.
Para ello, edita el archivo de configuración /etc/grafana/grafana.ini
en la sección [plugins]
. Cambia la línea ;allow_loading_unsigned_plugins =
de la siguiente manera. Asegúrate de eliminar el punto y coma al principio de la línea:
[plugins]
allow_loading_unsigned_plugins = tribe-29-checkmk-datasource
Con esta configuración, añades una excepción para este único Plugin. Si utilizas Grafana en un contenedor (Docker), hay varias formas de realizar cambios en la configuración de Grafana. Si sólo son necesarios pequeños cambios de configuración, éstos pueden realizarse a través de las variables del entorno:
user@host:~$ sudo docker run -d \
-e GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=tribe-29-checkmk-datasource \
-p 3000:3000 --name grafana \
-v grafana-plugins:/var/lib/grafana/plugins \
-v grafana-db:/var/lib/grafana grafana/grafana
Si se requieren personalizaciones importantes del archivo INI o de todo /etc/grafana/
, vincula el archivo INI personalizado al contenedor o crea un volume
que mapees con el directorio en el contenedor (/etc/grafana/
). A continuación se muestra un ejemplo de cómo vincular el archivo INI con --mount
. Ten en cuenta que esto es sólo un ejemplo y probablemente no se aplique directamente a tu entorno:
user@host:~$ sudo docker run -d \
--mount type=bind,source=/home/user/grafana/grafana.ini,target=/etc/grafana/grafana.ini \
-p 3000:3000 --name grafana \
-v grafana-plugins:/var/lib/grafana/plugins \
-v grafana-db:/var/lib/grafana grafana/grafana
Reiniciar el servicio Grafana
Después de instalar el Plugin, actualizar o modificar el archivo de configuración, reinicia el servicio del servidor de Grafana:
root@linux# systemctl restart grafana-server
El Plugin estará disponible en la interfaz de Grafana y podrás activarlo y configurarlo.
3. Crear un usuario de Grafana en Checkmk
La conexión a Grafana requiere un usuario en el lado Checkmk que tenga permisos suficientes y que, además, esté autentificado mediante una contraseña de automatización(secret de automatización) en lugar de una contraseña. Los usuarios normales de invitado o monitorización no son suficientes y, por motivos de seguridad, no debes utilizar un administrador.
La forma más sencilla de crear un usuario "adecuado" es clonar el rol del usuario invitado (guest
) y dotarlo de la autorización adicional User management (permitir el acceso de lectura a la información del usuario). Si basas tu rol de usuario de Grafana en otro rol, asegúrate de que se establece la autorización See all host and services además de User management.
Una vez creado el rol, crea uno o varios usuarios de Grafana con una contraseña de automatización(secret de automatización). Más adelante podrás restringir aún más las autorizaciones asignadas al rol; por ejemplo, no se requiere acceso a BI ni a la Consola de eventos.
4. Activar y configurar el Plugin
Una vez instalados los archivos necesarios, puedes activar el Plugin en Grafana. Para ello, pasa a la configuración y selecciona la opción Data sources. Aquí puedes añadir una nueva fuente de datos utilizando el botón Add data source:

La entrada para Checkmk se encuentra en la categoría Others:

La plantilla para esta fuente de datos es bastante sencilla. Introduce la URL de tu site, el tipo de edición y el usuario que acabas de crear para Grafana.Importante: Si utilizas Checkmk en un entorno distribuido, introduce aquí la URL de tu site central:

Si quieres conectar varios sites de Checkmk, opcionalmente puedes dar a cada conexión individual un nombre único. De lo contrario, simplemente deja por defecto Checkmk
o Checkmk for Cloud Edition
.
Una vez que hayas guardado la conexión con el botón Save & test, estará disponible como fuente de datos en Grafana y podrás configurar tus primeros gráficos.
5. Creación de gráficos
5.1. Crear un dashboard en blanco
En Home > Dashboards encontrarás un menú desplegable marcado con un signo más. Haz clic en New dashboard para crear un nuevo dashboard:

5.2. Visualizar una única métrica de host
El dashboard más sencillo muestra un único gráfico para el servicio de un host. También puede ser la métrica de un local check para el que no existen gráficos preparados. Crea una nueva visualización en un dashboard existente o en el que acabas de crear. Primero selecciona aquí Add visualization:

La creación de una visualización te lleva a la selección de la fuente de datos. Tras seleccionar Checkmk, estás directamente en el modo de edición de la Consulta para el panel recién creado. Un panel es un contenedor para una visualización.
El acceso a los datos que se van a visualizar difiere ligeramente entre Checkmk edición Raw y las ediciones comerciales: en Checkmk edición Raw trabajas con menús predefinidos: para site, nombre del host, servicio, etc. En las ediciones comerciales, tienes la opción de definir cascadas de filtros, lo que permite una selección muy detallada, utilizando también expresiones regulares. Se ha elegido el siguiente ejemplo sencillo para que puedas ejecutarlo con todas las ediciones.
Primero selecciona el Site, luego filtra por un Hostname en la monitorización. Para la primera prueba, utiliza cualquier host que utilice el agente de Windows o Linux. Selecciona Check_MK como Service. Establece el tipo de Aggregation en Maximum. El Graph type disponible para la selección es Single metric o Predefined graph:Predefined graphs toma métricas de Checkmk, que también pueden contener gráficos combinados. Nuestras capturas de pantalla muestran aquí el Single metric, que contiene el tiempo total de ejecución del agente (Time spent waiting for Checkmk agent).


Grafana muestra el resultado directamente. Con el botón Apply puedes aplicar el gráfico sin guardar el dashboard. Con Save se te pide que introduzcas un título para el nuevo Dashboard y, a continuación, puedes guardar el dashboard recién creado.

5.3. Visualizar un gráfico predefinido de Checkmk
Los desarrolladores de Checkmk ya han recopilado muchas métricas relacionadas en gráficos comunes para facilitar a los usuarios la obtención de una visión general de los distintos aspectos de un mismo recurso. Puedes visualizar las métricas de dicho gráfico predefinido directamente en Grafana.
El procedimiento es inicialmente el mismo que el explicado en la sección anterior. Sin embargo, para completar el proceso, selecciona la entrada Graph type Predefined graph y la Predefined graph para el servicio que se va a utilizar.
Si recibes un mensaje de error que indica que no se permite la selección de métricas combinadas con más de 200 elementos, utiliza filtros adicionales para restringir la selección. En caso de duda, mueve los filtros que limiten significativamente el resultado al principio del conjunto.

Cuando estés satisfecho con tu selección, pulsa el botón Apply. El gráfico estará ahora disponible en el dashboard seleccionado.

5.4. Crear gráficos complejos
Especialmente en un clúster dinámico, a menudo querrás poder seguir el progreso completo de una métrica en todos los hosts participantes sin tener que personalizar un gráfico cada vez que se añada o elimine un nuevo nodo. Para conseguirlo, existen varias opciones para adaptar dinámicamente los gráficos.
La primera opción es filtrar por Host Labels o Host Tags en lugar de seleccionar hosts individuales. Otra opción es utilizar expresiones regulares. Puedes aplicar expresiones regulares a hosts o servicios. En el siguiente ejemplo, filesystem
coincide con todos los servicios que contengan filesystem
, independientemente de cuántos sistemas de archivos tenga montados un host.

Con filesystem.*nvme
restringirías la selección a todos los sistemas de archivos en unidades NVMe, independientemente del tipo de sistema de archivos que utilicen, ya que la parte de la cadena entre filesystem
y nvme
puede ser arbitraria.
Además de las opciones de filtro ampliadas, utiliza Aggregation para determinar la visualización de las métricas en el gráfico y Graph para determinar qué gráfico se va a utilizar como referencia. Ten en cuenta que las métricas de un host/servicio sólo se muestran si también tiene el gráfico seleccionado. Así, por ejemplo, un gráfico podría tener este aspecto:

5.5. Renombrar utilizando expresiones regulares
En el modo de edición de cada panel, encontrarás una pestaña Transform. Puedes utilizar el sub item Rename by regex disponible aquí para reordenar los nombres de las métricas o suprimir información que no sea necesaria. Nuestro siguiente ejemplo busca dos grupos de caracteres separados por una coma seguida de un espacio, los intercambia y coloca explícitamente Service
y Host
al principio:

Las variables $1
y $2
corresponden a las cadenas "capturadas" en la línea anterior(grupos de coincidencia o grupos de captura). Grafana también permite grupos de concordancia anidados. La sección correspondiente del artículo sobre expresiones regulares ofrece una visión general de las posibilidades disponibles para éstos.
6. Flexibilizar los gráficos mediante variables
Puedes utilizar variables para añadir gráficos de forma flexible a los dashboards. Esto te permite determinar el host de una métrica concreta mediante una selección desplegable o puedes utilizar variables para añadir simultáneamente gráficos de varios hosts a un dashboard. Este artículo no puede ni debe sustituir a la documentación de Grafana. Ante todo, aquí queremos ofrecer una vista general de las posibles aplicaciones y una introducción al tema.
Las variables pueden crearse a partir de consultas. En este caso, puedes filtrar por sites, host o servicios. Alternativamente, también existe la opción de definir cantidades o campos de texto libre, lo que te permite crear cualquier número de filtros.
6.1. Crear variables
Cada variable es una propiedad de un dashboard. Debe crearse en la configuración del dashboard y sólo puede utilizarse dentro de este dashboard. Como la consulta requiere la configuración más extensa, mostraremos su uso en nuestro ejemplo.
Las propiedades relevantes de una variable son su tipo y su nombre; el resto de propiedades sólo se utilizan a efectos de claridad en el dashboard. El nombre debe diferenciar entre variables. Por tanto, si piensas utilizar varias variables para seleccionar hosts de distintos subconjuntos, utiliza un nombre que haga referencia a este conjunto en lugar de host
como en el ejemplo, por ejemplo host_from_linuxservers
.

host
en las propiedades del dashboardAl seleccionar una fuente de datos, asegúrate de que está seleccionada una conexión Checkmk. Puedes restringir aún más el tipo de objeto seleccionado, por ejemplo con expresiones regulares. Los filtros utilizados se evalúan en el servidor Checkmk. En cambio, los campos Regex y Sort son evaluados por Grafana.

Los dos checkbox para Selection options en la parte inferior de la página se pueden utilizar opcionalmente más adelante en función de las necesidades. Puedes modificar estos ajustes en cualquier momento si es necesario; para la primera prueba, deja ambos en la configuración predeterminada (vacía). Guarda las variables utilizando Save dashboard cuando hayas realizado todos los ajustes.
6.2. Utilizar variables para gráficos
Ahora puedes introducir las variables asignadas en los campos correspondientes para crear un gráfico flexible. Las variables también se pueden utilizar en el título del gráfico.

En el dashboard se muestra una selección desplegable para cada variable, que puedes utilizar para establecer los valores de las variables (host, servicios...) que quieres mostrar en el dashboard. Si has activado la selección múltiple, puedes establecer la opción Repeat by variable en la configuración del panel para que se muestre el panel para cada valor de la variable seleccionada.

7. Archivos y directorios
Los siguientes archivos y directorios son relevantes en un servidor Grafana autoalojado.
Ruta del archivo | Descripción |
---|---|
|
Aquí Grafana busca (nuevos) Plugins. Cada Plugin tiene su propio subdirectorio. Por tanto, el Plugin de Checkmk debe colocarse aquí. |
|
Directorio de configuración de Grafana. |
|
El archivo de configuración central de Grafana. Aquí defines qué Plugins sin firmar permites. |