Cómo empezar con Checkmk
El monitoreo de la infraestructura de TI es complejo, pero herramientas como Checkmk pueden hacerlo más fácil.
Muchas organizaciones han agregado tecnologías nativas de la nube a sus pilas de tecnología para mejorar el rendimiento de sus productos. Al mismo tiempo, a menudo continúan administrando su propia red e infraestructura local. Este cambio a la infraestructura híbrida debe abordarse en el monitoreo debido a la gran cantidad de métricas que se generan por segundo para varios componentes, como sistemas operativos, almacenamiento, servidores, entornos de nube, etc. Ambos son importantes para garantizar que la aplicación funcione al máximo rendimiento.
Estas métricas son señales importantes para que los equipos de DevOps comprendan el estado de su infraestructura. Es por eso que las organizaciones necesitan una solución de monitoreo que les ayude a identificar rápidamente los problemas en la producción a través de métricas, visualización y análisis. Checkmk es una de las herramientas de monitoreo de infraestructura más populares y útiles. En este artículo, te diré por qué Checkmk merece una sólida reputación y cómo puedes dar tus primeros pasos.
¿Qué es Checkmk?
Checkmk verifica continuamente la funcionalidad de cualquier aspecto de un entorno de TI moderno, especialmente para infraestructuras híbridas. Por un lado, Checkmk es muy flexible y admite contenedores, activos en la nube y sistemas locales como conmutadores y servidores. Por otro lado, es realmente fácil iniciar y administrar su monitoreo porque Checkmk viene con alertas automáticas basadas en mucha experiencia en TI y otras funciones inteligentes que pueden ahorrarle mucho tiempo.
Si desea usar Checkmk de forma gratuita, tiene dos opciones: primero, puede elegir Checkmk Raw Edition, que es completamente de código abierto y de uso gratuito sin ninguna limitación.En segundo lugar, hay Prueba empresarial de Checkmk Tiene todas las características adicionales de Checkmk Enterprise Edition, pero está limitado a 25 hosts después de 30 días.
¿Cómo soluciona Checkmk este problema?
Checkmk puede monitorear aplicaciones, servidores, bases de datos, redes, contenedores, almacenamiento y más. Proporciona una lista masiva de más de 2000 complementos de monitoreo. Con estos complementos. Checkmk se puede ampliar para monitorear tecnologías específicas de diferentes proveedores en el mercado. Algunos complementos populares de Checkmk están disponibles para Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Con más de 2000 complementos, Checkmk es una solución de monitoreo de infraestructura muy prometedora actualmente disponible.
Además, qué tan rápido y correcto pueden leer las métricas y establecer alertas y notificaciones inteligentes es fundamental para cualquier solución de monitoreo. Las soluciones de Checkmk cumplen todos estos criterios. Con su función de detección automática, Checkmk puede identificar más del 90 % de los servicios y dispositivos. La mayoría de las empresas ahora requieren escalabilidad y automatización. Puede escalar fácilmente su capacidad de monitoreo de cientos a miles de hosts en Checkmk y aprovechar sus agentes disponibles para la automatización.
Instalar Checkmk en un contenedor Docker
En este artículo, instalaré Checkmk Raw Edition en un contenedor Docker en un servidor Linux con Ubuntu 20.04.Desde Dockerhub, puede descargar Contenedor acoplable CheckmkTiene casi 5 millones de extracciones hasta el momento, lo que habla de la popularidad y el uso generalizado de Checkmk.
Obtenga una imagen de Docker con la última versión de Checkmk y ejecútela en un contenedor con docker container run
.
docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest
El nombre del contenedor será «supervisión» y el servidor web escuchará en el puerto 5000 y se abrirá en el puerto 8080 del nodo. El contenedor utilizará el sistema de archivos temporal y la zona horaria local.
[email protected]:~$ sudo docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v/omd/sites --name monitoring -v/etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest
Unable to find image 'checkmk/check-mk-raw:2.0.0-latest' locally
2.0.0-latest: Pulling from checkmk/check-mk-raw
33847f680f63: Pull complete
474905f2790b: Pull complete
1804f0e63047: Pull complete
f36fe6334464: Pull complete
03c68dfa69cf: Pull complete
b60cfdb78e96: Pull complete
Digest: sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6
Status: Downloaded newer image for checkmk/check-mk-raw:2.0.0-latest
9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf
Puede verificar si la imagen de Docker se descarga ejecutando el comando docker images
.
[email protected]:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bitnami/node-exporter latest ba0f519ca49b 34 hours ago 104MB
checkmk/check-mk-raw 2.0.0-latest 097319702432 13 days ago 1.03GB
hello-world latest feb5d9fea6a5 7 weeks ago 13.3kB
ejecutar comando docker ps
Vea si el contenedor Checkmk se está ejecutando.
[email protected]:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9729e323a840 checkmk/check-mk-raw:2.0.0-latest "/docker-entrypoint.…" About a minute ago Up 59 seconds (health: starting) 6557/tcp, 0.0.0.0:8080->5000/tcp, :::8080->5000/tcp monitoring
3d3a95ed3c25 bitnami/node-exporter:latest "/opt/bitnami/node-e…" 25 hours ago Up 25 hours 9100/tcp node-exporter
Para obtener detalles de inicio de sesión para la interfaz web de Checkmk, imprima el registro del contenedor de Checkmk.
[email protected]:~$ sudo docker container logs 9729e323a840
### CREATING SITE 'cmk'
Adding /opt/omd/sites/cmk/tmp to /etc/fstab.
Going to set TMPFS to off.
Temporary filesystem already mounted
Updating core configuration...
Generating configuration for core (type nagios)...Precompiling host checks...OK
OK
Executing post-create script "01_create-sample-config.py"...OK
Created new site cmk with version 2.0.0p15.cre.
The site can be started with omd start cmk.
The default web UI is available at http://9729e323a840/cmk/
The admin user for the web applications is cmkadmin with password: ClFxBPre
For command line administration of the site, log in with 'omd su cmk'.
After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.
### STARTING XINETD
[ ok ] Starting internet superserver: xinetd.
### STARTING SITE
Temporary filesystem already mounted
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Starting redis...OK
Initializing Crontab...OK
### STARTING CRON
### CONTAINER STARTED
El contenedor Checkmk Docker se ejecutará de forma predeterminada en https://localhost:8080/cmk/check_mkLa salida del comando anterior te dice que el nombre de usuario es cmkadmin y la contraseña, en mi caso la contraseña es ClFxBPre. Abra la dirección en un navegador web e inicie sesión con sus credenciales.
Una vez que haya iniciado sesión, este es el «Panel principal» que aparecerá. Está vacío porque no ha agregado ningún host.
Supervisión de Docker con Checkmk
Por lo general, instalaría el agente Checkmk en la máquina que aloja los contenedores Docker y luego usaría el complemento Checkmk para Docker para monitorear todos los contenedores. Este complemento (mk_docker.py) utiliza Python-API de Docker para rastrear los contenedores de Docker y obtener una vista integral de su estado y rendimiento en tiempo real.Puedes leer más detalles sobre Supervisión de Docker con Checkmk En el sitio web de Checkmk.
Dado que solo hay un contenedor Docker ejecutándose en mi entorno Docker, mi contenedor Checkmk Docker, solo usaré el agente Checkmk que se ejecuta en el contenedor Docker y no instalaré Checkmk en mi host Docker. El agente está preinstalado en el contenedor Checkmk, por lo que solo agrego mi contenedor Checkmk como host.
Obtengamos la dirección IP del servicio Docker en ejecución usando ifconfig
en la terminal.
[email protected]:~$ ifconfig
docker0: flags=4163 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:59ff:fe8a:8ba8 prefixlen 64 scopeid 0x20
ether 02:42:59:8a:8b:a8 txqueuelen 0 (Ethernet)
RX packets 5559 bytes 7230215 (7.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4164 bytes 614703 (614.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163 mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::144a:4682:35e7:bb2 prefixlen 64 scopeid 0x20
ether 08:00:27:91:82:82 txqueuelen 1000 (Ethernet)
RX packets 699491 bytes 1044235622 (1.0 GB)
RX errors 0 dropped 7 overruns 0 frame 0
TX packets 101260 bytes 7555470 (7.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 20655 bytes 8446042 (8.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20655 bytes 8446042 (8.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth44ba5ce: flags=4163 mtu 1500
inet6 fe80::145f:1fff:fee9:a7b0 prefixlen 64 scopeid 0x20
ether 16:5f:1f:e9:a7:b0 txqueuelen 0 (Ethernet)
RX packets 5559 bytes 7308041 (7.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4173 bytes 616263 (616.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vetha82ee43: flags=4163 mtu 1500
inet6 fe80::585c:6fff:fe0a:a79b prefixlen 64 scopeid 0x20
ether 5a:5c:6f:0a:a7:9b txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92 bytes 9799 (9.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
En mi caso, el servicio Docker se estaba ejecutando. 172.17.0.1
El siguiente paso es agregar el servicio Docker como host en Checkmk para que pueda ser monitoreado.
- Vaya a Checkmk y haga clic en Configuración -> Alojamiento.
- Ahora proporcione el nombre de host y la dirección IP y haga clic en Guardar e ir a la configuración del servicio.
- Una vez que haga esto, Checkmk iniciará automáticamente el descubrimiento de servicios.
Desplácese hacia abajo para ver los servicios de supervisión que se ejecutan en el host de Docker. Puede ver que el servicio actualmente no está siendo monitoreado. Si desea monitorear todo, la solución más fácil es hacer clic en «Reparar todo». También puede hacer esto en detalle si desea configurar qué servicios deben ser monitoreados.hacer clic + Firme si desea monitorear el servicio.
Después de seleccionar los servicios para monitorear, aparecerán en la pestaña Servicios monitoreados. Obtendrá todos los detalles del estado de cada servicio que supervise.si haces clic ? Regístrese y el servicio se moverá a la lista de servicios pendientes.si haces clic X Regístrese y el servicio se moverá a la pestaña Servicios para discapacitados.
He deshabilitado cuatro servicios para poder verlos en la pestaña de servicios deshabilitados.
Después de agregar servicios, debe activar los cambios antes de que entren en producción.
- Haga clic en el campo resaltado con un signo de exclamación amarillo (!) Ver cambios pendientes en la esquina superior derecha.
- hacer clic Activar en sitios web seleccionados.
¡Ha monitoreado con éxito el servicio Docker con Checkmk!
En conclusión
Esto es Checkmk, una herramienta de monitoreo de infraestructura. Esta es una herramienta muy fácil de usar que debe probar para monitorear su entorno de producción.recomiendo probar Edición gratuita de Checkmk Inicie su seguimiento.