De lo terrenal y lo divino con Checkmk

Sin duda actualmente las arquitecturas híbridas, que combinan el clásico entorno “on premise” con la llamada nube, están al orden del día. En este caso es imprescindible contar con herramientas que nos permitan controlar ambos mundos, para que nos indiquen su estado y nos avisen si hay algún problema. Es aquí donde entra la herramienta de la que os voy a hablar hoy. Se trata de Checkmk, un proyecto inicialmente basado en Nagios, como tantos otros, pero que ha evolucionado para ser una pieza ideal para controlar ambos mundos.

Logo oficial de checkmk

¿Qué es Checkmk?

Checkmk comprueba de forma constante el funcionamiento de cualquier entorno TI moderno, donde su principal fuerte son las arquitecturas híbridas. Por una parte, Checkmk es flexible y admite trabajar con contenedores, elementos de la nube y sistemas locales, cono elementos de red, como switches o routers y claro está, servidores.

Además, es realmente fácil de comenzar a utilizar y administrar, ya que Checkmk buscar facilitarnos la vida, con alertas automáticas basadas en muchas experiencias previas en el mundo de TI y otras funciones inteligentes, que nos ahorrarán mucho tiempo.

Lo más probable si somos una pequeña empresa que está empezando o simplemente le queremos echar un vistazo tenemos dos opciones para utilizarlo. La primera es Checkmk Raw Edition, que es completamente de código abierto y de uso gratuito sin ninguna limitación. Por otra parte, tenemos la edición de prueba de Checkmk Enterprise, que nos dará 30 días de margen para probarlo, y que al pasar este tiempo nos dejará un máximo de 30 elementos para monitorizar.

¿Cómo funciona Checkmk?

Checkmk puede monitorizar aplicaciones, servidores, bases de datos, elementos de red, microservicios (contenedores), elementos de almacenamiento y mucho más. Proporciona una lista de más de 2000 elementos de monitoreo. Con estos complementos, Checkmk se puede utilizar para controlar tecnologías específicas de diferentes proveedores, como, por ejemplo, Docker, Kubernetes, Nginx, Cisco, VMWare, GNU/Linux, Windows, AWS o Dell, por citar algunos populares.

Otra de las partes interesantes de Checkmk son las métricas y las alertas que nos ofrece. Con su función de detección automática, puede identificar más del 90% de los servicios y dispositivos. Además, permite el escalado de la capacidad de monitoreo desde decenas de hosts a miles con facilidad y aprovechar sus agentes disponibles para la automatización.

Instalación de Checkmk en Rocky Linux 8.5

Checkmk se puede instalar y configurar como servidor centrar de diferentes maneras, incluso puede funcionar desplegado en un entorno con contenedores, como Kubernetes. En mi caso, como un primer vistazo, lo voy a instalar en un sistema operativo con Rocky Linux 8.5. Utilizando los VPS ofrecidos por mi proveedor de confianza Clouding.io

Habilitar repositorios

Antes de empezar debemos habilitar el repositorio EPEL, imprescindible para la instalación del producto:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

También habilitamos el repositorio llamado PowerTools:

dnf config-manager --set-enabled powertools

Una vez hecho esto actualizamos el sistema:

yum update
Configurar SELinux y el cortafuegos

En mi caso he deshabilitado SELinux, pero si lo queremos utilizar debemos añadir estas reglas:

setsebool -P httpd_can_network_connect 1
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
Descargar e instalar Checkmk

En mi caso he ido a la web oficial de Checkmk, y he escogido la versión RAW, que he comentado antes, para así descargar el fichero RPM:

wget https://download.checkmk.com/checkmk/2.1.0p24/check-mk-raw-2.1.0p24-el8-38.x86_64.rpm

Descargamos también su llave GPG

wget download.checkmk.com/checkmk/Check_MK-pubkey.gpg

La instalamos:

rpm --import Check_MK-pubkey.gpg

Y comprobamos que sea correcta:

rpm -K check-mk-raw-2.1.0p1-el8-38.x86_64.rpm

Para después realizar la instalación:

yum install check-mk-raw-2.1.0p24-el8-38.x86_64.rpm

Junto al propio producto se instalarán también una serie de dependencias como servicios necesarios y librerías.

Una vez hecho esto comprobamos la versión instalada:

omd version

Configurando nuestro Checkmk

Todavía no hemos acabado, ahora nos toca crear nuestra instancia de Checkmk, ya que este producto funciona con instancias. Ahora como veremos por normal general solo se utiliza una.

Creamos nuestra instancia asignándole un nombre, por ejemplo «monitor»

omd create monitor

Con este resultado por mi parte:

Resultado tras instalar la instancia

Tal y como se indica el usuario administrador es “cmkadmin” más la contraseña que nos proporciona y que se siempre podemos cambiar, tal y como indican las instrucciones.

Para poder empezar tenemos que iniciar la instancia:

omd start monitor

Con el resultado:

Encendemos la instancia

De esta manera ya podemos acceder vía web:

Primer vistazo a checkmk recién instalado

Por hoy lo dejamos aquí, ya que ha quedado algo extensa la entrada. Mi intención es hablar de cómo añadir nuevos equipos y servicios a monitorizar, para ver cómo funciona esta herramienta. No os quiero dejar con la miel en los labios, pero esta Checkmk me está sorprendiendo y mucho, de verdad. Estad atentos 😉

Fuentes consultadas

Docks Checkmk – Install checkmk in Red Hat and Centos

Checkmk.com – Checkmk herunterladen und installieren

Redessy.com – Cómo instalar y configurar Checkmk en CentOS 8 / RHEL 8

Geekflare.com – Checkck monitoring