Hay toneladas de herramientas disponibles para monitorear su infraestructura de TI. Esto incluye monitorear los servidores, contenedores, bases de datos, aplicaciones y más de Linux.
Los servicios como BetterUptime son convenientes y los usamos para monitorear el tiempo de inactividad.
Sin embargo, para un control más granular, prefiero implementar herramientas como Prometheus con el hermoso tablero de Grafana.
Recientemente, me encontré con un proyecto que brinda una vista completa de su infraestructura de TI en un período de tiempo muy corto.
Checkmk para monitorear la infraestructura de TI
Con Checkmk, puede aprovechar de forma eficaz las potentes funciones de supervisión para vigilar no solo los servidores, sino también las redes, las nubes, los contenedores y las aplicaciones.
Checkmk está disponible en dos ediciones principales. La edición empresarial administrada cuesta dinero, pero tiene más funciones.
También tiene una edición gratuita y de código abierto llamada Checkmk Raw Edition (RE).
Voy a mostrar cómo implementar y configurar Checkmk RE para monitorear sus servidores.
Configuración de Checkmk RE para administrar servidores Linux
Lo guiaré en un recorrido por Checkmk RE y le mostraré cómo puede instalarlo, configurarlo y finalmente usarlo. He seguido la documentación oficial y, sinceramente, me pareció bastante más complejo de configurar en comparación con las herramientas anteriores que había explorado.
Por lo tanto, decidí centrarme en mejorar esa experiencia a través de este artículo.
Antes de comenzar, me gustaría reiterar que, al igual que Cockpit, no se recomienda instalar una versión Docker de Checkmk Raw Edition en la práctica general.
Instala Checkmk RE en el servidor que deseas monitorear
Debe tener instalado Checkmk RE y el agente Checkmk para poder monitorear su servidor. En este momento de revisión, he probado la versión 2.0.0p7.
Descargar el paquete necesario
Para este tutorial, primero descargaré Checkmk RE en un servidor Ubuntu 20.04:
wget https://download.checkmk.com/checkmk/2.0.0p7/check-mk-raw-2.0.0p7_0.focal_amd64.deb
Verificar el paquete Checkmk
Instalar dpkg-sig
para la verificación del paquete. También asegúrese de que gpg
está instalado.
sudo apt -y install dpkg-sig gpg
Una vez hecho esto, obtenga la clave gpg:
[email protected]:~$ gpg --keyserver keyserver.ubuntu.com --recv-keys 434DAC48C4503261
gpg: directory '/home/avimanyu/.gnupg' created
gpg: keybox '/home/avimanyu/.gnupg/pubring.kbx' created
gpg: /home/avimanyu/.gnupg/trustdb.gpg: trustdb created
gpg: key 434DAC48C4503261: public key "Check_MK Software Release Signing Key (2018) <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1
[email protected]:~$ gpg --armor --export 434DAC48C4503261 > Check_MK-pubkey.gpg
Agregue la clave pública recién obtenida:
[email protected]:~$ sudo apt-key add Check_MK-pubkey.gpg
OK
Ahora puede verificar el paquete Checkmk que acaba de descargar:
[email protected]:~$ dpkg-sig --verify check-mk-raw-2.0.0p7_0.focal_amd64.deb
Processing check-mk-raw-2.0.0p7_0.focal_amd64.deb...
GOODSIG _gpgbuilder B1E7106575B723F00611C612434DAC48C4503261 1625600497
GOODSIG
indica verificación exitosa. Ahora procedamos con la instalación.
Instalar Checkmk Raw Edition
Puedes usar apt
para instalar directamente el paquete descargado recientemente:
sudo apt -y install ~/check-mk-raw-2.0.0p7_0.focal_amd64.deb
Solo para estar seguro, por el bien de eso, asegúrese de que apache2
el servicio está activo y ese puerto 80 (usado por Apache) no está siendo usado por algún otro servicio.
[email protected]:~$ systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-07-14 17:30:18 UTC; 6s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 46288 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 46309 (apache2)
Tasks: 55 (limit: 4617)
Memory: 7.1M
CGroup: /system.slice/apache2.service
├─46309 /usr/sbin/apache2 -k start
├─46310 /usr/sbin/apache2 -k start
└─46311 /usr/sbin/apache2 -k start
Crea tu interfaz de usuario web inicial (UI) para acceder por primera vez
Antes de comenzar a monitorear, primero debe crear su interfaz de usuario web con Open Monitoring Distribution (OMD).
Aquí, configuro el nuevo nombre del sitio como mysite
:
[email protected]:~$ sudo omd create mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type nagios)...Precompiling host checks...OK
OK
Restarting Apache...OK
Created new site mysite with version 2.0.0p7.cre.
The site can be started with omd start mysite.
The default web UI is available at http://localhost/mysite/
The admin user for the web applications is cmkadmin with password: KgjKy6wpR
For command line administration of the site, log in with 'omd su mysite'.
After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.
Una vez hecho esto, recibirá credenciales de acceso importantes junto con algunas instrucciones útiles para comenzar con su nueva interfaz de usuario. Recomendaría guardar la salida en un documento separado para su custodia.
Si tiene acceso físico al servidor, puede usar localhost
en el navegador web de esta manera.
localhost/mysite
En cualquier caso, puede acceder a la configuración con la dirección IP pública de su servidor. Por ejemplo, si su dirección IP es 1.2.3.4, su URL de acceso sería:
1.2.3.4/mysite
En caso de que tenga un nombre de dominio (por ejemplo, checkmk.domain.com), use:
checkmk.domain.com/mysite
A continuación, debería ver una interfaz de inicio de sesión como esta:
Usando las credenciales obtenidas después de crear mysite
, inicie sesión en Checkmk. El nombre de administrador predeterminado, como habrás notado, es cmkadmin
.
Instalar el Agente Checkmk
Para poder agregar hosts (servidores), ahora debe instalar Checkmk Agent a través de una instalación de paquete. La URL de descarga del paquete se puede obtener siguiendo los siguientes pasos:
Vaya a Configuración y elige Linux bajo los Agentes submenú:
Localice el paquete Debian (ya que estoy usando Ubuntu):
Haga clic derecho y copie la URL en su navegador (Firefox en este caso):
Una vez que copie la URL, descárguela en el servidor con wget
. Suponiendo que la IP es 1.2.3.4
, el comando correspondiente sería:
wget http://1.2.3.4/mysite/check_mk/agents/check-mk-agent_2.0.0p7-1_all.deb
Una vez completada la descarga, instale el paquete del agente:
sudo apt -y install ~/check-mk-agent_2.0.0p7-1_all.deb
Ahora está listo para agregar servidores como hosts para monitorear actividades en Checkmk.
Preparación de Checkmk para monitorear su(s) servidor(es)
Comience a agregar el servidor host según cada uno de los pasos compartidos a continuación.
Comience en Configuración > Anfitriones > Anfitriones .
Seleccione "Agregar host al monitoreo" (repita este paso para agregar más servidores).
Introduzca el nombre de host como localhost
y seleccione "Guardar e ir a pruebas de conexión ”(Utilice la IP pública del servidor o el nombre de dominio como nombre de host para servidores remotos).
Espere a que se completen las pruebas de conexión.
Una vez que se completen las pruebas, haga clic en "detección de servicios ”.
Seleccione "Reparar todo ” para diagnosticar “Servicios indecisos ”.
Ahora haz clic en “3 cambios ” ubicado en la parte superior derecha con el círculo amarillo que tiene un signo de exclamación. El número de cambios puede variar de un usuario a otro.
Seleccione "Activar en sitios seleccionados ”.
Espere a que se complete la activación.
Una vez completada la activación, notará "Éxito" en la barra de progreso que eventualmente se volverá verde:
En esta etapa, cerraré sesión y volveré a iniciar sesión para volver a confirmar que Checkmk está monitoreando el servidor que acabo de agregar:
Supervisar su(s) servidor(es) con Checkmk
Al volver a iniciar sesión con éxito, notará un hexágono verde que revela su servidor recién agregado en el tablero principal:
Ahora, navega a Monitor > Sistema > Panel de control Checkmk :
Submenú del sistema para una breve descripción general de la supervisión de su servidor" loading="lazy" width="567" height ="523">
Tenga en cuenta que es diferente del panel principal visto anteriormente en el primer inicio de sesión después de agregar el host. En este panel de Checkmk , puede ver una breve descripción general de la supervisión de su servidor. Haga clic en localhost
:
Una vez que haga clic en él, finalmente verá la página de monitoreo genérico para un servidor, que consta de las métricas comúnmente conocidas, a saber:
- Carga de CPU
- RAM usada
- Rendimiento del disco
- Tamaño del sistema de archivos y espacio utilizado
- Fallos de página importantes
- Latencia de disco promedio
- Red
Debe navegar a esta interfaz de la manera descrita anteriormente cada vez que desee monitorear su servidor. Pero también puede crear un marcador basado en la siguiente URL para abrirlo rápidamente y acceder a él con regularidad:
http://localhost/mysite/check_mk/dashboard.py?host=localhost&name=checkmk_host&site=mysite
En la URL anterior, reemplace localhost
con tu propia IP de servidor o dominio. Además, reemplace mysite
con el nombre del sitio que configuró.
Sugerencia adicional:Supervisión de métricas específicas
Si desea monitorear métricas específicas del servidor con detalles vívidos, Checkmk lo tiene cubierto. Por ejemplo, si desea monitorear la carga o el uso de la CPU en profundidad e individualmente, siga los pasos a continuación:
Vaya a Supervisar > Resumen > Todos los hosts
Haga clic en localhost
:
Ahora haga clic en "Carga de CPU" o "Utilización de CPU". Tenga en cuenta que hay muchas otras métricas que puede controlar de forma individual.
Aquí, he seleccionado "Carga de CPU":
Como puede observar, esta métrica detallada en Checkmk permite monitorear la carga de la CPU en función de una variedad de parámetros basados en el tiempo.
Espero que encuentre útil esta guía y pruebe esta prometedora herramienta por su cuenta, ya sea en su servidor o incluso en su sistema de escritorio. Si desea agregar comentarios, ideas o comentarios, hágalo en la sección a continuación.