Desarrollador(es) | Checkmk GmbH (anteriormente Tribe29 GmbH y Mathias Kettner GmbH) |
---|---|
Lanzamiento inicial | 2008 ( 2008 ) |
Versión estable | 2.3.0 / 29 de abril de 2024 |
Repositorio |
|
Escrito en | Python , C++ |
Sistema operativo | Linux |
Tipo | Monitoreo de infraestructura de TI |
Licencia | GNU GPL v2 y otras licencias de código abierto , Licencia empresarial Checkmk [1] |
Sitio web | checkmk.com |
Checkmk es un sistema de software desarrollado en Python y C++ para la monitorización de infraestructuras de TI . Se utiliza para la monitorización de servidores , aplicaciones , redes, infraestructuras en la nube ( públicas , privadas , híbridas ), contenedores , almacenamiento , bases de datos y sensores ambientales . [2]
Checkmk está disponible en cuatro ediciones: [3] una edición de código abierto (Checkmk Raw Edition), [4] una edición comercial de nivel empresarial (Checkmk Enterprise Edition), una edición comercial con funciones avanzadas de monitoreo de la nube (Checkmk Cloud Edition) y una edición para proveedores de servicios administrados (Checkmk Managed Services Edition). Estas ediciones de Checkmk están disponibles para una variedad de plataformas, en particular para varias versiones de Debian , Ubuntu , SLES y Red Hat , y también como una imagen Docker . [5] Además, se ofrecen dispositivos físicos de varios tamaños, así como un dispositivo virtual para simplificar la administración del sistema operativo subyacente a través de una interfaz gráfica de usuario y para permitir soluciones de alta disponibilidad.
Los agentes utilizados por Checkmk para recopilar datos están disponibles para 11 plataformas, incluido Windows . [6]
Checkmk se originó en 2008 como un script de shell que sustituye a un agente para Inetd y se publicó en abril de 2009 bajo licencia GPL . Inicialmente se basaba en Nagios y lo amplió con una serie de nuevos componentes. [7] [8] La edición de código abierto (Checkmk Raw Edition) también sigue basándose en el núcleo de Nagios y lo combina con componentes de código abierto adicionales en un sistema completo. [9]
A lo largo de muchos años, las ediciones comerciales de Checkmk han evolucionado hasta convertirse en un sistema de monitorización autónomo, que ha sustituido todos los componentes esenciales de Nagios por los suyos propios, incluido su propio núcleo de monitorización. [10] La mayoría de los desarrollos para las ediciones comerciales, en particular todos los complementos , también están disponibles en Checkmk Raw Edition.
Si bien en el pasado Checkmk fue diseñado para monitorear entornos locales grandes y heterogéneos , a partir de la versión 1.5+ (1.5p12) también admite el monitoreo de servicios de AWS , Azure , Docker y Kubernetes .
Checkmk está siendo desarrollado por Checkmk GmbH [11] en Múnich , Alemania . Hasta el 16 de abril de 2019, operaba bajo el nombre de Mathias Kettner GmbH, momento en el que la empresa pasó a llamarse tribe29 GmbH, mientras que el nombre del producto "Check_MK" también se modificó a "Checkmk". El 14 de abril de 2023 se produjo un cambio de marca posterior, cuando la empresa pasó a llamarse Checkmk GmbH.
Checkmk GmbH sigue un modelo de negocio de código abierto . La edición de código abierto está disponible bajo diferentes licencias de código abierto: en su mayoría GPLv2, mientras que gran parte de las ediciones comerciales funcionan bajo la licencia patentada "Checkmk Enterprise License".
Checkmk combina tres tipos de monitorización de TI:
Para garantizar un control muy amplio, Checkmk cuenta actualmente con más de 2000 complementos en cada edición, todos ellos con licencia GPLv2. Estos complementos se mantienen como parte del producto y se complementan periódicamente con complementos o extensiones adicionales. También es posible conectar complementos de Nagios heredados existentes.
Para simplificar la configuración y el funcionamiento, todos los componentes de Checkmk se entregan totalmente integrados. Una configuración 1:n basada en reglas , así como un alto grado de automatización, aceleran significativamente los flujos de trabajo . Esto incluye:
Además, también existen playbooks para el uso de herramientas de configuración y despliegue como Ansible [15] o Salt . [16]
Checkmk se utiliza a menudo en entornos distribuidos muy grandes donde se monitorea una gran cantidad de sitios (por ejemplo, 300 ubicaciones de Faurecia [17] ) y/o más de 100,000 dispositivos (por ejemplo, Edeka [18] ). Esto es posible, entre otras cosas, porque el micronúcleo de Checkmk consume muchos menos recursos de CPU que, por ejemplo, Nagios y, por lo tanto, ofrece un rendimiento significativamente mayor en el mismo hardware [¿ investigación original? ] . Además, los datos no persistentes se almacenan en la memoria RAM, lo que mejora significativamente el tiempo de acceso.
Checkmk Raw Edition utiliza el núcleo de monitorización Nagios .
La edición comercial de Checkmk utiliza el núcleo de monitoreo propietario "Checkmk Microcore" (CMC), escrito en C++. Tiene un mejor rendimiento que el núcleo de Checkmk Raw Edition [ ¿investigación original? ] . Admite la grabación de objetos con una vida útil corta, como contenedores. No requiere reiniciar para aplicar cambios de configuración.
Checkmk ofrece un servicio autónomo de detección y generación de configuraciones. Checkmk utiliza su propio método al realizar las comprobaciones . Durante el período de prueba, se contacta a cada host solo una vez. Los resultados de la prueba se transmiten al núcleo de monitoreo como comprobaciones pasivas . Esto mejora significativamente el rendimiento en el servidor de monitoreo , así como en los hosts que se monitorean.
Checkmk utiliza diferentes métodos para acceder a los datos de los sistemas de destino. Entre ellos se encuentran los agentes instalados en el sistema de destino, los "agentes especiales" que se ejecutan en el servidor de monitorización y se comunican con la API del sistema de destino, la API SNMP para monitorizar, por ejemplo, dispositivos de red e impresoras, y los protocolos HTTP / TCP para comunicarse con servicios web e Internet. De forma predeterminada, Checkmk sigue el "principio pull", es decir, el sistema de monitorización consulta los datos de forma explícita para identificar rápidamente cuando un sistema falla de repente y no responde a un "pull". Sin embargo, como alternativa, se puede configurar un "push" con el que el sistema transfiere sus datos directamente a Checkmk o a un host intermedio.
Livestatus es la interfaz principal de Checkmk. Proporciona acceso en tiempo real a todos los datos de los hosts y servicios monitoreados. Los datos se obtienen directamente de la RAM, lo que evita el acceso lento al disco duro y brinda un acceso rápido a la información sin sobrecargar demasiado el sistema. El acceso se realiza a través de un protocolo simple y es posible desde todos los lenguajes de programación sin necesidad de una biblioteca especial.
Multisite es la interfaz gráfica de usuario web de Checkmk. Además de tener un diseño de página rápido, ofrece vistas y paneles de control definibles por el usuario, monitoreo distribuido mediante la integración de múltiples instancias de monitoreo a través de Livestatus, integración de NagVis [ aclaración necesaria ] , una conexión LDAP integrada , acceso a datos de estado a través de servicios web y mucho más. Los paneles de control y las vistas se pueden diferenciar para varios usuarios o grupos de usuarios, por ejemplo, vistas específicas de vSphere [19] para administradores de VMware. La interfaz gráfica de usuario web está disponible en varios idiomas.
Checkmk es completamente administrable a través del navegador mediante su módulo de configuración. Esto incluye la gestión de usuarios, roles, grupos, períodos de tiempo y más. Los permisos se pueden otorgar de forma granular mediante un concepto de rol. Para ello se pueden utilizar los controles de acceso basados en roles existentes (LDAP, AD). La configuración de Checkmk se basa en reglas, por lo que sigue siendo intuitiva y escalable incluso en entornos complejos. El descubrimiento y la configuración de servicios automatizados, así como la actualización automática de agentes, aceleran aún más el proceso de configuración. También se puede utilizar una API HTTP para integrar CMDB para una configuración acelerada.
Se pueden configurar varios canales de notificación con diferentes reglas para cada usuario. Por ejemplo, los correos electrónicos se pueden activar en cualquier momento del día, pero las notificaciones por SMS se envían solo para problemas importantes durante las horas de guardia. Las notificaciones se pueden configurar para todos los equipos o para equipos específicos, por ejemplo, notificar solo a los administradores de almacenamiento sobre un disco duro defectuoso. Las notificaciones duplicadas se agrupan para que ningún usuario reciba una notificación dos veces a través de un canal en particular. Además, los usuarios pueden configurar sus propias notificaciones. En entornos distribuidos, las alertas se pueden administrar de forma centralizada. Para los problemas detectados, se pueden activar acciones automáticamente (control de alarmas) a través de scripts. Checkmk incluye integraciones con puertas de enlace de correo electrónico y SMS, así como con soluciones de comunicación y gestión de servicios de TI como Slack , Jira , PagerDuty , OpsGenie, VictorOps y ServiceNow .
El módulo BI está integrado en la interfaz gráfica de usuario. Agrega el estado general de los procesos de negocio, su dependencia de aplicaciones complejas y elementos de infraestructura de TI de muchos hosts y servicios individuales de una manera basada en reglas. También se puede utilizar para representar aplicaciones compuestas por microservicios, que a su vez consisten en pods y despliegues de Kubernetes. Además, se pueden simular los peores escenarios en tiempo real y se pueden analizar datos históricos para comprender las causas de la degradación del rendimiento.
La consola de eventos integra el procesamiento de mensajes de registro y trampas SNMP en la monitorización. Se configura a través de un conjunto flexible de reglas y decide si los mensajes entrantes se deben descartar o cómo se deben clasificar. Puede contar, correlacionar, esperar mensajes, reescribir mensajes y más. Las entradas similares se pueden agrupar en un solo evento (por ejemplo, múltiples inicios de sesión fallidos) para realizar un seguimiento de los eventos. También tiene un demonio de syslog integrado que recibe mensajes directamente en el puerto 514 y un receptor de trampas SNMP que recibe trampas en el puerto 162.
Las ediciones comerciales de Checkmk utilizan su propio sistema de métricas y gráficos. Las métricas de series temporales se pueden analizar en intervalos largos mediante gráficos HTML5 interactivos. La resolución máxima es de un segundo. Los datos se pueden importar desde una variedad de fuentes de datos y formatos de métricas ( JSON , XML , SNMP, etc.) y almacenar en el disco de un dispositivo de almacenamiento de datos a largo plazo.
Como alternativa, se puede conectar Graphite o InfluxDB a través de una interfaz de exportación. A partir de la versión 1.5p16 de CEE también hay disponible un complemento para integrar datos directamente desde Checkmk en Grafana con fines de visualización. La edición Raw de Checkmk utiliza actualmente PNP4Nagios como sistema de gráficos.
Los informes permiten la entrega directa de informes en formato PDF , ad hoc o de forma automática, a intervalos regulares. Incluyen el análisis de disponibilidad, en el que se puede proporcionar el historial de los estados durante cualquier período de tiempo deseado con un clic. Los cálculos de disponibilidad pueden excluir los tiempos no monitoreados, ajustar la resolución o ignorar los intervalos cortos. Además de los cálculos de disponibilidad, los informes también incluyen informes de SLA en los que se pueden monitorear los SLA complejos. Los informes solo están disponibles en las versiones comerciales de Checkmk.
El inventario de hardware/software se puede utilizar, por ejemplo, para supervisar los cambios de hardware y software, para verificar la presencia de actualizaciones de seguridad instaladas y para actualizar datos estáticos con parámetros dinámicos (por ejemplo, actualizar las estadísticas de uso del disco actual en función de los datos de supervisión). La base de datos de gestión de configuración (CMDB) de i-doit tiene una integración profunda que permite el intercambio de datos de la CMDB con datos de supervisión.