Checkmk
to checkmk.com
Important

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. Open Monitoring Distribution (OMD)

El sistema de monitorización Checkmk utiliza la Open Monitoring Distribution (OMD). Fundada por Mathias Kettner, OMD es un proyecto de código abierto que gira en torno a la instalación fácil de usar y flexible de una solución de monitorización compuesta por varios componentes. Es posible que ya te suene la abreviatura OMD como parte de la instalación de paquetes RPM/DEB.

Características de una instalación basada en OMD

Una instalación basada en OMD se distingue por una serie de características:

  • La capacidad de ejecutar varios sitios de monitorización en paralelo

  • La capacidad de operar sitios con diferentes versiones del software de monitorización

  • Un mecanismo inteligente y práctico para actualizar el software

  • Rutas de archivo uniformes, independientemente de la plataforma Linux que tengas instalada

  • Una clara separación entre datos y software

  • Una instalación muy sencilla, sin depender de software de terceros

  • Una preconfiguración perfecta de todos los componentes

OMD se gestiona desde la línea de comandos, utilizando el comando omd; más concretamente, un conjunto de comandos omd para las distintas acciones relacionadas con la gestión de los sites de monitorización, por ejemplo, omd create para crear un site. En este artículo se presentan los comandos omd más importantes.

El primer comando es omd help, que muestra una vista general de los comandos omd disponibles. Puedes obtener ayuda sobre cualquiera de estos comandos añadiendo la opción --help después del comando, por ejemplo, omd create --help. Los dos guiones antes de help son importantes aquí, porque sin ellos omd create help ya habría creado tu primer site con el nombre help.

2. Creación de sitios

Quizás lo mejor de OMD es que puede gestionar cualquier número de sitios de monitorización simultáneamente en un solo servidor. Cada sitio es un sistema de monitorización autónomo que funciona independientemente de los demás.

Un sitio siempre tiene un nombre distintivo, que se especifica al crearlo. Este nombre es el mismo que el del usuario de Linux que se crea al mismo tiempo. El nombre del sitio se basa en las convenciones de nombres de usuario de Linux. El primer carácter del nombre de un sitio debe ser una letra; el resto de caracteres pueden ser letras, dígitos y guiones bajos. La longitud máxima es de 16 caracteres.

Al crear el site, se crea automáticamente el usuario predeterminado cmkadmin. Tú proporcionas una contraseña para este usuario al crear el site. La contraseña se puede cambiar en cualquier momento posterior.

La creación se realiza con el comando omd create. Debe ejecutarse como el usuario root. Añade la opción --admin-password mypassword y el nombre del sitio a este comando. Para evitar que la contraseña del administrador del sitio aparezca en el historial de tu línea de comandos en texto sin cifrar, puedes anteponer un espacio al comando.

El siguiente ejemplo muestra cómo crear un sitio llamado mysite con la contraseña t0p53cr3t para el administrador del sitio:

root@linux# omd create --admin-password t0p53cr3t 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
Executing post-create script "01_create-sample-config.py"...OK
Executing post-create script "02_cmk-compute-api-spec"...OK
Executing post-create script "03_message-broker-certs"...OK
Restarting Apache...OK
Created new site mysite with version 2.4.0p24.cre.

  The site can be started with omd start mysite.
  The default web UI is available at http://linux/mysite/

  The admin user for the web applications is cmkadmin with password: t0p53cr3t
  For command line administration of the site, log in with 'omd su mysite'.
  After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

¿Qué ocurre durante la creación de un site llamado mysite?

  • Se creará un usuario del sistema operativo llamado mysite y un grupo llamado mysite.

  • Se creará y asignará un nuevo directorio de inicio llamado /omd/sites/mysite. A este directorio también se le conoce como el directorio del site.

  • Este directorio de inicio se llenará con archivos de configuración y subdirectorios.

  • Se creará una configuración básica para el nuevo site.

Nota: No es posible crear un nuevo site con un nombre que ya esté asignado en el servidor como nombre de un usuario «normal».

2.1. ID de usuario y grupo

En algunos casos, también es conveniente especificar el ID de usuario/grupo del nuevo usuario que se va a crear. Esto se hace con las opciones -u y -g, por ejemplo:

root@linux# omd create -u 6100 -g 180 --admin-password t0p53cr3t mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Puedes ver una vista general de las demás opciones con omd create --help. Las opciones más importantes son:

-u UID

El nuevo usuario se creará con el ID de usuario UID.

-g GID

El grupo del nuevo usuario se creará con el ID de grupo GID.

--reuse

OMD asume que el nuevo usuario ya existe y no lo crea. El directorio de inicio de este usuario debe estar ubicado bajo /omd/sites/ y debe estar vacío.

-t SIZE

El sistema de archivos temporal del nuevo site se creará con el valor SIZE. SIZE tiene el sufijo M (megabyte), G (gigabyte) o % (porcentaje de RAM). Ejemplo: -t 4G

2.2. Directorio externo del site

Por defecto, el directorio de inicio de un nuevo site se crea en /omd/sites/ y se rellena con archivos predeterminados. Sin embargo, también puedes crear un directorio de inicio vacío, por ejemplo, para montar un volumen externo en esta ubicación. Esto se hace mediante la opción --no-init:

root@linux# omd create --no-init --admin-password t0p53cr3t mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Esta opción también omite la integración con el sistema Apache, dejando /omd/apache/mysite.conf vacío. A continuación, podrías montar cualquier directorio o volumen y continuar con la configuración:

root@linux# omd init mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

omd init luego recupera los dos pasos omitidos, por lo que añade los archivos predeterminados y crea la configuración de Apache.

3. Usuario del site

Puedes ejecutar los comandos de omd como usuario de root o como usuario del site. En root tienes más posibilidades. Por ejemplo, solo root puede crear un site, lo cual es lógico, ya que, por supuesto, primero hay que crear un site antes de poder crear un usuario para él. Dado que en root puedes ejecutar un comando que se aplica simultáneamente a todos los sites existentes, debes incluir el nombre del site concreto que te interesa con el comando omd.

Una vez creado el nuevo sitio, debes ejecutar cualquier otro comando de omd únicamente como usuario del site. Como usuario del site, puedes ejecutar todas las operaciones importantes que afecten a este site.

El switch de usuario se realiza con su:

root@linux# su - mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Ten en cuenta que el signo menos que sigue a «su» es esencial. Asegura que el proceso de cambio de usuario procese todas las operaciones que tienen lugar durante un inicio de sesión normal. En particular, todas las variables del entorno se configurarán correctamente, y tu sesión comenzará como «mysite» en el directorio del site «/omd/sites/mysite»:

OMD[mysite]:~$

Una vez que hayas iniciado sesión como usuario del site, normalmente no es necesario incluir el nombre del site en los comandos omd, ya que dichos comandos solo se aplican al site en el que has iniciado sesión.

Si tienes varias versiones de Checkmk instaladas en tu servidor Checkmk, la versión correspondiente de OMD también se instala con cada una de estas versiones. Esto puede dar lugar a una larga lista de versiones de software con el tiempo. Dado que los comandos omd también pueden diferir entre versiones, a veces es interesante saber con qué versión de OMD estás trabajando actualmente.

  • Como usuario del site, siempre utilizas los comandos de omd para la versión de Checkmk instalada actualmente en el site, que puedes ver con omd version.

  • Como usuario de root, ejecutas los comandos de la versión predeterminada que también se utiliza al crear un site; normalmente, esta es la última versión instalada en el servidor. Puedes ver la versión predeterminada con omd version y cambiarla con omd setversion.

4. Iniciar y detener sitios

Tu sitio ya está listo para iniciarse, lo cual puedes hacer como root con omd start mysite. Sin embargo, es mucho mejor trabajar con el sitio como usuario del site:

OMD[mysite]:~$ omd start
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Starting agent-receiver...OK
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Starting redis...OK
Initializing Crontab...OK
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Como era de esperar, la detención se realiza con omd stop:

OMD[mysite]:~$ omd stop
Removing Crontab...OK
Stopping redis...killing 484382...OK
Stopping apache...killing 484371...OK
Stopping nagios...OK
Stopping npcd...OK
Stopping rrdcached...waiting for termination...OK
Stopping mkeventd...killing 484279...OK
Stopping agent-receiver...killing 484267...OK
Stopping 1 remaining site processes...OK
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Iniciar y detener un site no es más que iniciar o detener una colección de servicios. Estos también se pueden gestionar individualmente especificando el nombre del servicio, por ejemplo:

OMD[mysite]:~$ omd start apache
Temporary filesystem already mounted
Starting apache...OK
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Los nombres de los distintos servicios se pueden encontrar en el directorio ~/etc/init.d. Fíjate en la tilde (~) que precede al nombre de la ruta: representa el directorio de inicio del usuario del site (el directorio del site). ~/etc/init.dy /etc/init.d son directorios diferentes.

Además de start y stop, también existen los comandos omd, restart, reload y status. Por ejemplo, siempre es necesario recargar Apache tras un cambio manual en la configuración de Apache:

OMD[mysite]:~$ omd reload apache
Reloading apache
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Ten en cuenta que esto no se aplica al proceso global de Apache del servidor Linux, sino al proceso de Apache dedicado del propio sitio.

Para poder mantener una vista general del estado del site tras todos los arranques y paradas, simplemente usa omd status:

OMD[mysite]:~$ omd status
agent-receiver: stopped
mkeventd:       stopped
rrdcached:      stopped
npcd:           stopped
nagios:         stopped
apache:         running
redis:          stopped
crontab:        stopped
-----------------------
Overall state:  partially running
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

5. Configuración de los componentes

Como ya se ha mencionado, OMD integra múltiples componentes de software en un sistema de monitorización. Al hacerlo, algunos componentes son opcionales y, para otros, existen alternativas o diferentes configuraciones operativas. Todo esto se puede configurar cómodamente con el comando `omd config`. También hay modos interactivos y de scripting.

5.1. Configuración interactiva

Como usuario del site, puedes activar el modo interactivo simplemente con:

OMD[mysite]:~$ omd config
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!
Main menu of `omd config`.
En el menú «omd config» (Configuración del sitio), puedes navegar con las teclas de flecha y «Enter»

En cuanto cambies una configuración mientras el site está en funcionamiento, OMD te informará de que primero debes detener el site y lo hará según sea necesario:

Hint when changing a setting while the site is running.
La configuración solo se puede cambiar cuando el site no está en ejecución

No te olvides de reiniciar el site una vez finalizado el trabajo. « omd config» no lo hará automáticamente por ti.

5.2. Configuración mediante el modo de script

Si no te gusta el modo interactivo o prefieres trabajar con scripts, puedes establecer los ajustes individuales como variables a través de la línea de comandos. Para ello, existe el comando `omd config set`. El siguiente ejemplo establece la variable `AUTOSTART` en `off`:

OMD[mysite]:~$ omd config set AUTOSTART off
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Esto también se puede hacer con `root` si se añade el nombre del site como argumento:

root@linux# omd config mysite set AUTOSTART off
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

La asignación actual de todas las variables se muestra como root, el comando omd config mysite show y como usuario del site omd config show:

OMD[mysite]:~$ omd config show
ADMIN_MAIL:
AGENT_RECEIVER: on
AGENT_RECEIVER_PORT: 8005
APACHE_MODE: own
APACHE_TCP_ADDR: 127.0.0.1
APACHE_TCP_PORT: 5008
AUTOSTART: off
[...]
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

La salida anterior se ha abreviado para mayor claridad y solo muestra las primeras entradas.

5.3. Ajustes más comunes

Hay numerosos ajustes en omd config. Los más importantes son:

Variable Valor predeterminado Significado

AUTOSTART

on

Configura esto en «off» si quieres evitar que el site se inicie automáticamente al arrancar el ordenador. Esto es especialmente interesante para instalaciones de prueba que normalmente no deberían iniciarse solas.

CORE

nagios (Checkmk Community),
cmc (ediciones comerciales)

Selección del core de monitorización. En las ediciones comerciales, se puede seleccionar el core de Nagios en lugar del Checkmk Micro Core (CMC). CRE Checkmk Community solo tiene nagios como core de monitorización.

MKEVENTD

on

Activa la Consola de eventos con la que se pueden procesar los mensajes de syslog, las Traps SNMP y otros eventos.

LIVESTATUS_TCP

off

Permite el acceso externo a los datos de estado de este sitio. Esto se puede utilizar para configurar una monitorización distribuida. El estado de este site (remoto) se puede incorporar al site central. Activa esta configuración solo en una red segura.

Nota: También puedes ver estas variables con los mismos nombres en el modo interactivo.

6. Copiar y renombrar sitios

6.1. Copiar sitios

A veces resulta útil crear una copia del site con fines de prueba o cuando te estás preparando para una actualización. Por supuesto, podrías simplemente copiar el directorio /omd/sites/mysite_old a /omd/sites/mysite_new. Sin embargo, eso no funcionará como esperas, porque:

  • muchos archivos de configuración incluyen el nombre del site,

  • en varios lugares también aparecen rutas absolutas que empiezan por /omd/sites/mysite_old,

  • y, por último, pero no menos importante, a nivel del sistema operativo debe haber un usuario, incluido su grupo asociado, que sea propietario del sitio y que, por defecto, tenga el mismo nombre que el sitio.

Para simplificar la copia de un site, existe en su lugar el comando omd cp, que tiene en cuenta todo esto. Ejecuta el comando como root e introduce simplemente el nombre del site existente seguido del nombre del nuevo. Por ejemplo:

root@linux# omd cp mysite_old mysite_new
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

La copia solo funcionará si:

  • el site esté detenido y

  • no haya procesos en ejecución que pertenezcan al usuario del site.

Ambas condiciones garantizan que el site se encuentre en un estado coherente en el momento de la copia y no cambie durante la operación.

6.2. Migración de la configuración

Originalmente, OMD solo podía manejar los archivos que se creaban realmente durante la creación del sitio con omd create y que también contenían el ID del sitio ($OMD_SITE). Estos archivos se pueden encontrar en el directorio del site ~/etc con este comando:

OMD[mysite]:~$ grep -r $OMD_SITE etc
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Anteriormente, OMD no podía hacer nada con los archivos de configuración que se creaban posteriormente al trabajar con el site de Checkmk (por ejemplo, las configuraciones de los hosts que se habían añadido más tarde). Desde un punto de vista puramente técnico, este comportamiento se ajusta exactamente al ámbito de OMD. Sin embargo, la mayoría de los usuarios esperan que una «omd cp» cree un site completamente nuevo que se pueda seguir utilizando de forma productiva, incluida su propia configuración de monitorización.

A partir de la versión 2.1.0 de Checkmk, OMD ahora también puede personalizar los elementos más importantes de la configuración de Checkmk. Por cierto, no tienes que hacer nada, toda la migración que se describe a continuación se lleva a cabo automáticamente.

Un ejemplo típico: En las propiedades de un host puedes usar el atributo «Monitored on site» para especificar manualmente en qué site se debe realizar la monitorización de este host, por ejemplo, mysite_old. Tras un «omd cp mysite_old mysite_new», el valor cambiará a mysite_new en consecuencia. (Anteriormente, este procedimiento habría dado como resultado la entrada Unknown site (mysite_old)).

La implementación técnica real de esta migración es la siguiente: OMD detecta los cambios en el ID del site y, a continuación, ejecuta el comando post-rename-site -v -o mysite_new. Los pasos individuales de la migración se procesan posteriormente de forma totalmente automática a través de los denominados plugins de acciones de renombramiento, que puedes encontrar en cmk/post_rename_site/plugins/actions en el repositorio de Git.

La migración también incluye informarte de cualquier cosa que no se pueda migrar automáticamente.

Aquí tienes un ejemplo concreto: estás utilizando la monitorización distribuida y renombras tanto el site central como un site remoto.

Sitio central: El Plugin sites.py detecta que se trata de un site central y actualiza, entre otras cosas, el valor URL prefix, que se encuentra en la configuración de conexión del sitio local en Setup > General > Distributed Monitoring.

Sitio remoto: El Plugin warn_remote_site.py reconoce que se trata de un sitio remoto e indica, en consecuencia, que hay que comprobar el site central y personalizarlo manualmente si es necesario. Esto significa, a su vez, que en la configuración de monitorización distribuida del site central, hay que introducir el nuevo nombre del sitio remoto en la configuración de conexión al sitio remoto renombrado —por supuesto, OMD no puede hacer esto desde un ordenador remoto.

El propio OMD te informa detalladamente sobre todo el procedimiento en la terminal. Aquí puedes ver un ejemplo de los mensajes de migración de la salida de omd cp al renombrar un site central —separados en mensajes de éxito y de advertencia. Los archivos de migración procesados (rename action plugins) se numeran individualmente. Primero, la salida del proceso de migración realizado automáticamente (acortada aquí):

...
Executing post-cp script "01_cmk-post-rename-site"...
-|  1/6 Distributed monitoring configuration...
-|  2/6 Hosts and folders...
-|  3/6 Update core config...
...

La segunda parte de la salida contiene ahora consejos sobre ajustes que quizá tengas que configurar manualmente (aquí muy abreviados):

...
-|  4/6 Warn about renamed remote site...
-|  5/6 Warn about new network ports...
-|  6/6 Warn about configurations to review...
...

El item «Warn about configurations to review…​» incluye notas generales sobre aspectos concretos que, por lo general, deberán revisarse manualmente durante una migración, como los filtros codificados de forma fija para las vistas de tabla:

...
-| Parts of the site configuration cannot be migrated automatically. The following
-| parts of the configuration may have to be reviewed and adjusted manually:
-|
-| - Custom bookmarks (in users bookmark lists)
-| - Hard coded site filters in custom dashboards, views, reports
-| - Path in rrdcached journal files
-| - NagVis maps or custom NagVis backend settings
-| - Notification rule "site" conditions
-| - Event Console rule "site" conditions
-| - "site" field in "Agent updater (Linux, Windows, Solaris)" rules
-| - Alert handler rule "site" conditions
-|
-| Done

Aquí tienes una vista general de los seis Plugins activos actualmente; el orden aquí corresponde a la numeración de la salida anterior:

Plugin Función

sites.py

Cambia el ID del sitio en varios archivos de configuración.

hosts_and_folders.py

Cambia el atributo del site en las propiedades del host y de la carpeta.

update_core_config.py

Actualiza la configuración del core (cmk -U).

warn_remote_site.py

Avisa al renombrar un site remoto.

warn_changed_ports.py

Avisos de problemas con varios puertos.

warn_about_not_migrated_configs.py

Consejos generales sobre elementos que debes checkear manualmente.

6.3. Limitar el volumen de datos

Si estás realizando la monitorización de un gran número de hosts con el site, el volumen de datos que hay que copiar puede ser bastante considerable. La mayor parte de esto la generan los valores medidos almacenados en las bases de datos Round Robin (RRD). Pero los archivos de registro que contienen eventos históricos también pueden generar grandes volúmenes de datos.

Si no necesitas el historial (por ejemplo, porque solo quieres probar algo rápidamente), puedes omitirlos de la copia. En esos casos, puedes añadir las siguientes opciones a omd cp:

--no-rrds

Copia el site sin las RRD.

--no-logs

Copia el site sin archivos de registro ni otros datos históricos.

-N

Hace ambas cosas: «-N» es una abreviatura de «--no-rrds --nologs».

El orden de las opciones es importante:

root@linux# omd cp --no-rrds mysite_old mysite_new
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

6.4. Cambiar el nombre de los sites

Para cambiar el nombre de un site, usa el comando `omd mv`. Se hace de forma similar a copiar un site, tiene los mismos requisitos previos y también incluye la migración de la configuración. Las opciones para limitar el volumen de datos no están disponibles, ya que los datos solo se mueven a otro directorio y no se duplican.

Ejemplo:

root@linux# omd mv mysite_old mysite_new
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Al renombrar un sitio con omd mv, se cambiará el nombre del sitio, pero algunos atributos del sitio no se modificarán, incluido el ID del sitio. Por lo tanto, este comando no es adecuado para gestionar un sitio que se ha duplicado, por ejemplo, mediante una copia de seguridad, simultáneamente con su versión original en una monitorización distribuida, incluso si los sitios en cuestión tienen nombres diferentes tras ejecutar un omd mv.

6.5. Otras opciones

Al igual que al crear un site, al copiarlo y renombrarlo se crea un nuevo usuario de Linux. Por lo tanto, omd cp y omd mv también tienen algunas de las mismas opciones que omd create, por ejemplo, para especificar los ID de usuario y de grupo. Para obtener información más detallada, usa los comandos omd cp --help y omd mv --help.

7. Visualización de los cambios en los archivos de configuración

Al crear un site, el comando `omd create` llena el directorio `~/etc` con numerosos archivos de configuración predefinidos. También se crearán varios directorios bajo `~/var` y `~/local`.

Es probable que, con el paso del tiempo, hayas personalizado algunos de estos archivos. Si después de un tiempo quieres saber qué archivos ya no están en la misma condición que cuando fueron suministrados, el comando `omd diff` te dará la respuesta. Entre otras cosas, esto es útil antes de actualizar Checkmk, ya que tus cambios podrían entrar en conflicto con los cambios en los archivos predeterminados.

Si se ejecuta sin más argumentos, se mostrará una lista de todos los archivos modificados que se encuentren en el directorio actual:

OMD[mysite]:~$ omd diff
 * Changed content var/check_mk/wato/auth/auth.php
 ! Changed permissions var/check_mk/wato/auth/auth.php
 * Changed content etc/htpasswd
 * Changed content etc/diskspace.conf
 ! Changed permissions etc/diskspace.conf
 * Changed content etc/auth.secret
 * Changed content etc/mk-livestatus/xinetd.conf
 * Changed content etc/omd/allocated_ports
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

También puedes introducir una consulta para un directorio específico:

OMD[mysite]:~$ omd diff etc/apache
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Si quieres ver los cambios en detalle, solo tienes que introducir la ruta del archivo:

OMD[mysite]:~$ omd diff etc/apache/apache.conf
74,75c74,75
< ServerLimit 64
< MaxClients 64
---
> ServerLimit 128
> MaxClients 128
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

8. Actualización de sitios

El comando «omd update» se usa para actualizar el software de monitorización instalado en el site a una versión más reciente. Esto se explica con detalle en el artículo «Actualización de Checkmk». Allí también se muestran como ejemplos otros comandos útiles de «omd» relacionados con las actualizaciones de software:

  • omd versions para crear una lista de todas las versiones de software instaladas,

  • omd sites para listar todos los sites existentes con las versiones instaladas en ellos,

  • omd version para mostrar la versión predeterminada que se usa al crear un site,

  • omd setversion para establecer una versión predeterminada diferente.

Por cierto, «omd update» también se usa para actualizar a otra edición, por ejemplo, de Checkmk Community a Checkmk Pro.

9. Copias de seguridad y restauración de sitios

9.1. Crear una copia de seguridad

La gestión de sitios en Checkmk cuenta con un mecanismo integrado para realizar copias de seguridad y restaurar sitios de Checkmk. Los comandos omd backup y omd restore son los básicos para empaquetar todos los datos del sitio en un archivo tar y, respectivamente, extraer esos datos para una restauración.

Nota: Checkmk también ofrece la posibilidad de realizar copias de seguridad y restauraciones sin usar la línea de comandos, a través de la GUI en Setup > Maintenance > Backups. Allí también puedes crear copias de seguridad cifradas y jobs de copia de seguridad programados. Consulta el artículo Copias de seguridad para saber cómo hacerlo.

Hacer una copia de seguridad de un site con omd backup no requiere permisos de administrador (root). Cualquier usuario del site puede hacerlo. Solo tienes que introducir como argumento el nombre del archivo de copia de seguridad que se va a crear:

OMD[mysite]:~$ omd backup /tmp/mysite.tar.gz
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Ten en cuenta que:

  • El tipo de archivo creado es un archivo tar comprimido con gzip. Por lo tanto, utiliza .tar.gz o .tgz como extensión del archivo.

  • No guardes la copia de seguridad en el directorio del site, ya que, obviamente, se copiará por completo; por lo tanto, cada copia de seguridad posterior contendrá una copia de todas las anteriores.

  • Si creas la copia de seguridad como usuario del site, solo el usuario del site y su grupo tendrán acceso de lectura y escritura al archivo tar.

Si el directorio de destino de la copia de seguridad no es escribible para un usuario del site, también puedes realizar la copia de seguridad como root. En este caso, se requiere un argumento adicional, como siempre, especificando el nombre del site del que se va a hacer la copia de seguridad:

root@linux# omd backup mysite /var/backups/mysite.tar.gz
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

La copia de seguridad contiene todos los datos del site, excepto los datos volátiles que se encuentran en ~/tmp/. Con el comando tar tzf puedes echar un vistazo fácilmente al contenido del archivo:

OMD[mysite]:~$ tar tvzf /tmp/mysite.tar.gz  | less
lrwxrwxrwx mysite/mysite     0 2022-07-25 11:59 mysite/version -> ../../versions/2.4.0p24.cre
drwxr-xr-x mysite/mysite     0 2022-07-25 17:25 mysite/
-rw------- mysite/mysite   370 2022-07-26 17:09 mysite/.bash_history
-rw-r--r-- mysite/mysite  1091 2022-07-25 11:59 mysite/.bashrc
-rw-r--r-- mysite/mysite    63 2022-07-25 11:59 mysite/.modulebuildrc
-rw-r--r-- mysite/mysite  2066 2022-07-25 11:59 mysite/.profile
drwxr-xr-x mysite/mysite     0 2022-07-25 11:59 mysite/.version_meta/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/
-rw-r--r-- mysite/mysite  1091 2022-06-26 02:03 mysite/.version_meta/skel/.bashrc
-rw-r--r-- mysite/mysite    52 2022-07-20 09:02 mysite/.version_meta/skel/.modulebuildrc
-rw-r--r-- mysite/mysite  2055 2022-06-26 02:03 mysite/.version_meta/skel/.profile
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/apache/
-rw-r--r-- mysite/mysite  1524 2022-06-26 02:03 mysite/.version_meta/skel/etc/apache/apache-own.conf
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

9.2. Excluir datos de la copia de seguridad

La mayor parte de los datos que se mueven durante una copia de seguridad del sitio son los valores medidos almacenados en las bases de datos Round Robin (RRD) y los archivos de registro con eventos históricos. Otra parte importante de los datos que se mueven durante una copia de seguridad del sitio son los paquetes de agentes, que Agent bakery almacena en el directorio ~/var/check_mk/agents, pero que se pueden volver a crear fácilmente si es necesario.

omd backup ofrece las mismas opciones que omd cp a la hora de copiar para excluir estos datos. En el siguiente ejemplo, la copia de seguridad se crea completamente sin estos datos:

OMD[mysite]:~$ omd backup -N /tmp/mysite.tar.gz
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Al hacer la copia de seguridad, también puedes especificar cuáles de los datos anteriores quieres excluir. Usa omd backup --help para ver las opciones disponibles.

9.3. Hacer una copia de seguridad de un site en funcionamiento

También se puede crear una copia de seguridad desde un site en funcionamiento. Para garantizar un estado coherente de los RRD utilizados para registrar los datos de medición, el comando omd backup cambia automáticamente la caché Round Robin a un modo en el que las actualizaciones en curso se escriben solo en el diario, y ya no en los RRD. Los archivos de diario son los últimos en copiarse; de este modo, se consigue que la mayor parte posible de los datos de medición generados durante la copia de seguridad también se incluyan en la misma.

9.4. Restaurar

Restaurar una copia de seguridad es tan sencillo como crearla. El comando omd restore restaura un site a partir de una copia de seguridad, en la versión de Checkmk que se utilizó para hacer la copia de seguridad del site. Por lo tanto, para que la restauración funcione, debe estar instalada esta misma versión en el servidor.

El site se vacía por completo y se vuelve a llenar. Antes de ejecutar «omd restore», debes detener el site y, después, reiniciarlo:

OMD[mysite]:~$ omd stop
OMD[mysite]:~$ omd restore /tmp/mysite.tar.gz
OMD[mysite]:~$ omd start
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Un usuario de root también puede realizar una restauración. A diferencia de cuando la realiza el usuario del site, este se recreará a partir de la copia de seguridad.

Así que, si todavía hay un site con el mismo nombre, tendrás que eliminarlo antes de la restauración. Esto se puede hacer con un comando `omd rm`, o simplemente incluyendo la opción `--reuse` con el comando `omd restore`. Además, el comando `--kill` garantiza que el site ya existente se detenga antes de que continúe la restauración. No necesitas especificar el nombre del site en el comando, porque ya está incluido en la copia de seguridad:

root@linux# omd restore --reuse --kill /var/backup/mysite.tar.gz
root@linux# omd start mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Como root, también puedes restaurar un site con un nombre diferente al de la copia de seguridad. Para ello, especifica el nombre deseado como argumento después de la palabra restore:

root@linux# omd restore mysite2 /var/backup/mysite.tar.gz
Restoring site mysite2 from /tmp/mysite.tar.gz...
 * Converted ./.modulebuildrc
 * Converted ./.profile
 * Converted etc/xinetd.conf
 * Converted etc/logrotate.conf
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

La larga lista de conversiones que se realizan aquí tiene la misma función que la descrita anteriormente para copiar y renombrar sitios. El nombre del site aparece en numerosos archivos de configuración y, con este procedimiento, todas esas apariciones se sustituirán automáticamente por el nuevo nombre.

9.5. Copia de seguridad en tiempo real y restauración en otro servidor

Los comandos omd backup y omd restore pueden —siguiendo la buena vieja tradición de Unix— funcionar también a través de la entrada/salida estándar en lugar de archivos. En lugar de una ruta para el archivo tar, simplemente introduce un guión (-).

De esta forma, se puede crear una tubería y los datos se «transmiten» directamente a otro ordenador sin necesidad de archivos intermedios. Cuanto más grande sea la copia de seguridad, más ventajoso resultará esto, ya que no se necesitará espacio temporal en el sistema de archivos del servidor del que se hace la copia.

El siguiente comando realiza una copia de seguridad de un site en otro ordenador mediante SSH:

root@linux# omd backup mysite - | ssh user@otherserver "cat > /var/backup/mysite.tar.gz"
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Si quieres invertir el acceso SSH, es decir, si prefieres realizar la conexión desde el servidor de copia de seguridad al site de Checkmk, también es posible, como muestra el siguiente ejemplo. Para ello, primero debe permitirse el inicio de sesión SSH como usuario del site.

root@otherserver# ssh mysite@checkmkserver "omd backup -" > /var/backup/mysite.tar.gz
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Si eres espabilado y combinas lo anterior con un `omd restore` que lee los datos de la entrada estándar, puedes copiar un site completo y en funcionamiento de un servidor a otro, y sin necesidad de espacio adicional para un archivo de copia de seguridad:

root@otherserver# ssh mysite@checkmkserver "omd backup -" | omd restore -
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Y ahora, de nuevo, todo el proceso con el acceso SSH invertido, esta vez del sistema de origen al sistema de destino:

root@linux# omd backup mysite - | ssh user@otherserver "omd restore -"
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

10. Desactivación de sites

OMD puede desactivar sitios. Con el comando `omd disable --kill mysite`, ejecutado como `root`, ocurre lo siguiente:

  1. Se detiene el site mysite.

  2. Se detienen los procesos que acceden a tmpfs.

  3. Se desmonta el tmpfs.

  4. Se vacía el archivo /omd/apache/mysite.conf.

  5. Se reinicia Apache.

En este estado, ningún proceso hace referencia al directorio de inicio del site, en este caso /omd/sites/mysite. Esto resulta especialmente útil en un clúster, ya que ahora el directorio de inicio se puede trasladar a otro nodo.

11. Eliminar sites

Eliminar un sitio es tan fácil como crearlo: con el comando «omd rm» como «root». El sitio se detendrá automáticamente primero.

root@linux# omd rm mysite
PLEASE NOTE: This action removes all configuration files
             and variable data of the site.

In detail the following steps will be done:
- Stop all processes of the site
- Unmount tmpfs of the site
- Remove tmpfs of the site from fstab
- Remove the system user <SITENAME>
- Remove the system group <SITENAME>
- Remove the site home directory
- Restart the system wide apache daemon
 (yes/NO): yes
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Atención: ¡No hace falta decir que esta acción también borra todos los datos del site!

Si no te gustan los cuadros de diálogo de confirmación, o si quieres realizar la eliminación como parte de un script, puedes forzar la eliminación con la opción -f.

Atención: En este caso, la opción «-f» debe colocarse antes de «rm»:

root@linux# omd -f rm mysite
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

12. Desinstalar versiones que no se usan

Dado que Checkmk puede estar instalado en varias versiones al mismo tiempo, puede ocurrir que una instancia no utilice todas las versiones. OMD puede desinstalar las versiones que no se usan con el comando «cleanup»:

root@linux# omd cleanup
2.3.0p45.cee         Uninstalling
2.3.0p45.cre         In use (by mysite_tmp). Keeping this version.
2.3.0p45.cme         Keeping this version, since it is the default.
2.4.0p24.cee   In use (by mysite). Keeping this version.
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

OMD conserva la versión predeterminada además de las versiones en uso; a menos que se configure manualmente lo contrario, la última versión instalada de Checkmk, en este caso 2.3.0p45.cme.

13. Archivos y directorios

Ruta Descripción

/omd/sites/mysite

Directorio del site mysite.

~/etc/

Los archivos de configuración del site se guardan en este directorio.


Last modified: Mon, 12 Jan 2026 17:10:23 GMT via commit 040b05dc2
En esta página