![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Checkmk en un contenedor Docker
En nuestra guía de instalación de Checkmk en Docker ya te hemos mostrado cómo configurar Checkmk en un contenedor Docker. En este artículo veremos más detalles.
2. Parámetros opcionales durante la configuración
Todos los parámetros siguientes se especifican adicionalmente al configurar un site Checkmk como contenedor y, por tanto, no están disponibles por separado.
2.1. Usar HTTPS
Si Checkmk es el único servidor web de tu nodo Docker, también puedes vincular el puerto al puerto HTTP estándar (80
). Sin embargo, en cuanto tengas varios servidores web en un nodo Docker, probablemente utilizarás un proxy inverso como Nginx, que dirige las consultas al contenedor correcto. Con esta tecnología también puedes utilizar HTTPS (posiblemente preexistente). El proxy inverso se dirigirá entonces a través de HTTPS, mientras que la comunicación con el contenedor continúa a través de HTTP.
2.2. Establecer una contraseña inicial
En Checkmk, al crear un site se crea una contraseña aleatoria para el usuario por defecto cmkadmin
. Al crear un contenedor Checkmk también puedes asignar una contraseña manualmente. Sólo tienes que añadir la opción -e CMK_PASSWORD='mypassword'
durante el proceso de creación.
2.3. Establecer tu propio ID de site
Con el comando predeterminado para crear un contenedor Checkmk, el ID del site creado en el contenedor será cmk
. Esto es importante para poder acceder al site a través de HTTP(S) y, por tanto, debe ser explícito. Si tienes varios contenedores Checkmk en el mismo nodo Docker, tendrás que establecer el ID manualmente para garantizar esta unicidad. Puedes hacerlo incluyendo la opción -e CMK_SITE_ID=mysite
. El comando completo podría tener este aspecto:
root@linux# docker container run -e CMK_SITE_ID="mysite" -dit -p 8080:5000 -p 8000:8000 --tmpfs /opt/omd/sites/mysite/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.1.0-latest
Presta atención a indicar también el ID de tu site en la ruta de la opción --tmpfs
(en este ejemplo mysite
).
2.4. Envío de notificaciones
Una característica importante de Checkmk es el envío denotificaciones por correo electrónico. Checkmk utiliza Postfix como MTA (Agente de Transferencia de Correo) para los correos salientes. Esta instancia de Postfix está configurada para no entregar los correos directamente al destinatario, sino que básicamente intenta reenviarlos a un servidor de correo adicional (servidor de retransmisión SMTP, smarthost) que debes proporcionar fuera del contenedor. Casi todas las organizaciones disponen de un servidor de retransmisión de este tipo.
Al implementarlo, especifica el servidor de correo de retransmisión que reenviará las notificaciones. En la opción -e
, utiliza la variable MAIL_RELAY_HOST
- por ejemplo, -e MAIL_RELAY_HOST='mailrelay.mydomain.com'
. Si el servidor de correo espera un nombre del host específico, añade la siguiente opción: --hostname 'mymonitoring.mydomain.com'
.
Actualmente, los contenedores Checkmk no admiten la configuración de datos de acceso para un host inteligente. Puedes vincular una configuración de Postfix o una carpeta de configuración desde el nodo Docker si las necesitas.
Si utilizas una de las ediciones comerciales, puedes eludir postfix por completo para que Checkmk reenvíe las notificaciones directamente a un smarthost. Esto se hace mediante elSMTP síncrono, que se describe en detalle en el artículo sobre notificaciones. Aquí también es posible una autenticación a través de SMTP.
2.5. Acceso a Livestatus a través de TCP
En cuanto conectes varios contenedores/sitios Checkmk en un entorno distribuido, necesitarás un puerto TCP especial para la interfaz Livestatus. Esta interfaz permite la comunicación entre los sites. Vincula este puerto -al igual que el puerto para HTTP- a uno de los nodos Docker, y habilita este puerto TCP en el site de Livestatus: -e
CMK_LIVESTATUS_TCP=on -p 6557:6557
.
2.6. Acceso a través de la línea de comandos
En algunos casos querrás ejecutar comandos en la línea de comandos. Como los comandos para un site siempre se ejecutan a través de un usuario especial, debes especificarlo al iniciar sesión. En Checkmk el usuario siempre tiene el mismo nombre que el site que gestiona. Especifica el usuario cmk
con la opción -u cmk
:
root@linux# docker container exec -it -u cmk monitoring bash
Entonces podrás pasar tus comandos al site.
2.7. Uso de la Consola de eventos
Checkmk puede recibir Traps SNMP y mensajes syslog. Para poder utilizar esta función en un contenedor Checkmk, se deben proporcionar los puertos estandarizados al contenedor Checkmk con las siguientes opciones: -p
162:162/udp -p 514:514/udp -p 514:514/tcp
. Para que el propio site también respete estos puertos, activa a continuación los complementos adecuados en el site con omd config
. Puedes encontrarlos en el submenú Addons
:
root@linux# docker container exec -it -u cmk monitoring bash
OMD[mysite]:~$ omd config
3. Comandos útiles
Comando | Función |
---|---|
|
Con este comando puedes obtener todo tipo de información sobre un contenedor en ejecución con el nombre |