checkmk fue creado y desarrollado por el señor Mathias Kettner, de nacionalidad alemana, y desde el año 2007 existe una versión en código abierto. En este artículo veremos checkmk Código Abierto la cual contiene el 90% de todo el código de dicho software de monitorización… Pues sí, que existen varias versiones, ¡veamos cuáles son!
Comienzo por presentar las distintas versiones de checkmk:
- checkmk Código Abierto («Checkmk Raw Edition» o CRE), la que analizo y comparo hoy.
- checkmk Comercial Empresarial («Checkmk Enterprise Edition» o CEE), gratuita hasta 10 dispositivos para cada instancia de checkmk -seguid leyendo y os explico-.
- checkmk Comercial para proveedores de servicios Administrados («checkmk Managed services Edition» o CME) el cual incluye el trabajo directo con el cliente, logotipos de acuerdo con la imagen corporativa de cada empresa, etcétera.
Pandora FMS presenta la versión Community con la cual comparo acá y la versión Enterprise basada en la primera más agregados necesarios para manejar más de diez mil dispositivos, en este enlace podréis ver detalle de ellos.
Particularidades de checkmk Código Abierto
El sr. Mathias Kettner, oriundo de Munich y graduado en ciencias de la computación en 1998, trabajó para SuSE nada más y nada menos que desarrollando la arquitectura de Yast2, una poderosa herramienta de administración de software en dicha distro GNU/Linux. ¿A qué viene toda esta arqueología digital? Ya veréis.
Corría el año 2003 (nacía Pandora FMS), en esa época se volvió muy popular el software de monitorización Nagios y el sr. Kettner se percató de las ventajas de dicho software: código abierto y multitud de soluciones de terceros compatibles con ello. Acá comenzamos a comparar con Pandora FMS: nuestro software tuvo similar origen con Nagios y es una historia larga de contar, en fin, en ambos casos los resultados fueron los mismos: Nagios para altos volúmenes de dispositivos y métricas se lía demasiado.
Por ello el sr. Kettner dio un paso hacia adelante y con lenguaje Python agregó su propia solución, inicialmente como un complemento de Nagios: «Check MK» o «Check_MK». Exacto, inicialmente tenía ese nombre pero luego se simplificó hacia «checkmk«, el nombre actual. También el sr. Kettner tuvo su evolución: creó una empresa llamada «Mathias Kettner Gesellschaft mit beschränkter Haftung» (mejor abreviado como «Mathias Kettner GmbH»), ya que él era único el pilar de este software. Cuando sale la versión libre la empresa es renombrada como «tribe29 GmbH»: lo de «tribe» («tribu» en idioma inglés) es en reconocimiento a la comunidad que puede participar ahora gracias al código abierto, el número 29 es por la dirección física de la compañía: Kellerstrasse 29, Munich, Alemania.
Acostumbraros al idioma alemán desde ya porque checkmk se ofrece en tres idiomas (alemán, inglés y rumano) pero, en mi opinión, la mejor información está toda en alemán; incluso términos como werk (trabajo en alemán, plural werke) están llevados literalmente al inglés como werks (término que conceptualiza y engloba los cambios y mejoras en checkmk Código Abierto). Por otro lado Pandora FMS está desarrollado completamente en inglés y luego es traducido al castellano y muchos otros idiomas más.
Agentes en checkmk Código Abierto
Conocidos en Pandora FMS como agentes software, en checkmk los agentes son, considero, la genialidad o al menos el punto fuerte de este software. Están escritos en lenguaje C++ o BASH y logran que Nagios mejore de dos mil métricas recogidas ¡a decenas de miles! Esto es posible porque los agentes se concentran en descubrir los servicios y software instalados en el dispositivo a monitorizar para enviar luego esa información (ya veremos luego cómo). Es particularmente favorable en ambiente Windows® porque hace llamadas a la API del sistema operativo, no necesita de nada más. También este esquema permite la monitorización SNMP; en Pandora FMS cada módulo en un agente representa un servicio que recoge un agente checkmk sin embargo cuenta con su propio servidor SNMP. En ambos software la monitorización soporta ser realizada tanto como por eventos como por estados.

Si el lenguaje C++ es bueno para los agentes, ¿será mejor para el núcleo? Pues sí, las versiones CEE y CME tienen su propio núcleo privativo que suplanta el de Nagios, pero esa es otra historia aparte a esta comparativa.
Distribución Abierta de Monitorización
The Open Monitoring Distribution, o OMD por sus siglas en inglés, es otra creación del sr. Kettner para administrar instancias virtuales de checkmk Código Abierto en un anfitrión real. Lo de virtual y real lo he agregado yo, en la documentación no vi que se refieran de esa manera, os paso a describiros: al instalar checkmk Código Abierto en realidad estamos instalando un entorno de software que incluye los siguientes:
- checkmk (obvio).
- Nagios.
- Thruk Monitoring interface.
- ICINGA.
- NagVISa.
- PNP4Nagios.
Aunque los componentes pueden variar, los estrictamente necesarios son Nagios por su núcleo, desde luego checkmk y PNP4Nagios para las gráficas.

¿Qué beneficios (o razones) justifican a OMD? Pienso que es muy buena idea de que, sin importar la distro GNU/Linux que alojará nuestro servidor checkmk, tengamos la garantía de una instalación exitosa. Ya esa es una muy buena razón, pero además podremos crear usuarios en quienes delegar tareas de creación, despliegue, borrado, etc. de instancias de checkmk. Se me ocurre, por ejemplo, tener una instancia para probar las nuevas versiones de checkmk y luego, si funcionan bien, aplicarlas sobre el servidor checkmk principal. Todo esto es parecido a lo explicado en la Administración de Configuración de Servidores (Implementación Azul-Verde); con OMD cada instancia tendrá su propio nombre el cual usaremos para conectarnos a ella (www.dominio/nombre-de-instancia). WATO (Web Administration Tool) ofrece la interfaz gráfica al usuario, en Pandora FMS existe la consola, la cual podremos instalar en muchas máquinas distintas conectadas a un «servidor central» y además ambas son completamente personalizables por cada usuario.
Pandora FMS por su parte tiene sus imágenes para Docker lo cual ofrece una funcionalidad equivalente a OMD; checkmk también puede ejecutar en Docker aunque oficialmente reconocen que no es la mejora solución por razones de desempeño: yo digo que un dispositivo virtual sobre otro dispositivo virtual pues que tiene sus inconvenientes. También debido a este esquema OMD debemos agregar el primer dispositivo a monitorizar: el que aloja al propio OMD, es como si fueran dos ordenadores aparte pero con la salvedad de que podemos indicar si el agente es local o remoto, mirad la siguiente imagen con un agente de cada uno:

¿Recordáis al principio que os dije que existe una versión sin costo de CEE? Pues sí, pero máximo 10 por cada instancia OMD; Pandora FMS en su versión Community no tiene un límite prefijado, si queremos ir más allá ¡queda de nuestra parte agregar nuestro propio código!
Protocolo de comunicación
Para finalizar os traigo la manera como ambos software comunican sus agentes con sus respectivos servidores:
- checkmk Código Abierto utiliza para comunicar un derivado avanzado de inetd llamado xinetd, el cual que tiene años sin ser actualizado. En el caso de CentOS y Ubuntu deberéis instalarlo y abrir vuestro muro de fuego por el puerto (no oficial IANA) 6556. Si bien xinetd es un software bien antiguo, cumple con la filosofía GNU: hace una sola cosa y la hace bien, ya que permite gran cantidad de conexiones con muy pocos recursos de hardware.
- Pandora FMS Community utiliza el protocolo Tentacle por el puerto IANA 41121, los datos de las métricas van en formato XML.

Comparación de funcionalidades
Ahora que tenemos a grandes rasgos tanto la instalación como la arquitectura de ambos software, paso a relatar en tres tablas comparativas las funciones de cada uno con sus aclaratorias y comentarios, de ser necesarios:

- En «Gestión de eventos» para checkmk dicha funcionalidad es posible al instalar un complemento creado por Christian Michaelski (ACTGruppe), bajo licencia GPL v2, programado en Python y PHP.
- En «Administración por línea de comandos» para checkmk aún no ha finalizado su programación al momento de escribir estas líneas.
- En «Capacidad recomendada por servidor» para Pandora FMS la cifra es muy superior, en el caso de checkmk el propio autor reconoce que Nagios retrasa a 60 segundos los intervalos de recogida de métricas y la eficiencia del CPU es a la mitad. Yo no recomiendo intentar monitorizar más de mil con una instancia de checkmk.

- En «Complementos oficiales» checkmk se ve beneficiada por la herencia de Nagios, sin embargo debemos sopesar esto contra desempeño de servidor con el núcleo Nagios.

- En «Tableros unificados» se necesita la metaconsola (Pandora FMS Enterprise); para checkmk solo es posible en la versión CME.
Claramente la principal desventaja entre checkmk Código Abierto y Pandora FMS Community es el núcleo Nagios, lo cual es un inconveniente al aumentar el número de dispositivos a monitorizar.
Antes de despedirnos, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.
¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es
Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/
Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/
No dudes en enviar tus consultas. ¡El equipazo de Pandora FMS estará encantado de atenderte!| Título | Enlace |
|---|---|
| Open source IT monitoring with Checkmk | checkmk | https://checkmk.com/open-source-monitoring.html |
| Episode 1: Checkmk installieren und Ihre ersten Hosts überwachen | https://www.youtube.com/watch?v=g1g2ztXeJbo |
| How To Monitor Server Health with Checkmk on Ubuntu 18.04 | https://www.digitalocean.com/community/tutorials/how-to-monitor-server-health-with-checkmk-on-ubuntu-18-04 |
| « Nagios: rpms required for sles10 installation Graphing Nagios Services with pnp4nagios » Meet the Community Installment 3 – Mathias Kettner (check_mk) | https://web.archive.org/web/20160524112428/https://community.nagios.org/2009/08/17/meet-the-community-installment-3-mathias-kettner-check_mk/ |
| Tool Checkmk | https://xebialabs.com/technology/check_mk/ |
| Werks | https://checkmk.de/check_mk-werks.php |
| Install and configure Check_MK Server on CentOS 7 | https://www.fosslinux.com/8424/install-and-configure-check_mk-server-on-centos-7.htm |
| Install and configure checkmk server on Linux | https://kerneltalks.com/tools/install-and-configure-check_mk-server-on-linux/ |
| man pages section 1: User Commands checkmk | https://docs.oracle.com/cd/E86824_01/html/E54763/checkmk-1.html |
| Linux monitoring tool: Install OMD (Open Monitoring Distribution) | https://linuxtechlab.com/linux-monitoring-tool-install-omd-open-monitoring-distribution/ |
| How to Setup OMD on Ubuntu 14.04 / 15.04 | https://linoxide.com/ubuntu-how-to/setup-omd-ubuntu-14-04-15-04/ |
| Meet the Community Installment 3 – Mathias Kettner (check_mk) | https://web.archive.org/web/20120106231742/http://community.nagios.org/2009/08/17/meet-the-community-installment-3-mathias-kettner-check_mk/ |
| How it all started | https://tribe29.com/brand/ |
| Basic Principles of monitoring with Checkmk | https://checkmk.com/cms_monitoring_basics.html |
| VENTAJAS PANDORA FMS ENTERPRISE VS. OPEN | https://pandorafms.com/downloads/pandora-enterprise-vs-open.pdf |
| Checkmk Editions | https://checkmk.com/editions.html |
| Topología de red y monitorización distribuida | https://pandorafms.com/blog/es/topologia-de-red/ |
| Distributed Monitoring | https://checkmk.com/cms_distributed_monitoring.html |
| ACT ITSM Event Management | https://exchange.checkmk.com/p/act-mkeventd |
| Command reference for the HTTP-API | https://checkmk.com/cms_web_api_references.html |
| Para ejecutar en Taller de usuario en Wikipedia en castellano | {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #dcedec;" ! Funcionalidad ! Pandora FMS Community ! checkmk Código Abierto |- | Monitorización de rendimiento y disponibilidad | {{Sí}} | {{Sí}} |- | Gestión de eventos | {{Sí|Limitada}} | {{Sí|ACT ITSM}} |- | Administración por línea de comando | {{Sí|Limitada}} | {{Sí|HTTP-API}} |- | Alta disponibilidad | {{Sí|Limitada}} | {{No}} |- | Consola visual personalizable | {{Sí}} | {{Sí}} |- | Capacidad recomendada por servidor | {{Sí| 1000+ agentes}} | {{Sí| 1000+ agentes}} |- | Agentes para Windows® | {{Sí}} | {{Sí}} |- | Agentes para HP-UX® | {{Sí}} | {{Sí}} |- | Agentes para Solaris® | {{Sí}} | {{Sí}} |- | Agentes para BSD® | {{Sí}} | {{Sí}} |- | Agentes para AIX® | {{Sí}} | {{Sí}} |- | Agentes para GNU/Linux® | {{Sí}} | {{Sí}} |} * En «Gestión de eventos» para checkmk dicha funcionalidad es posible al instalar un complemento creado por Christian Michaelski (ACTGruppe), bajo licencia GPL v2, programado en Python y PHP. * En «Administración por línea de comandos» para checkmk aún no ha finalizado su programación al momento de escribir estas líneas. * En «Capacidad recomendada por servidor» para Pandora FMS la cifra es muy superior, en el caso de checkmk el propio autor reconoce que Nagios retrasa a 60 segundos los intervalos de recogida de métricas y la eficiencia del CPU es a la mitad. Yo no recomiendo intentar monitorizar más de mil con una instancia de checkmk. {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #ecedec;" ! Funcionalidad ! Pandora FMS Community ! checkmk Código Abierto |- | Agentes para Android y sistemas embebidos | {{Sí}} | {{No}} |- | Niveles de control de acceso basados en roles | {{Sí|Limitada}} | {{Sí|LDAP y AD}} |- | Monitorización SNMP v3 | {{Sí}} | {{Sí}} |- | Soporte IPv6 | {{Sí}} | {{Sí}} |- | Monitorización SNMP descentralizada | {{Sí|Limitada}} | {{No}} |- | Monitorización WMI descentralizada | {{Sí|Limitada}} | {{No}} |- | Monitorización de traps SNMP | {{Sí|Limitada}} | {{Sí|Limitada}} |- | Netflow | {{Sí|Limitada}} | {{No}} |- | Consola SSH/Telnet | {{Sí}} | {{No}} |- | Virtualización y ''cloud computing'' | {{No}} | {{Sí}} |- | Complementos oficiales | {{Sí|300+}} | {{Sí|1800+}} |- | Recolección de logs | {{No}} | {{Sí}} |} * En «Complementos oficiales» checkmk se ve beneficiada por la herencia de Nagios, sin embargo debemos sopesar esto contra desempeño de servidor con el núcleo Nagios. {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #ecedec;" ! Funcionalidad ! Pandora FMS Community ! checkmk Código Abierto |- | Gráficos y tableros en tiempo real | {{Sí}} | {{Sí}} |- | Alertas | {{Sí}} | {{Sí}} |- | Interfaz con varios idiomas | {{Sí|18 idiomas}} | {{Sí|3 idiomas}} |- | Cuentas de usuario ilimitadas | {{Sí}} | {{Sí}} |- | Monitorización distribuida | {{Sí}} | {{No}} |- | Tableros unificados | {{No}} | {{No}} |} * En «Tableros unificados» se necesita la metaconsola (Pandora FMS Enterprise); para checkmk solo es posible en la versión CME. |
| Para ejecutar en Taller de usuario en Wikipedia en castellano (TEXTO EN INGLÉS) | IN ENGLISH! {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #dcedec;" ! Functionality ! Pandora FMS Community ! checkmk Raw Edition |- | Performance and Availability Monitoring | {{Sí|Yes}} | {{Sí|Yes}} |- | Event Management | {{Sí|Limited}} | {{Sí|ACT ITSM}} |- | Command line interface management | {{Sí|Limited}} | {{Sí|HTTP-API}} |- | High availability | {{Sí|Limited}} | {{No}} |- | Customizable visual console | {{Sí|Yes}} | {{Sí|Yes}} |- | Recommended capacity per server | {{Sí| 1000+ agents}} | {{Sí| 1000+ agents}} |- | Agents for Windows® | {{Sí|Yes}} | {{Sí|Yes}} |- | Agents for HP-UX® | {{Sí|Yes}} | {{Sí|Yes}} |- | Agents for Solaris® | {{Sí|Yes}} | {{Sí|Yes}} |- | Agents for BSD® | {{Sí|Yes}} | {{Sí|Yes}} |- | Agents for AIX® | {{Sí|Yes}} | {{Sí|Yes}} |- | Agents for GNU/Linux® | {{Sí|Yes}} | {{Sí|Yes}} |} {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #ecedec;" ! Functionality ! Pandora FMS Community ! checkmk Raw Edition |- | Agents for Android and embedded systems | {{Sí|Yes}} | {{No}} |- | Role-based access control levels | {{Sí|Limited}} | {{Sí|LDAP y AD}} |- | SNMP v3 monitoring | {{Sí|Yes}} | {{Sí|Yes}} |- | IPv6 Support | {{Sí|Yes}} | {{Sí|Yes}} |- | Decentralized SNMP monitoring | {{Sí|Limited}} | {{No}} |- | Decentralized WMI monitoring | {{Sí|Limited}} | {{No}} |- | SNMP trap monitoring | {{Sí|Limited}} | {{Sí|Limited}} |- | NetFlow® | {{Sí|Limited}} | {{No}} |- | SSH/Telnet Console | {{Sí|Yes}} | {{No}} |- | Container & cloud monitoring | {{No}} | {{Sí|Yes}} |- | Officially supported plug-ins | {{Sí|300+}} | {{Sí|1800+}} |- | Log collection | {{No}} | {{Sí|Yes}} |} {| class="wikitable col1izq" style="font-size: 100%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: auto;" -style="background: #ecedec;" ! Functionality ! Pandora FMS Community ! checkmk Raw Edition |- | Real-time dashboards & graphs | {{Sí|Yes}} | {{Sí|Yes}} |- | Alerting | {{Sí|Yes}} | {{Sí|Yes}} |- | Multi-lingual user interface | {{Sí|18 languages}} | {{Sí|3 languages}} |- | Unlimited user accounts | {{Sí|Yes}} | {{Sí|Yes}} |- | Distributed monitoring | {{Sí|Yes}} | {{No}} |- | Unified dashboards | {{No}} | {{No}} |} |
| Título | Enlace |
