Checkmk es un software desarrollado en Python y C ++ para el monitoreo de la infraestructura 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 . [3]
Desarrollador (es) | tribe29 GmbH (anteriormente Mathias Kettner GmbH) |
---|---|
Versión inicial | 2008 |
Lanzamiento estable | 1.6.0p16 [1] / 19 de agosto de 2020 |
Repositorio | |
Escrito en | Python , C ++ |
Sistema operativo | Linux |
Tipo | Monitoreo de la infraestructura de TI |
Licencia | GNU GPL v2 y otras licencias de código abierto, Checkmk Enterprise License [2] |
Sitio web | checkmk |
Checkmk está disponible en tres ediciones: [4] una edición de código abierto ("Checkmk Raw Edition - CRE"), [5] una edición empresarial comercial ("Checkmk Enterprise Edition - CEE") y una edición comercial para proveedores de servicios gestionados (" Checkmk Managed Services Edition - CME "). Estas ediciones Checkmk están disponibles para una variedad de plataformas, en particular para varias versiones de Debian , Ubuntu , SLES y Red Hat / CentOS , y también como una imagen de Docker . [6] 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 permitir soluciones de alta disponibilidad.
Los agentes utilizados por Checkmk para recopilar datos están disponibles para 11 plataformas, incluida Windows . [7]
Historia
Checkmk se originó en 2008 como un agente -substituting shell script para Inetd , y fue publicado en abril de 2009 bajo GPL . [8] Inicialmente se basó en Nagios , y lo amplió con varios componentes nuevos. [9] [10] La edición de código abierto (Checkmk Raw Edition) también sigue basándose en el núcleo de Nagios, y lo incluye con componentes de código abierto adicionales en un sistema completo. [11]
Durante muchos años, las ediciones comerciales de Checkmk se han convertido en un sistema de monitoreo autónomo, uno que ha reemplazado todos los componentes esenciales de Nagios por los suyos propios, incluido su propio núcleo de monitoreo. [12] La mayoría de los desarrollos para las ediciones comerciales, en particular todos los complementos , también están disponibles en Checkmk Raw Edition.
Mientras que en el pasado Checkmk fue diseñada para el control de gran y heterogénea en las instalaciones entornos, desde la versión 1.5 + (1.5p12) que también apoya el seguimiento de AWS , Azure , acoplables y Kubernetes servicios. [13]
Checkmk está siendo desarrollado por tribe29 GmbH [14] en Munich Alemania , que hasta el 16.04.2019 operaba bajo el nombre de Mathias Kettner GmbH. Junto con el cambio de nombre de la empresa, el nombre del producto "Check_MK" también se cambió a "Checkmk".
tribe29 GmbH sigue un modelo de negocio de núcleo abierto . La edición de código abierto está disponible con diferentes licencias de código abierto, en su mayoría GPLv2, mientras que gran parte de las ediciones comerciales se ejecutan bajo la "licencia empresarial Checkmk" patentada.
El producto
Checkmk combina tres tipos de supervisión de TI:
- Monitoreo basado en estado, que (a través de umbrales) registra el "estado" de un dispositivo o aplicación.
- Monitoreo basado en métricas que permite el registro y análisis de gráficos de series de tiempo . Para la CEE están disponibles tanto un sistema de gráficos basado en HTML5 como una integración con Grafana [15] .
- Monitoreo basado en registros y eventos , en el que los eventos clave se pueden filtrar y se pueden activar acciones en función de estos eventos.
Para garantizar una supervisión muy amplia, Checkmk tiene actualmente más de 1700 complementos en cada edición, todos los cuales tienen licencia GPLv2. Estos complementos se mantienen como parte del producto y se complementan regularmente con complementos o extensiones adicionales. Conexión existentes heredadas de Nagios plug-ins es posible también.
Para simplificar la configuración y el funcionamiento, todos los componentes de Checkmk se entregan completamente 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:
- Descubrimiento automático de hosts (cuando corresponda)
- Descubrimiento automático de servicios [16]
- Configuración automatizada de complementos mediante reglas y umbrales preconfigurados
- Actualizaciones automáticas de agentes (una función de CEE)
- Configuración automática y dinámica que permite la monitorización de servicios volátiles con una vida útil de solo unos segundos, como en el entorno de Kubernetes (a partir de CEE v1.6) [17]
- Descubrimiento automatizado de etiquetas y etiquetas de fuentes como Kubernetes, AWS y Azure (a partir de CEE v1.6)
Además, también hay guías para el uso de herramientas de configuración e implementación como Ansible [18] o Salt . [19]
Checkmk se utiliza a menudo en entornos distribuidos muy grandes en los que se supervisa un gran número de sitios (por ejemplo, 300 ubicaciones de Faurecia [20] ) y / o más de 100.000 dispositivos (por ejemplo, Edeka [21] ). Esto es posible, entre otras cosas, porque el microcore 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. Además, los datos no persistentes se almacenan en la memoria RAM, lo que mejora significativamente el tiempo de acceso.
Componentes
El núcleo de supervisión ("Checkmk Microcore - CMC")
Las ediciones comerciales de Checkmk utilizan su propio núcleo de supervisión, escrito en C ++. Esto tiene un rendimiento mucho más alto que el núcleo de Nagios. Además, a partir de la versión 1.6 permite la grabación dinámica de objetos con una vida útil corta, como los Contenedores. Esto es posible porque, a diferencia del núcleo de Nagios, Checkmk Microcore no requiere un reinicio al realizar cambios de configuración. La versión de código abierto "Checkmk Raw Edition" todavía usa el núcleo de Nagios.
Configuración y comprobación del motor
Checkmk ofrece detección de servicios y generación de configuraciones autónomas. Checkmk utiliza su propio método al realizar las comprobaciones . Durante el período de prueba, cada host se contacta una sola vez. Los resultados de las pruebas se transmiten al núcleo de supervisión como comprobaciones pasivas . Esto mejora significativamente el rendimiento en el servidor de supervisión , así como en los hosts que se supervisan.
Checkmk utiliza diferentes métodos para acceder a los datos en los sistemas de destino. Estos incluyen agentes instalados en el sistema de destino, "agentes especiales" que se ejecutan en el servidor de monitoreo y se comunican con la API del sistema de destino, la API SNMP para monitorear, por ejemplo, dispositivos de red e impresoras, y protocolos HTTP / TCP para comunicarse con servicios web e internet. Por defecto, Checkmk sigue el "principio de extracción", es decir, los datos son consultados explícitamente por el sistema de monitoreo para identificar rápidamente cuando un sistema falla repentinamente y no responde a una "extracción". Sin embargo, como alternativa, se puede configurar un "push" con el que el sistema transfiere sus datos directamente a Checkmk oa un host intermedio.
Interfaz de datos ("Livestatus")
Livestatus es la interfaz principal de Checkmk. Proporciona acceso en vivo 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 proporciona un acceso rápido a la información sin sobrecargar demasiado el sistema. El acceso se realiza mediante un protocolo sencillo y es posible desde todos los lenguajes de programación sin necesidad de una biblioteca especial.
Web-GUI ("Multisitio")
Multisite es la GUI 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, una conexión LDAP integrada , acceso a datos de estado a través de servicios web y mucho más. Los paneles y las vistas se pueden diferenciar para varios usuarios o grupos de usuarios, por ejemplo , vistas específicas de vSphere [22] para administradores de VMware. La GUI web está disponible actualmente tanto en alemán como en inglés.
Administración web ("WATO")
La herramienta de administración web hace que un sistema basado en Checkmk sea completamente administrable a través del navegador . Esto incluye la administración de usuarios, roles, grupos, períodos de tiempo y más. Los permisos se pueden otorgar de forma granular utilizando un concepto de rol. Los controles de acceso basados en roles existentes (LDAP, AD) se pueden usar para esto. La WATO funciona en base a reglas, por lo que la configuración sigue siendo intuitiva incluso en entornos complejos, y el esfuerzo necesario es bajo. El descubrimiento y la configuración automáticos, así como la actualización automática del agente, 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.
Sistema de alerta
Se pueden configurar y 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 el horario de atención. Las notificaciones se pueden configurar para todos 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 sea notificado dos veces a través de un canal en particular. Además, los usuarios pueden configurar sus propias notificaciones por sí mismos. En entornos distribuidos, las alertas se pueden gestionar de forma centralizada. Para los problemas detectados, las acciones se pueden activar automáticamente (control de alarmas) a través de scripts. Checkmk incluye integraciones con pasarelas de correo electrónico y SMS , así como con soluciones de gestión de servicios de TI y comunicaciones como Slack , Jira , PagerDuty , OpsGenie, VictorOps y ServiceNow .
Inteligencia de Negocio
El módulo de BI está integrado en la interfaz gráfica de usuario. Agrega el estado general de los procesos comerciales, 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 usar para representar aplicaciones compuestas por microservicios, que a su vez consisten en implementaciones y pods 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.
Consola de eventos
La consola de eventos integra el procesamiento de mensajes de registro y capturas SNMP en el monitoreo. Se configura mediante un conjunto flexible de reglas y decide si los mensajes entrantes deben descartarse o cómo deben clasificarse. 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 syslog incorporado que recibe mensajes directamente en el puerto 514 y un receptor de trampas SNMP que recibe trampas en el puerto 162.
Gráficos de métricas
Las ediciones comerciales de Checkmk utilizan su propio sistema métrico y gráfico. Esto permite analizar las métricas de series de tiempo en intervalos prolongados utilizando 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 se pueden almacenar en el disco de un dispositivo de almacenamiento de datos a largo plazo.
Alternativamente, Graphite o InfluxDB se pueden conectar a través de una interfaz de exportación. A partir de la versión 1.5p16 de CEE también hay un complemento disponible para integrar datos directamente desde Checkmk en Grafana con fines de visualización. Checkmk Raw Edition utiliza actualmente PNP4Nagios como su sistema de gráficos.
Reportando
La generación de informes permite la entrega directa de informes en PDF , ad-hoc o automáticamente, a intervalos regulares. Incluye 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 tiempos no supervisados, ajustar la resolución o ignorar intervalos cortos. Además de los cálculos de disponibilidad, los informes también incluyen informes de SLA en los que se pueden supervisar SLA complejos. Los informes solo están disponibles en las versiones comerciales de Checkmk.
Inventario de hardware / software
El inventario de hardware / software se puede usar, por ejemplo, para monitorear 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 basadas en datos de monitoreo ). La base de datos de administración de configuración (CMDB) i-doit tiene una integración profunda que permite el intercambio de datos de CMDB con datos de monitoreo.
Ver también
- Cactus
- Icinga
- Nagios
- Monitor Op5
- Pandora FMS
- Zabbix
- Comparación de sistemas de monitoreo de red
Referencias
- ↑ tribe29 GmbH (19 de agosto de 2020). "Versión estable de Checkmk 1.6.0p16" . Anuncio de Checkmk .
- ^ "Checkmk EULA" (PDF) . tribe29 GmbH. Archivado desde el original (PDF) el 21 de agosto de 2019 . Consultado el 31 de mayo de 2019 .
- ^ "Casos de uso" . tribe29 GmbH . Consultado el 15 de junio de 2019 .
- ^ "Ediciones Checkmk" . tribe29 GmbH . Consultado el 27 de noviembre de 2015 .
- ^ "Monitoreo de TI de código abierto con Checkmk" . tribe29 GmbH . Consultado el 1 de julio de 2019 .
- ^ "Descargar versión" . tribe29 GmbH . Consultado el 10 de julio de 2019 .
- ^ "Agentes de seguimiento" . tribe29 GmbH . Consultado el 12 de junio de 2019 .
- ^ "Mathias Kettner (check_mk)" . Conoce a la comunidad . Empresas Nagios. 2009-08-17. Archivado desde el original el 6 de enero de 2012 . Consultado el 27 de noviembre de 2015 .
- ^ Rieger, Götz (3 de noviembre de 2012). "Einfach mal Nagios - Netzwerk-Monitoring mit OMD und Check_MK" (en alemán). c't . pag. 190 . Consultado el 27 de noviembre de 2015 .
- ^ Huber, Mathias (9 de marzo de 2011). "Nagios-Erweiterung Check_mk en la versión 1.1.10" (en alemán). Revista Linux . Consultado el 27 de noviembre de 2015 .
- ^ Siering, Peter (31 de mayo de 2017). "Sistema de monitorización Check_MK en frischer versión 1.4.0" (en alemán). Heise en línea . Consultado el 31 de mayo de 2017 .
- ^ Kettner, Mathias. "El micro núcleo Checkmk (CMC)" . Consultado el 5 de diciembre de 2018 .
- ^ "Anuncio de la comunidad Checkmk 1.5 Plus (1.5.p12)" . tribe29 GmbH. 2019-02-17 . Consultado el 11 de julio de 2019 .
- ^ "tribe29 - Nuestra historia" . tribe29 GmbH . Consultado el 14 de junio de 2019 .
- ^ Mueller, Christian (17 de abril de 2019). "Complemento de fuente de datos de Grafana" . GitHub . Consultado el 9 de julio de 2019 .
- ^ "Descubrimiento automático de servicios" . tribe29 GmbH . Consultado el 17 de febrero de 2017 .
- ^ "Monitorización de entornos altamente dinámicos" . tribe29 GmbH . Consultado el 7 de mayo de 2019 .
- ^ "Integración de Ansible con Checkmk" . GitHub . 2019-05-01 . Consultado el 8 de mayo de 2019 .
- ^ "Integración de sal con Checkmk" . GitHub . 2019-05-02 . Consultado el 9 de mayo de 2019 .
- ^ "Despliegue global de Check_MK en Faurecia" . 2018-10-23 . Consultado el 23 de octubre de 2018 .
- ^ "EDEKA Vortrag" (en alemán). 2017-05-12 . Consultado el 12 de mayo de 2017 .
- ^ Heike Jurzik, Marcel Arentz (1 de julio de 2019). "vSphere-Monitoring mit Checkmk" (en alemán). Linux-Magazin . Consultado el 2 de julio de 2019 .
enlaces externos
- Página web oficial
- Monitoreo por computadora con la distribución de monitoreo abierto (Kelvin Vanderlip, 2012-03-01)
- Uso de la distribución de monitoreo abierto (Nagios) para monitorear sistemas complejos de hardware / software (Joe VanAndel, 2012-03-29)