![]() |
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. Introducción
La actualización de Checkmk es un poco diferente a la de la mayoría de paquetes de software con los que puedes estar familiarizado ¿Por qué?
La razón es que Checkmk no sólo permite ejecutar varios sitios independientes en un único servidor, sino que también permite instalar varias versiones de software simultáneamente. Con este sistema, cada site se asigna a una versión instalada del software. Para ilustrarlo, podemos tomar la siguiente situación en un servidor ficticio:

Aquí el site mysite1
utiliza la versión 2.0.0p3.cee
, pero los sites mysite2
y mysite3
utilizan la versión 2.0.0p1.cre
. Aunque se ha instalado Checkmk-Version 2.0.0p1.cfe
, actualmente no se está utilizando.
Este ejemplo deja claro que una actualización no significa simplemente la instalación de un nuevo paquete Checkmk RPM/DEB en un servidor. También se requiere un paso adicional. Tomemos como ejemplo la siguiente situación:

En este caso, el site mysite
debe actualizarse a la versión de Checkmk 2.0.0p3.cee
. El primer paso consiste en descargar e instalar el paquete RPM/DEB adecuado. Esto se realiza exactamente igual que en la instalación inicial. Al principio, la versión recién instalada no será utilizada por ningún site, y tendrá este aspecto:

El segundo paso consistirá en actualizar el site de 2.0.0p1.cre
al de 2.0.0p3.cee
. Esto se realiza con el comando omd update
, del que hablaremos en detalle más adelante:

Tras la actualización, la versión (probablemente) ya no necesaria 2.0.0p1.cre
puede eliminarse desinstalando el paquete correspondiente.
2. Antes de la actualización
Si estás pensando en actualizar Checkmk de la versión 2.2.0 a la versión 2.3.0, primero deberías leer el artículo Actualización a la versión 2.3.0, en el que hemos recopilado las cuestiones más importantes que debes tener en cuenta antes y después de dicha actualización.
Sin embargo, aunque ya tengas instalada una versión 2.3.0 y quieras actualizar a una nueva versión de parche estable de 2.3.0, los temas descritos en las siguientes secciones pueden seguir siendo relevantes.
2.1. Actualización a versiones mayores
Al actualizar a una versión mayor, siempre debes actualizar paso a paso a través de las versiones intermedias disponibles hasta llegar a la versión de destino, y no saltarte ninguna versión intermedia. Por ejemplo, si quieres actualizar de la versión 2.1.0 a la versión 2.3.0, primero actualiza a la versión intermedia 2.2.0. La razón de este procedimiento es sencilla: a veces simplemente hay tantos cambios entre dos versiones mayores que saltarse versiones puede causar problemas.
El comando omd update
también permite una "actualización" a una versión inferior. Este procedimiento sólo está previsto para las regresiones. Tras una actualización de este tipo en sentido inverso, serán necesarios muchos ajustes para que la configuración y el entorno de ejecución vuelvan a ser compatibles, especialmente, pero no sólo, en el caso de una "actualización" a una versión principal inferior. Por tanto, desaconsejamos encarecidamente este procedimiento y, además, dejaremos de prestar asistencia en el caso de una actualización a una versión inferior.
2.2. MKPs incompatibles y obsoletos
Tu sistema de monitorización puede ampliarse de forma bastante fácil y cómoda utilizando los paquetes de ampliación de Checkmk (MKP). Por un lado, es posible que algunos MKP antiguos ya no reciban mantenimiento y, por tanto, dejen de ser compatibles con las versiones más recientes de Checkmk. Por otro lado, seguimos añadiendo nuevos Plugin y ampliaciones funcionales a Checkmk, por lo que a veces los MKP se quedan obsoletos. La funcionalidad de esos Plugin y ampliaciones simplemente la proporciona el propio Checkmk de serie.
Por esta razón, cuando te prepares para una actualización, es muy recomendable que revises todos los MKP instalados. Así evitarás que paquetes incompatibles interfieran con la actualización, o que se produzcan servicios duplicados o al menos muy similares tras la actualización.
Para ello, comprueba los MKP que tienes instalados con nuestro Catálogo de Plugins de Checkmk y elimina los paquetes que contengan funciones que ahora proporciona Checkmk de forma nativa. También puedes aprovechar esta oportunidad para eliminar MKP que quizá sólo se hayan instalado para una prueba. Encontrarás una lista en el menú Setup, en Maintenance > Extension packages. En la línea de comandos, puedes mostrar las extensiones instaladas con el comando mkp list
. Comprueba la salida de este comando para ver si hay extensiones que ya no necesites o que ni siquiera puedas identificar.
Checkmk admite la instalación de MKPs para una versión más reciente que la que se está ejecutando en ese momento, como preparación para futuras actualizaciones. Al realizar una actualización, se desactiva el paquete de la versión inferior de Checkmk y se activa el paquete de la versión superior. Los detalles se explican en el artículo sobre el uso de MKPs.
Precaución:Si has realizado cambios locales en archivos que originalmente procedían de MKPs, vuelve a empaquetar el MKP después de aumentar el número de versión. Durante una actualización, los archivos que hayan sido modificados de otro modo serán sobrescritos por los que contenga el MKP.
2.3. Archivos locales
Los archivos locales te permiten personalizar y ampliar la funcionalidad proporcionada por Checkmk. Estos archivos se encuentran en la parte local de la estructura del directorio del site, es decir, en ~/local
. Los archivos locales pueden causar problemas al actualizar, ya que es posible que dejen de coincidir con la nueva versión de Checkmk.
Puesto que no es posible que Checkmk intercepte y gestione las personalizaciones locales y cualquier extensión de terceros durante una actualización, debes comprobar tu site de Checkmk antes de una actualización para ver si utilizas archivos locales y cuáles.
Obtén una visión general de los archivos locales de tu sitio Checkmk ejecutando el siguiente comando como usuario del site (donde la opción -L
garantiza que también se sigan los enlaces simbólicos):
OMD[mysite]:~$ find -L ~/local -type f
En una instalación nueva de Checkmk, actualmente sólo verás en la lista un archivo llamado README.TXT
. Cualquier cosa más allá de eso debería estar en lo alto de tu lista de solución de problemas en caso de que tengas problemas de actualización.
Lo ideal es que los archivos locales ya estén completamente empaquetados en MKPs. Utiliza mkp find
para identificar los archivos sin empaquetar. Para más detalles sobre la creación de paquetes, consulta nuestro artículo sobre paquetes de extensiones Checkmk. Una vez empaquetada, cada extensión puede desactivarse o reactivarse como un elemento completo.
2.4. Copia de seguridad y ejecución de pruebas
No hace falta que te recordemos la importancia de crear una copia de seguridad inmediatamente antes de cualquier actualización, para que no te arriesgues a perder demasiado de tu historial de monitorización en caso de que se produzca un fallo durante la actualización. Lo relevante en este punto es que una copia de seguridad regular también puede servirte para realizar pruebas de una actualización pendiente. Esta práctica te permite restaurar la copia de seguridad con un nombre alternativo, y luego utilizar el site newsite
para probar la actualización antes de que se ponga en marcha:
root@linux# omd restore newsite /path/to/backup
Alternativamente, también puedes copiar tu site a través de omd cp
. Para ello, sin embargo, es necesario detener un site activo durante un breve periodo de tiempo:
root@linux# omd stop mysite && omd cp mysite newsite && omd start mysite
A continuación, ejecuta primero la actualización en este nuevo sitio clonado, por ejemplo, para comprobar que los cambios locales mencionados anteriormente se han realizado en el nuevo entorno. Si las pruebas con el sitio clonado han sido satisfactorias, normalmente querrás eliminarlo o, al menos, detenerlo antes de la actualización real del sitio de producción por motivos de espacio y rendimiento.
![]() |
Desde Checkmk 2.3.0, si falla una actualización, se restablecerá el estado de la configuración anterior a la actualización. Una actualización puede fallar debido a un error interno inesperado, pero también a causa de la intervención del usuario durante el proceso de actualización, por ejemplo, seleccionando la opción de menú |
3. Actualización de Checkmk
3.1. Instalar nuevas versiones
Como se ha descrito en la introducción, el primer paso de una actualización es la instalación de la nueva versión deseada de Checkmk. Esto se hace exactamente igual que en la instalación inicial, aunque será algo más rápido, ya que la mayoría de los paquetes dependientes ya están instalados. En el siguiente ejemplo instalamos el paquete para Ubuntu 22.04 (Jammy Jellyfish):
root@linux# apt install /tmp/check-mk-enterprise-2.3.0p1_0.jammy_amd64.deb
Nota: Cuando instales un paquete local a través de apt install
, tienes que indicar la ruta de acceso al archivo .deb.
En cualquier momento puedes ver una lista de las versiones de Checkmk que tienes instaladas con el comando omd versions
:
root@linux# omd versions
2.1.0p42.cre
2.2.0p22.cee
2.3.0p1.cee (default)
Una de estas versiones de la lista se marca con (default)
. Esta versión por defecto se utilizará automáticamente al crear nuevos sites, siempre que no se especifique otra versión con omd -V myversion create mysite
. La versión por defecto actual puede consultarse con omd version
, y puede modificarse con omd setversion
:
root@linux# omd version
OMD - Open Monitoring Distribution Version 2.3.0p1.cee
root@linux# omd setversion 2.2.0p22.cee
root@linux# omd version
OMD - Open Monitoring Distribution Version 2.2.0p22.cre
La versión por defecto no desempeña ningún papel cuando se gestionan sitios existentes. El comando omd
siempre se inicia con la versión adecuada al site para el que se llama al comando.
El comando omd sites
proporciona una lista de los sites actuales y de las versiones que utilizan:
root@linux# omd sites
SITE VERSION COMMENTS
mysite 2.2.0p22.cee
test 2.3.0p1.cee default version
3.2. Realizar la actualización
Una vez instalada la nueva versión deseada, se puede actualizar el site. Para ello no es necesario ningún permiso root
. La mejor forma de hacerlo es como usuario del site:
root@linux# omd su mysite
Asegúrate de que el site se ha detenido:
OMD[mysite]:~$ omd stop
La actualización -de hecho, el cambio a una versión diferente- puede realizarse ahora simplemente con el comando omd update
:
OMD[mysite]:~$ omd update
Si hay más de una versión de destino disponible, se abrirá una lista de selección:

En la siguiente caja de diálogo, confirma la actualización seleccionada a la nueva versión:

Para mayor seguridad, cuando realices una actualización de edición de un Checkmk edición Raw a una de las ediciones comerciales al mismo tiempo que la actualización de versión, se te volverá a recordar este hecho:

Una parte importante de una actualización es el refresco de los archivos de configuración proporcionados originalmente. En este caso, los cambios que posiblemente haya realizado el usuario en estos archivos no se descartarán sin más, sino que se agruparán. Esto funciona de forma muy parecida a los sistemas de control de versiones, que intentan amalgamar los cambios realizados en un único archivo simultáneamente por varios desarrolladores.
Ocasionalmente -cuando los cambios afectan a la misma ubicación en el archivo- eso no funcionará, y se producirá un conflicto. Más adelante se explicará cómo resolver esos conflictos.
La actualización proporciona una lista de todos los archivos y directorios modificados (abreviada en el siguiente ejemplo):
2024-04-09 15:55:04 - Updating site 'mysite' from version 2.2.0p23.cee to 2.3.0p1.cee...
* Installed dir etc/default
* Updated etc/mk-livestatus/nagios.cfg
...
* Vanished etc/jmx4perl/config/websphere
* Vanished etc/jmx4perl/config
Creating temporary filesystem /omd/sites/mysite/tmp...OK
ATTENTION
Some steps may take a long time depending on your installation.
Please be patient.
Cleanup precompiled host and folder files
Verifying Checkmk configuration...
01/05 Rulesets...
02/05 UI extensions...
03/05 Agent based plugins...
04/05 Autochecks...
05/05 Deprecated .mk configuration of plugins...
Done (success)
Completed verifying site configuration. Your site now has version 2.3.0p1.cee.
Executing update-pre-hooks script "01_init_state_creation.py"...OK
Executing update-pre-hooks script "01_mkp-disable-outdated"...OK
Executing update-pre-hooks script "02_cmk-update-config"...
-| ATTENTION
-| Some steps may take a long time depending on your installation.
-| Please be patient.
-|
-| Cleanup precompiled host and folder files
-| Verifying Checkmk configuration...
-| 01/05 Rulesets...
-| 02/05 UI extensions...
-| 03/05 Agent based plugins...
-| 04/05 Autochecks...
-| 05/05 Deprecated .mk configuration of plugins...
-| Done (success)
-|
-| Updating Checkmk configuration...
-| 01/25 Cleanup microcore config...
...
-| 25/25 Update core config...
-| Generating configuration for core (type cmc)...
-| Starting full compilation for all hosts Creating global helper config...OK
-| Creating cmc protobuf configuration...OK
-| Done (success)
OK
Finished update.
Si aparece la línea Completed verifying site configuration
resaltada en la salida anterior, el site se ha cambiado a la nueva versión:
OMD[mysite]:~$ omd version
OMD - Open Monitoring Distribution Version 2.3.0p1.cee
... y ya puede iniciarse:
OMD[mysite]:~$ omd start
3.3. Cambios incompatibles
El desarrollo de software consiste, por supuesto, en cambios. Como siempre estamos trabajando activamente para mantener Checkmk moderno, a veces es inevitable recortar peso muerto y hacer cambios que resultan ser incompatibles. Eso significa que al actualizar posiblemente sea necesario adaptar tu configuración, o al menos deberías comprobarlo.
Un ejemplo típico de esta situación es el de los nuevos check plugin que sustituyen a los plugins existentes. Si utilizas uno de los plugins afectados, será necesario un nuevo descubrimiento de servicios en el host afectado.
Puedes encontrar una Vista general de todos los cambios en Checkmk, incluida una función de búsqueda, en nuestros Werks.
Sin embargo, es aún más práctica la función de búsqueda integrada en Checkmk. Después de iniciar sesión en el site, encontrarás un enlace resaltado en rojo en la parte superior del menú Help con el número de cambios incompatibles y aún no confirmados:

Checkmk realiza un seguimiento de los cambios incompatibles que se produjeron durante la actualización a la versión actual y te pide que los revises y, a continuación, los reconozcas:

Si abres esta página a través del enlace rojo del menú Help, sólo verás los "Werk" (es decir, los cambios) para los que hay que hacer algo y que, por tanto, están marcados con Incompatible - TODO. Puedes llamar a cada Werk individualmente, verlo y confirmarlo con un clic del ratón, y así reducir sucesivamente el número de cambios incompatibles abiertos. Además, el elemento de menú Help > Change log (works) te da acceso al historial completo de cambios de la versión principal actual.
3.4. La actualización en detalle
¿Tienes curiosidad por saber qué ocurre exactamente "bajo el capó" de una actualización? ¿O han aparecido conflictos de datos cuando se está ejecutando omd update
? Si es así, aquí tienes más información.
Durante omd update
tienen lugar tres acciones:
La actualización de los archivos por defecto en
~/etc/
y~/var/
, es decir, los archivos creados poromd create
.El cambio de la versión activa a la versión de destino modificando el enlace simbólico
version
que se encuentra en el directorio del site.El postprocesamiento mediante varios paquetes (por ejemplo, Checkmk). En concreto, se ejecutará automáticamente una activación de cambios para generar una configuración válida para el núcleo.
Actualizar archivos, agrupar cambios
El primer paso es, con diferencia, el más completo. Aquí Checkmk demuestra una gran ventaja en comparación con la típica instalación de software: Checkmk te ayuda a adaptar todos los archivos de configuración estándar a los requisitos previos de la nueva versión. Esto se parece al procedimiento de actualización de una distribución de Linux, pero va más allá en la implementación. Checkmk puede manejar una multiplicidad de situaciones, por ejemplo:
La agrupación de los cambios de archivos realizados por la actualización con cualquier cambio realizado localmente por el usuario.
Ficheros, directorios y enlaces simbólicos obsoletos en la nueva versión, o eliminados por el usuario.
Cambios en los permisos.
Cambios en el tipo de archivo (un enlace simbólico derivado de un archivo o directorio, o viceversa).
Cambios en el destino de un enlace simbólico.
Checkmk siempre se asegura de que se mantengan tus cambios locales, y de que se apliquen simultáneamente todos los cambios requeridos por la nueva versión.
Agrupar y conflictos
Si la nueva versión requiere cambiar un archivo de configuración en el que el usuario también ha realizado cambios, Checkmk intenta automáticamente agrupar ambos conjuntos de cambios, utilizando los mismos métodos que emplean los sistemas de control de versiones.
Los menores problemas se producen cuando tus cambios y los de Checkmk tienen una clara separación física en el texto (al menos unas pocas líneas de separación). Entonces, la fusión se efectuará automáticamente, y sin necesidad de que intervenga el usuario.
Si dos cambios "colisionan" porque ambos afectan al mismo lugar de los datos, Checkmk no puede decidir cuál de los cambios es más importante, ni lo hará. En tal situación, se te notificará como usuario y podrás resolver el conflicto de forma interactiva:

En la situación mostrada anteriormente, ahora tienes las siguientes opciones:
d |
Muestra las diferencias entre la nueva versión por defecto y tu versión del archivo en forma de "diff unificado" ( |
y |
Esto es similar a lo anterior, pero basándose en la versión por defecto anterior muestra los cambios que has hecho en el archivo. |
n |
Esta tercera opción "cierra el triángulo" mostrando los cambios que Checkmk pretende hacer en el archivo. |
e |
Resuelve el conflicto manualmente en un editor. |
t |
Al seleccionar t, tu archivo original -sin los cambios ya agrupados con éxito- se abrirá en un editor. Ahora edita el archivo para evitar posibles conflictos. Una vez cerrado el editor, Checkmk volverá a intentar agrupar. |
k |
Aquí puedes decidir si aceptas los datos "tal cual". Los cambios insertados con éxito se conservan. Aparte de esto, el archivo permanece tal y como lo personalizó el usuario. |
r |
Con esto puedes volver a la versión antigua de tu archivo, y prescindir de la actualización de Checkmk para este archivo. Cualquier personalización que pueda ser necesaria debe realizarse manualmente. |
i |
Instala la nueva versión por defecto del archivo: tus cambios en el archivo antiguo se perderán. |
s |
Si no estás seguro, puedes abrir un intérprete de comandos con s. Te encontrarás en un directorio que contiene el archivo correspondiente, y allí podrás hacerte una idea de la situación. Sal del intérprete de comandos con CTRL+D para proceder a la actualización. |
a |
Abortar la actualización. El site conserva la versión antigua y se restaura su configuración anterior. Puedes iniciar un nuevo intento de actualización en cualquier momento. |
Otras situaciones de conflicto
Además de la agrupación de contenidos de archivos, hay toda una serie de situaciones en las que Checkmk requiere tus decisiones. Algunas de ellas son situaciones muy inusuales que, sin embargo, deben tratarse correctamente. En estos casos, Checkmk siempre te dará la opción de mantener tu versión o de adoptar la nueva versión por defecto. Además, siempre existe la opción de abortar una actualización o de abrir un intérprete de comandos. Ejemplos de estas situaciones "difíciles" son:
cambios conflictivos en los tipos de archivos (por ejemplo, cuando se sustituye un archivo por un enlace simbólico)
cambios conflictivos en los permisos de los archivos
archivos modificados que no necesita la nueva versión del software
archivos, directorios o enlaces creados por un usuario, que entran en conflicto con los archivos/directorios/enlaces de la nueva versión
Explicación de la salida durante una actualización
El procedimiento de actualización siempre mostrará una línea de explicación cuando realice un cambio en un archivo de forma automática. Son posibles las siguientes situaciones: aquí se hace referencia a los archivos, pero también se aplica de forma análoga a los enlaces y directorios:
Actualizado |
Se ha modificado un archivo con la nueva versión. Como no has hecho ningún cambio en el archivo, Checkmk simplemente instala la nueva versión por defecto del archivo. |
Agrupado |
Se ha modificado un archivo con la nueva versión, y al mismo tiempo el usuario ha realizado otros cambios en el archivo. Ambas versiones del archivo pueden agruparse en una única versión sin conflicto. |
Idéntico |
Se ha modificado un archivo en la nueva versión, y al mismo tiempo el usuario ya ha realizado cambios idénticos en el archivo. Checkmk no debe realizar ninguna acción. |
Instalado |
La nueva versión incluye un nuevo archivo de configuración que acaba de ser instalado. |
Nuevo idéntico |
La nueva versión incluye un archivo del que el usuario ya ha instalado una copia idéntica. |
Obsoleto |
La nueva versión ha obsoleto un archivo (también se aplica a un enlace o a un directorio). De todas formas, el usuario ya lo ha eliminado. Sin acción. |
Desaparecido |
Otro archivo está obsoleto en el nuevo Checkmk, y el usuario no ha borrado ni modificado la versión existente. Checkmk borra este archivo automáticamente. |
No deseado |
El usuario ha borrado un archivo que normalmente está presente. Como la versión en el nuevo Checkmk no tiene cambios respecto a la última versión del archivo, Checkmk permite que el archivo esté ausente. |
Falta |
El usuario ya ha eliminado un archivo, pero en el nuevo Checkmk este archivo contiene cambios respecto a la versión anterior. Checkmk instala el nuevo archivo y registra una notificación de esta acción al usuario. |
Permisos |
Checkmk ha actualizado los permisos de un archivo porque en la nueva versión se han establecido permisos diferentes. |
3.5. Actualizar sin interacción del usuario
¿Te gustaría automatizar las actualizaciones de software de Checkmk? Al principio puedes tener dificultades con las respuestas interactivas de omd update
. Hay una solución sencilla para este caso: el comando tiene opciones que han sido especialmente concebidas para su uso en scripts:
Las opciones
-f
o--force
que siguen directamente aomd
inhiben todo tipo de preguntas del tipo "¿Estás seguro de que...?".La opción
--conflict=
que sigue directamente aupdate
determina el comportamiento deseado si se produce un conflicto de archivos.
Los valores posibles para --conflict=
son:
|
En caso de conflicto, se conserva la versión del archivo modificada por el propio usuario. Sin embargo, es posible que Checkmk no sea ejecutable y que sea necesaria una rectificación manual. |
|
En caso de conflicto, se instalará la nueva versión estándar del archivo. Con ello, los cambios locales del archivo se perderán, al menos en parte. |
|
En caso de conflicto, se cancela la actualización y se restaura la configuración anterior de la versión antigua, |
|
Este es el procedimiento estándar, por lo que en esta forma la opción es en realidad superflua. |
A continuación se muestra un ejemplo del comando completo para una actualización automatizada a la versión 2.3.0p1.cee
de mysite
:
root@linux# omd stop mysite ; omd -f -V 2.3.0p1.cee update --conflict=install mysite && omd start mysite
Mediante el &&
antes de omd start
se impedirá el reinicio del site si el omd update
es abortado por un error. Sustituye el &&
por un punto y coma (;
) si definitivamente debe intentarse un inicio incluso en tal situación.
Si estás seguro de que sólo se está ejecutando un único site Checkmk en el servidor, el nombre que se utilizará en un script shell se puede atrapar simplemente en una variable:
root@linux# omd sites --bare
mysite
root@linux# SITENAME=$(omd sites --bare)
root@linux# echo $SITENAME
mysite
Esto permite que la línea anterior sea independiente del nombre del site. Por ejemplo, un pequeño script shell podría tener este aspecto:
#!/bin/bash
SITE=$(omd sites --bare)
VERSION=2.3.0p1.cee
omd stop $SITE
omd -f -V $VERSION update --conflict=install $SITE && omd start $SITE
4. Actualización en entornos distribuidos
Hay dos procedimientos distintos para realizar la actualización de todos los sites incluidos en una monitorización distribuida, es decir, el site central y los sites remotos controlados por él.
Importante:Elijas el procedimiento que elijas, como primer paso debes crear copias de seguridad de todos los sites del entorno.
El procedimiento preferido y más seguro es actualizar de una sola vez, para lo cual debes realizar los siguientes pasos:
Primero, detén todos los sites
A continuación, realiza la actualización de todos los sites
Reinicia los sites actualizados
Si esto no es posible -por ejemplo, porque el entorno está distribuido entre zonas horarias de distintos sites y con equipos de soporte diferentes-, puede realizarse una operación mixta temporal bajo condiciones estrictas. Las versiones no pueden diferir en más de una versión para las actualizaciones importantes, y siempre supone un nivel de parche específico para la versión actual (existente).
Es esencial seguir exactamente esta secuencia: Primero, actualiza todos los sites remotos, y sólo después actualiza el site central. Esto garantiza que en ningún momento una configuración creada por una versión de Checkmk más reciente acabe en una versión de Checkmk más antigua.
La siguiente tabla muestra las combinaciones posibles al actualizar de 2.2.0 a 2.3.0:
Site central | Site remoto | ¿Permitido? | Notas |
---|---|---|---|
2.2.0 |
2.2.0 |
Sí |
Indícalo antes de actualizar todos los sites. |
2.2.0 |
2.3.0 |
Sí |
Es de esperar que se produzcan pequeñas pérdidas funcionales durante la actualización, por lo que sólo debe funcionar como entorno mixto durante un breve periodo de tiempo. No hay peligro para los datos y la configuración. |
2.3.0 |
2.2.0 |
No |
Precaución: Con una configuración centralizada existe el riesgo de dañar irreparablemente los sites remotos en esta situación. ¡Evita esta condición a toda costa! |
2.3.0 |
2.3.0 |
Sí |
Estado después de actualizar todos los sites. |
4.1. Fundamento técnico
La razón técnica del enfoque de actualización descrito anteriormente reside en los protocolos utilizados: el site central accede a los datos de los sites remotos principalmente mediante lectura a través de Livestatus, y en el caso de una configuración central, con acceso de escritura adicional a través de una API HTTP no pública. En ambas situaciones, se da el caso de que las nuevas versiones introducen verdaderos superconjuntos de los protocolos utilizados. Así, un site central antiguo sólo utiliza un verdadero subconjunto de la funcionalidad de los sites remotos más recientes. Si el site central se actualizara primero, podría emitir llamadas a la API o solicitudes de Livestatus a los sites remotos que éstos aún no "entienden".
La diferencia de versión máxima de una versión principal se debe de nuevo al hecho de que la eliminación de interfaces va acompañada de un periodo de gracia de exactamente una versión. Por ejemplo, la web API ya no se utilizaba internamente en Checkmk 2.1.0, pero su eliminación no se produjo hasta la versión 2.2.0. Por este motivo, un site central 2.1.0 funciona con sites remotos 2.2.0, pero un site central 2.0.0 no funcionará con sites remotos 2.2.0.
4.2. Paquetes de extensión para su uso en configuraciones centralizadas
Para facilitar estas actualizaciones escalonadas, Checkmk ofrece la posibilidad de almacenar paquetes de extensión con el mismo nombre en diferentes versiones: una que coincida con el site central más antiguo y otra con los sites remotos más recientes, por ejemplo. La versión adecuada se activará para cada site. Los detalles se describen en el artículo sobre paquetes de extensión (MKP).
4.3. Livestatus en cascada
Con la extensión de sitios del visor, los sitios del visor sólo podrán actualizarse después de los sitios cuyos datos muestran. Si un sitio del visor sólo muestra datos de sitios remotos, podrá actualizarse en cuanto éstos se actualicen. Si, por el contrario, también muestra datos del site central, la actualización del visor sólo podrá producirse en último lugar.
5. Actualizar un contenedor Docker
La actualización de un site Checkmk en el contenedor Docker es muy sencilla. Los únicos requisitos son los siguientes:
El contenedor no se borra al detenerlo, es decir, no se ha utilizado la opción
--rm
al iniciarlo.Conoces el ID del volumen para el contenedor. Normalmente deberías haberle dado un ID único a su almacenamiento cuando iniciaste el contenedor. Si no estás seguro del ID de tu volumen, puedes recuperar información sobre el contenedor llamado
myContainer
con el comandodocker inspect myContainer
.
Si has seguido la guía de instalación de Checkmk en Docker, deberías cumplir automáticamente los requisitos.
El proceso de actualización se realiza en 3 pasos:
Detén el contenedor. Si el contenedor Checkmk se llama
myContainer
, el comando será:docker stop myContainer
.Elimina el contenedor. El comando es:
docker rm myContainer
.Inicia un nuevo contenedor con el comando
docker container run
con la versión deseada, y monta el volumen conocido. Si tu volumen se llamamyVolume
, la opción correspondiente es-v myVolume:/omd/sites
. Puedes encontrar todas las opciones del comando en la guía de instalación de Checkmk en Docker.
Checkmk hará el resto automáticamente: actualizará e iniciará tu site Checkmk. Después podrás conectarte como de costumbre.
6. Actualizaciones
Las actualizaciones de Checkmk edición Raw a una de las ediciones comerciales o de una de las ediciones comerciales a otra con mayor funcionalidad son sencillas en cualquier momento. El procedimiento es esencialmente siempre el mismo: instala el paquete deseado y cambia los sites correspondientes con omd update
. Si actualizas a una de las ediciones comerciales, deberás volver a introducir la licencia después de la actualización.
Cuando actualices una versión comercial a otra con más funciones, siempre deberás volver a introducir la licencia tras la actualización. Esto también se aplica a los casos en los que tu contacto comercial te haya asegurado que ya puedes utilizar tu entorno Checkmk "inferior" con la licencia "superior" tras una actualización de licencia: al actualizar, se restablece el estado de licencia (se conserva el historial), por lo que deberás volver a introducir la licencia.
6.1. Actualización de Checkmk edición Raw a una de las ediciones comerciales
Este capítulo trata principalmente de una actualización a Checkmk Enterprise. También puedes actualizar a Checkmk Cloud en un solo paso, pero en este caso, consulta también las notas de la siguiente sección.
Como las ediciones comerciales tienen bastantes módulos y funciones adicionales, hay algunas cosas que debes tener en cuenta después de cualquier actualización. El punto crucial es que al crear nuevos sites en Checkmk Raw o en una de las ediciones comerciales, se establecen configuraciones predeterminadas diferentes.
Nagios frente a la CMC
Dado que Checkmk Raw sólo admite Nagios como núcleo, ésta es la configuración por defecto para los sitios creados con Checkmk Raw. Esta configuración se conservará al actualizar a Checkmk Enterprise. Esto significa que tras una actualización seguirás funcionando inicialmente con Nagios como núcleo. La migración a la CMC se realiza con omd config
y se describe en su propio artículo Migración a la CMC.
El formato RRD
Las ediciones comerciales admiten un formato alternativo para almacenar datos históricos de medición, que genera una E/S de disco significativamente menor. Este formato se preestablece automáticamente para los nuevos sites de ediciones comerciales. De nuevo, los sites de Checkmk edición Raw no se convierten automáticamente durante una actualización. Cómo cambiar los formatos de datos se describe en una sección aparte en el artículo sobre valores medidos y gráficos.
Otras diferencias
Para aprovechar todas las ventajas de Checkmk Enterprise, consulta la Vista general de las diferencias entre Checkmk Raw y Checkmk Enterprise.
6.2. Actualización de Checkmk Enterprise a Checkmk Cloud
En lo que respecta al núcleo de monitorización y al sistema de notificaciones, no hay diferencias entre Checkmk Enterprise y Checkmk Cloud. Dependiendo del enfoque de la implantación, a menudo utilizarás el conjunto de funciones más amplio sólo cuando añadas nuevos host. En algunos lugares, sin embargo, sigue siendo recomendable revisar la configuración existente.
Para una Vista general completa de la funcionalidad adicional, consulta el artículo sobre Checkmk Cloud.
Plugin de check para servicios en la nube
Cuando monitorizas Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform (GCP), los servicios de los hosts existentes reservados para Checkmk Cloud no estarán habilitados inicialmente. Puedes habilitar estos servicios en la regla XYZ services to monitor (donde XYZ es el nombre de la plataforma en la nube). A continuación, realiza un descubrimiento de servicios en estos hosts para encontrar los servicios que ahora estarán disponibles.
Controlador de agentes en modo push
Con la posibilidad de monitorizar directamente hosts que pueden llegar al servidor Checkmk pero no son accesibles desde él, se elimina en muchos casos la necesidad de soluciones caseras con programas de origen de datos. Puedes cambiar estos hosts al modo push para habilitar una monitorización directa.
6.3. Actualizar ediciones en entornos distribuidos
Ten en cuenta que, en entornos distribuidos, siempre debe realizarse primero la actualización de la versión , antes de que pueda seguir la actualización de la edición. No se admite una secuencia diferente ni una actualización cruzada (actualización de la versión y actualización de la edición en una sola acción). Como procedimiento general, recomendamos la actualización sin conexión, en la que puedes saltar de cualquier edición inferior a cualquier edición superior.
Para dos escenarios de actualización solicitados con frecuencia(Checkmk Raw a Checkmk Enterprise y Checkmk Enterprise a Checkmk Cloud), es posible el funcionamiento mixto durante un periodo de tiempo limitado. Mientras que la actualización sin conexión funciona con todas las versiones, los dos escenarios en línea requieren al menos Checkmk 2.2.0p23.
Actualización sin conexión (todas las combinaciones)
Como mezclar ediciones sólo es posible en unas pocas combinaciones, en general recomendamos actualizar la edición sin conexión. Para ello, procede como sigue:
Detén todos los sites.
Realiza la actualización del site central.
Si se desea (y la abundancia de notificaciones no es un problema), el site central puede reiniciarse inmediatamente.
Ahora es el momento de actualizar los sites remotos. Puedes hacerlo en paralelo y reiniciar los sites remotos inmediatamente después de su actualización.
Por supuesto, puedes esperar a que se hayan actualizado todos los sites antes de reiniciarlos, lo que reducirá en cierta medida el número de notificaciones generadas.
De Checkmk Raw a Checkmk Enterprise (en línea)
Checkmk sólo permite el funcionamiento mixto de Checkmk Enterprise como site central con Checkmk Raw o Checkmk Cloud como sites remotos. Para la actualización a Checkmk Enterprise, esto significa que el site central recibe primero la actualización. Durante el funcionamiento mixto, la configuración no debe transferirse del site central a los sites remotos que aún no hayan recibido la actualización. Por tanto, recomendamos impedir que se modifique la configuración mientras dure el funcionamiento mixto en el site central a través de Setup > General > Read only mode. En teoría, este funcionamiento mixto de Checkmk Enterprise como site central con Checkmk Raw como site remoto puede durar tanto como sea necesario.
El resultado es la siguiente secuencia para la actualización:
Actualiza el site central a Checkmk Enterprise.
Introduce y envía los datos de suscripción como se describe en el artículo sobre licencias. Los servicios prestados por todos los sites remotos se tratan por igual al calcular la suscripción, es decir, durante el funcionamiento mixto, los servicios de los sites remotos de Checkmk Raw ya se facturan como Checkmk Enterprise.
Actualiza gradualmente los sites remotos.
Si no has desactivado la transferencia de la configuración globalmente, sino por separado para cada site remoto, puedes reactivar la transferencia de la configuración para cada site remoto que haya recibido la actualización.
En la monitorización distribuida sin configuración distribuida, los sites remotos también deben ser licenciados inmediatamente después de la actualización.
Después de actualizar todos los sites, puedes activar las funciones específicas de Checkmk Enterprise.
![]() |
¿Por qué recomendamos no sincronizar la configuración durante la actualización? En realidad, los sitios remotos descartan la configuración con la que "no pueden hacer nada". Esto no rompe nada, pero puede estropear las cosas. Supongamos que activas una configuración específica de Checkmk Enterprise -por ejemplo, los tiempos de inactividad programados regularmente-antes de que todos los sitios remotos hayan recibido la actualización. En este caso, los sitios remotos de Checkmk descartarán la configuración, lo que significa que no estará disponible ni siquiera después de la actualización. La configuración sólo estará disponible una vez que se haya modificado de nuevo después de la actualización. Si es inevitable no sincronizar la configuración durante la actualización, comprueba la coherencia de la configuración específica de Checkmk Enterprise tras la actualización completa. |
De Checkmk Enterprise a Checkmk Cloud (en línea)
Como ya se ha mencionado, Checkmk sólo permite el funcionamiento mixto de Checkmk Enterprise como site central con Checkmk Raw o Checkmk Cloud como sites remotos. Para la actualización a Checkmk Cloud, esto significa que el site central recibe la actualización en último lugar. La actualización de todo el entorno debe completarse en un plazo de 30 días. Durante el funcionamiento mixto, la configuración puede transferirse del site central a los sites remotos.
Esto da lugar a la siguiente secuencia para la actualización:
Actualiza los sites remotos a Checkmk Cloud.Importante: Una operación mixta con Checkmk Enterprise como site central sólo es posible en el estado de licencia "Trial" de 30 días. ¡No almacenes aún ningún dato de suscripción a Checkmk Cloud!
Almacena los datos de suscripción a Checkmk Cloud en el site central de Checkmk Enterprise.
Actualiza el site central a Checkmk Cloud.
En la monitorización distribuida sin configuración distribuida, los sites remotos también deben ser licenciados inmediatamente después de la actualización.
Si quieres actualizar directamente de Checkmk Raw a Checkmk Cloud, debes actualizar el site central a Checkmk Enterprise como paso intermedio: primero actualiza el site central de Checkmk Raw a Checkmk Enterprise, seguido de la actualización de los sites remotos directamente de Checkmk Raw a Checkmk Cloud. Por último, actualiza el site central de Checkmk Enterprise a Checkmk Cloud.
7. Downgrades
Un downgrade es una acción más compleja y, por tanto, más lenta, ya que algunas funciones pueden no funcionar en la edición de destino, y habrá que desactivarlas manualmente y sustituirlas por una alternativa posiblemente menos eficiente o menos cómoda.
El downgrade propiamente dicho debe realizarse con el comando omd update
, igual que una actualización o una mejora. Los detalles se encuentran en la sección Realizar la actualización.
Si intentas pasar de Checkmk Cloud a Checkmk Enterprise, por ejemplo, Checkmk verificará si ésta es realmente tu intención:

En cuanto confirmes este diálogo con yes, el downgrade se iniciará inmediatamente. A continuación te explicamos lo que tienes que hacer antes del downgrade.
Los downgrades distintos a los descritos a continuación no están previstos y no cuentan con nuestro apoyo, por ejemplo, un downgrade de Checkmk MSP. En su lugar, recomendamos empezar con un site nuevo en tal caso.
7.1. Cambio de Checkmk Cloud a Checkmk Enterprise
Para preparar la migración de Checkmk Cloud a Checkmk Enterprise, debes realizar al menos los siguientes cambios:
Configura los hosts que funcionan en modo push para que funcionen en modo pull. De lo contrario, Checkmk no recibirá datos de monitorización de ellos y, por lo general, sus hosts asociados se volverán obsoletos.
Reconfigura los paquetes del agente para que las carpetas dejen de autoregistrarse y, a continuación, vuelve a crear los paquetes del agente.
Además, algunos servicios en la nube y dashboards dejarán de estar disponibles, por lo que tendrás que limpiar los servicios desaparecidos.
Si en Checkmk Cloud utilizabas el Plugin de Grafana de la "Tienda de Grafana", tendrás que sustituirlo por uno instalado desde el archivo zip.
Vista general de las diferencias entre Checkmk Cloud y Checkmk Enterprise en el artículo Checkmk Cloud.
7.2. Cambiar de Checkmk Enterprise a Checkmk Raw
Para preparar la migración de Checkmk Enterprise a Checkmk Raw, tendrás que hacer al menos los siguientes cambios:
Cambia el formato de la base de datos RRD con la regla Configuration of RRD databases of hosts a Multiple RRDs per host/service. Además de ligeras desventajas de rendimiento, hay que tener en cuenta aquí que no se incluye la conversión de los datos existentes, por lo que los datos históricos de monitorización dejarán de ser visibles.
Cambiar el núcleo de monitorización de CMC a Nagios: en primer lugar, es probable que este cambio suponga desventajas de rendimiento.
Además, algunos dashboards, configuraciones de gráficos, plugins de notificación y agentes especiales dejarán de estar disponibles. Con el artículo Checkmk Enterprise puedes determinar cuánta funcionalidad de Checkmk Enterprise se perderá en caso de pasar a Checkmk Raw y dónde puede que tengas que hacer más ajustes.
7.3. Descensos de edición en entornos distribuidos
Los escenarios de downgrade presentados en las dos secciones anteriores también pueden llevarse a cabo en entornos distribuidos. Ten en cuenta que, en los entornos distribuidos, siempre debe realizarse primero la actualización de la versión antes de poder realizar el downgrade de la edición. No se admite una secuencia diferente ni un crossgrade (actualización de la versión y downgrade de la edición en una sola acción).
No existe ningún escenario de downgrade en el que Checkmk admita una operación mixta entre ediciones diferentes. Por este motivo, te recomendamos encarecidamente que realices el downgrade de edición sin conexión. Para ello, procede del siguiente modo:
Detén todos los sites.
Realiza el downgrade del site central.
Si se desea (y la abundancia de notificaciones no es un problema), el site central puede reiniciarse inmediatamente.
Ahora es el momento de degradar los sites remotos. Puedes hacerlo en paralelo y reiniciar los sites remotos inmediatamente después de su degradación.
Por supuesto, puedes esperar hasta que todos los sites hayan sido degradados antes de reiniciarlos, lo que reducirá en cierta medida el número de notificaciones generadas.
8. Desinstalación de Checkmk
8.1. Vista general
La desinstalación de las versiones de Checkmk que ya no son necesarias se realiza mediante el administrador de paquetes del sistema operativo. Para ello, introduce el nombre del paquete instalado, no el nombre del archivo RPM/DEB original.
Importante: ¡Sólo elimina las versiones de Checkmk que ya no utilice ningún site!
Los sitios Checkmk que ya no son necesarios pueden eliminarse simplemente con omd rm
(¡borrando así también todos los datos!):
root@linux# omd rm mysite
8.2. SLES, Red Hat Enterprise Linux, CentOS
He aquí cómo identificar qué paquetes Checkmk se están utilizando en sistemas basados en RPM:
root@linux# rpm -qa | grep check-mk
check-mk-enterprise-2.3.0p1-el9-38.x86_64.rpm
check-mk-raw-2.2.0p25-el9-38.x86_64.rpm
check-mk-raw-2.1.0p34-el8-38.x86_64.rpm
El borrado se realiza con rpm -e
:
root@linux# rpm -e check-mk-raw-2.1.0p34-el8-38.x86_64.rpm
8.3. Debian, Ubuntu
Utiliza lo siguiente para identificar qué paquetes están instalados:
root@linux# dpkg -l | grep check-mk
ii check-mk-enterprise-2.3.0p1 0.jammy amd64 Checkmk - Best-in-class infrastructure & application monitoring
ii check-mk-raw-2.2.0p25 0.jammy amd64 Checkmk - Best-in-class infrastructure & application monitoring
ii check-mk-raw-2.1.0p34 0.jammy amd64 Checkmk - Best-in-class infrastructure & application monitoring
La desinstalación se realiza con dpkg --purge
:
root@linux# dpkg --purge check-mk-raw-2.1.0p34
(Reading database ... 567850 files and directories currently installed.)
Removing check-mk-raw-2.1.0p34 (0.jammy) ...
...
9. Diagnóstico de fallos
Si se produce un error al actualizar Checkmk, suele deberse a una de las tres causas siguientes, que ya se han mencionado en los capítulos anteriores:
No se ha realizado la intervención manual requerida por un cambio incompatible.
Has instalado un paquete de extensión (MKP) incompatible.
Hay scripts incompatibles en los archivos locales de la estructura del directorio del site.
10. Archivos y directorios
Los archivos y directorios relevantes para este artículo se encuentran aquí. Como siempre, las rutas que no empiezan por /
se aplican después del directorio de inicio del site (/omd/sites/mysite
).
Ruta del archivo | Función |
---|---|
|
Enlace simbólico a la instalación de la versión de Checkmk utilizada por este site. |
|
En este directorio existe un subdirectorio para cada versión de Checkmk instalada. Los archivos que pertenecen a |
|
En este directorio, para cada site existe un directorio de inicio que contiene sus archivos de configuración y datos variables. Estos datos pertenecen al usuario del site, y pueden modificarse mediante la configuración y las operaciones. |
|
Comando de gestión para los sitios Checkmk. Se trata de un enlace simbólico al directorio |