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

El sistema de monitorización Checkmk utiliza la Open Monitoring Distribution (OMD). Fundado por Mathias Kettner, OMD es un proyecto Open Source que gira en torno a la instalación fácil y flexible de una solución de monitorización formada por varios componentes. Puede que la abreviatura OMD ya te resulte familiar como parte de la instalación del paquete RPM/DEB.

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

  • La capacidad de ejecutar varios sites de monitorización en paralelo.

  • La capacidad de hacer funcionar sites con distintas versiones del software de monitorización

  • Un mecanismo inteligente y cómodo para actualizar el software

  • Rutas de archivo uniformes, independientemente de la plataforma Linux instalada.

  • Una clara separación entre datos y software

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

  • Una preconfiguración perfecta de todos los componentes

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

El primer comando es omd help, que muestra una visión general de los comandos omd disponibles. Puedes obtener ayuda para 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. Crear sites

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

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

La creación se realiza con el comando omd create. Éste debe ejecutarse como usuario root:

root@linux# omd create mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type nagios)...
Precompiling host checks...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site mysite with version 2.1.0p17.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: YzxfoFZh
  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'.

Al crear el usuario cmkadmin se generará y emitirá una contraseña aleatoriamente.

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

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

  • Se creará y asignará un nuevo directorio de inicio /omd/sites/mysite. Este directorio también se denomina 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 de grupo

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

root@linux# omd create -u 6100 -g 180 mysite

Una vista general de las opciones adicionales se puede mostrar 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.

--admin-password mypassword

El nuevo usuario se creará con la contraseña mypassword- en lugar de la generada aleatoriamente.

--reuse

OMD asume que el nuevo usuario ya existe, y no lo crea. El directorio de inicio de este usuario debe estar situado debajo de /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 del site externo

Por defecto, el directorio de inicio de un nuevo site se crea en /omd/sites/ y se llena con archivos predeterminados. Sin embargo, también puedes hacer que se cree 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 mysite

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

root@linux# omd init mysite

omd init entonces se pone al día con los dos pasos omitidos, por lo que añade los archivos por defecto 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, sólo root puede crear un site, lo cual es lógico, porque, naturalmente, primero hay que crear un site antes de poder crear un usuario para él. Como puedes ejecutar un comando en root que se aplique simultáneamente a todos los sites existentes, debes incluir el nombre del site concreto que te interese con el comando omd.

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

El cambio de usuario se realiza con su:

root@linux# su - mysite

Ten en cuenta que el signo menos que sigue a su es esencial. Garantiza que el 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 establecerán correctamente, y tu sesión se iniciará 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 necesitarás incluir el nombre del site con los comandos omd, ya que dicho comando sólo se aplica 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 omd para la versión de Checkmk instalada actualmente en el site, que puedes visualizar con omd version.

  • Como usuario del root, ejecutas los comandos para la versión por defecto que también se utiliza al crear un site - ésta suele ser la última versión instalada en el servidor. Puedes visualizar la versión por defecto con omd version y cambiarla con omd setversion.

4. Iniciar y detener sites

Tu site está ahora listo para ser iniciado, lo que puede hacerse como root con omd start mysite. Sin embargo, es fundamentalmente mejor trabajar con el site 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

Como es lógico, la parada se hace 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

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

OMD[mysite]:~$ omd start apache
Temporary filesystem already mounted
Starting apache...OK

Los nombres de los distintos servicios se encuentran 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.d y /etc/init.d son directorios distintos.

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

OMD[mysite]:~$ omd reload apache
Reloading apache

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

Para poder mantener una visión general del estado del site tras todos los arranques y paradas, simplemente utiliza 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

5. Configurar los componentes

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

5.1. Configuración interactiva

Como usuario del site puedes simplemente llamar al modo interactivo con:

OMD[mysite]:~$ omd config
Main menu of `omd config`.
En el menú omd config navegas con el cursor y las teclas Intro.

En cuanto cambies una configuración mientras el site está en funcionamiento, OMD te informará de que tu site debe detenerse primero y lo hará cuando sea necesario:

Hint when changing a setting while the site is running.
La configuración sólo puede modificarse cuando el site no está en ejecución

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

5.2. Configuración a través del modo script

A quienes no les guste el modo interactivo, o prefieran trabajar con scripts, pueden 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

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

root@linux# omd config mysite set AUTOSTART off

La asignación actual de todas las variables 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
[...]

La salida del comando anterior está abreviada para mayor claridad y sólo muestra las primeras entradas.

5.3. Ajustes de uso común

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

Variable Por defecto Significado

AUTOSTART

on

Establécelo en off si quieres evitar que el site se inicie automáticamente al arrancar el ordenador. Esto es interesante sobre todo para instalaciones de prueba que normalmente no deberían iniciarse solas.

CORE

nagios (Checkmk Raw),
cmc (ediciones comerciales)

Selección del núcleo de monitorización. En las ediciones comerciales se puede seleccionar el núcleo Nagios en lugar del Checkmk Micro Core (CMC). Checkmk Raw sólo tiene nagios como núcleo de monitorización.

MKEVENTD

on

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

LIVESTATUS_TCP

off

Permite el acceso externo a los datos de estado de este site. Puede utilizarse para configurar una monitorización distribuida. El estado de este site (remoto) puede incorporarse al site central. Activa esta opción sólo en una red segura.

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

6. Copiar y renombrar sites

6.1. Copiar sites

A veces resulta útil crear una copia de un site con fines de prueba o cuando se prepara una actualización. Por supuesto, se podría simplemente copiar el directorio /omd/sites/mysite_old en /omd/sites/mysite_new. Sin embargo, eso no funcionará como se desea, 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 no menos importante, a nivel del sistema operativo debe haber un usuario, incluido su grupo asociado, que sea el propietario del site y que, por defecto, tenga el mismo nombre que el site.

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

La copia sólo puede funcionar si

  • el site está parado y

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

Ambos garantizan que el site se encuentra en un estado consistente en el momento de la copia y no cambia durante la operación.

6.2. Migrar la configuración

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

OMD[mysite]:~$ grep -r $OMD_SITE etc

Anteriormente, OMD no podía hacer nada con los archivos de configuración que se creaban posteriormente a través del trabajo con el sitio Checkmk (las configuraciones de los host que se habían añadido posteriormente, por ejemplo). Desde un punto de vista puramente técnico, este comportamiento corresponde exactamente al ámbito de OMD. Sin embargo, la expectativa de la mayoría de los usuarios es que omd cp cree un sitio completamente nuevo que pueda seguir utilizándose 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 tiene lugar automáticamente.

Un ejemplo típico: En las propiedades de un host puedes utilizar el atributo Monitored on site para especificar manualmente en qué site debe ser monitorizado este host, por ejemplo mysite_old. Después de omd cp mysite_old mysite_new el valor cambiará a mysite_new en consecuencia. (Anteriormente este procedimiento habría dado lugar a 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 ejecuta el comando post-rename-site -v -o mysite_new. Los pasos individuales de la migración se procesan posteriormente de forma completamente automática a través de los llamados plugins de acciones de renombramiento, que puedes encontrar en cmk/post_rename_site/plugins/actions en el repositorio Git.

La migración también incluye informarte sobre cualquier cosa que no pueda migrarse automáticamente.

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

site 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 los ajustes de conexión del site local en Setup > General > Distributed Monitoring.

site remoto: El plugin warn_remote_site.py reconoce que se trata de un site remoto y, en consecuencia, indica que hay que comprobar el site central y personalizarlo manualmente si es necesario. Esto significa, a su vez, que en los ajustes de monitorización distribuida del site central, hay que introducir el nuevo nombre del site remoto en los ajustes de conexión al site remoto renombrado - OMD, por supuesto, no puede hacerlo desde un ordenador remoto.

El propio OMD te informa detalladamente de todo el procedimiento en el terminal. Aquí puedes ver un ejemplo de los mensajes de migración de la salida omd cp al renombrar un site central - separados en mensajes de éxito y de advertencia. Los rename action plugins procesados están numerados individualmente. Primero la salida de las tareas de migración realizadas automáticamente (abreviada 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 puede que 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 individuales que generalmente deberán revisarse manualmente durante una migración, como los filtros codificados para las vistas:

...
-| 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 (CEE/CME only)
-| - Alert handler rule "site" conditions (CEE/CME only)
-|
-| Done

Vista general de los seis Plugin actualmente activos: el orden aquí corresponde a la numeración de la salida anterior:

Plugin Función

sites.py

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

hosts_and_folders.py

Cambia el atributo site de las propiedades host y carpeta.

update_core_config.py

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

warn_remote_site.py

Avisa al renombrar un site remoto.

warn_changed_ports.py

Avisa de problemas con múltiples puertos.

warn_about_not_migrated_configs.py

Consejos generales sobre los elementos que deben comprobarse manualmente.

6.3. Limitar el volumen de datos

Si estás monitorizando un gran número de host con el site, el volumen de datos a copiar puede ser bastante considerable. La mayor parte lo producen 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 producir volúmenes de datos mayores.

Si el historial no es necesario (por ejemplo, porque sólo quieres probar algo rápidamente), pueden omitirse de la copia. En tales casos, pueden añadirse las siguientes opciones a omd cp:

--no-rrds

Copia el site sin los RRD.

--no-logs

Copia el site sin los archivos de registro y 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

6.4. Renombrar sites

Renombrar un site se realiza con el comando omd mv. Esto se hace de forma similar a copiar un site, tiene los mismos requisitos previos y también se hace incluyendo la migración de la configuración. Las opciones para restringir el volumen de datos no están disponibles, ya que los datos sólo se mueven a otro directorio y no se duplican.

Ejemplo:

root@linux# omd mv mysite_old mysite_new

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

6.5. Otras opciones

Al igual que al crear un site, al copiar y renombrar cada uno de ellos 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, utiliza los comandos omd cp --help y omd mv --help.

7. Mostrar 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 en ~/var y ~/local.

Ahora bien, es probable que, con el paso del tiempo, varios de los archivos se hayan personalizado. Cuando, pasado un tiempo, desees determinar qué archivos ya no están en la condición en que se suministraron originalmente, el comando omd diff puede proporcionarte la respuesta. Entre otras cosas, esto es útil antes de una actualización de 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 listarán todos los archivos modificados por debajo del 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

También puedes introducir una consulta para un directorio concreto:

OMD[mysite]:~$ omd diff etc/apache
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf

Si deseas ver los cambios en detalle, simplemente introduce la ruta al archivo:

OMD[mysite]:~$ omd diff etc/apache/apache.conf
74,75c74,75
< ServerLimit 64
< MaxClients 64
---
> ServerLimit 128
> MaxClients 128

8. Actualizar sites

El comando omd update se utiliza para actualizar el software de monitorización instalado en el site a una versión posterior. Esto se presenta en detalle en el artículo Actualizar Checkmk. Allí también se muestran, a modo de ejemplo, otros comandos útiles de omd relacionados con las actualizaciones de software:

  • omd versions para listar 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 por defecto utilizada al crear un site,

  • omd setversion establecer una versión por defecto diferente.

Por cierto, omd update también se utiliza para actualizar a otra edición, por ejemplo, de Checkmk edición Raw a Checkmk edición Enterprise.

9. Copia de seguridad y restauración de sites

9.1. Crear una copia de seguridad

La gestión de sitios en Checkmk tiene un mecanismo integrado para hacer copias de seguridad y restaurar sitios 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 utilizar 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 trabajos 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 root. Un usuario del site puede realizarla. Basta con introducir como argumento el nombre del archivo de copia de seguridad que se va a crear:

OMD[mysite]:~$ omd backup /tmp/mysite.tar.gz

Ten en cuenta que:

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

  • No guardes la copia de seguridad en el directorio del site, ya que, por supuesto, se realizará una copia de seguridad completa - por lo que cada copia de seguridad posterior contendrá una copia de todas sus predecesoras.

  • Si creas la copia de seguridad como usuario del site, sólo 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 tiene permisos de escritura para un usuario del site, también puedes hacer 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

La copia de seguridad contiene todos los datos del site - excepto los datos volátiles bajo ~/tmp/. Con el comando tar tzf se puede 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.1.0p8.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

9.2. Copia de seguridad sin historial

La mayor parte de los datos que hay que mover durante una copia de seguridad de un site son los valores medidos y los archivos de registro con eventos históricos. Esto es igual de cierto tanto al hacer una copia de seguridad como al copiar un site. Si no necesitas absolutamente estos datos, puedes omitirlos y así hacer la copia de seguridad mucho más rápida y el archivo de salida resultante mucho más pequeño.

omd backup proporciona las mismas opciones para omitir estos datos que omd cp al copiar. En el siguiente ejemplo, la copia de seguridad se crea sin datos de medición y sin el historial almacenado en los archivos de registro:

OMD[mysite]:~$ omd backup -N /tmp/mysite.tar.gz

9.3. Copia de seguridad de un site en ejecución

También se puede crear una copia de seguridad de un site en ejecución. Para garantizar un estado coherente de las Bases de datos Round Robin (RRD) utilizadas para registrar los datos de medición, el comando omd backup altera automáticamente la caché de Round Robin a un modo con el que las actualizaciones en ejecución sólo se escriben en el diario, y ya no en las RRD. Los archivos del diario son los últimos de los que se hace copia de seguridad, con lo que se consigue que se incluya también en la copia de seguridad la mayor cantidad posible de datos de medición que se hayan generado durante 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 tanto, para que la restauración funcione, debe estar instalada en el servidor esta misma versión.

El site se vacía completamente y se vuelve a llenar. Antes de omd restore hay que parar el site y después reiniciarlo:

OMD[mysite]:~$ omd stop
OMD[mysite]:~$ omd restore /tmp/mysite.tar.gz
OMD[mysite]:~$ omd start

Una restauración también puede ser realizada por un usuario de root. A diferencia de cuando es llamada por el usuario del site, el site se recreará con la copia de seguridad.

Por tanto, si todavía existe un site con el mismo nombre, tendrás que eliminarlo antes de la restauración. Esto puede realizarse con un omd rm, o simplemente incluyendo la opción --reuse con el omd restore. Un --kill garantiza además que el site ya existente se detiene antes de proceder a la restauración. No necesitas especificar el nombre del site en el comando, porque está contenido en la copia de seguridad:

root@linux# omd restore --reuse --kill /var/backup/mysite.tar.gz
root@linux# omd start mysite

Como root, también puedes restaurar un site con un nombre distinto 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

La larga lista de conversiones que ocurren aquí tiene la misma función que para copiar y renombrar sites descrita anteriormente. El nombre del site se incluye en numerosos ficheros de configuración, y con este procedimiento cualquiera de esas apariciones será reemplazada automáticamente por el nuevo nombre.

9.5. Copia de seguridad en vivo y restauración a otro servidor

Los comandos omd backup y omd restore pueden -siguiendo la 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 (-).

Cuanto mayor sea la copia de seguridad, más ventajoso será esto, ya que no se necesitará espacio temporal en el sistema de archivos del servidor del que se ha hecho la copia.

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

root@linux# omd backup mysite - | ssh user@otherserver "cat > /var/backup/mysite.tar.gz"

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

root@otherserver# ssh mysite@checkmkserver "omd backup -" > /var/backup/mysite.tar.gz

Si eres listo y combinas lo anterior con un omd restore que lea los datos de la entrada estándar, puedes copiar un site completo y en ejecución 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 -

Y ahora de nuevo todo el asunto con acceso SSH invertido - esta vez de nuevo desde el sistema de origen al sistema de destino:

root@linux# omd backup mysite - | ssh user@otherserver "omd restore -"

10. Desactivar sites

OMD puede desactivar sites. 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 al tmpfs.

  3. Se desmonta el tmpfs.

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

  5. Se reinicia Apache.

En este estado, el directorio de inicio del site, aquí /omd/sites/mysite, ya no es referenciado por ningún proceso. Esto es especialmente práctico en un clúster, ya que ahora el directorio de inicio se puede mover a otro nodo.

11. Borrar sites

Borrar un site es tan fácil como crearlo: con el comando omd rm como root. El site se detendrá automáticamente en primer lugar.

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

Atención: ¡Ni que decir tiene que esta acción también borra todos los datos del site!

Si no te gustan los diálogos de confirmación, o deseas realizar el borrado como parte de un script, se puede forzar el borrado con la opción -f.

Atención: Aquí el -f debe colocarse antes del rm:

root@linux# omd -f rm mysite

12. Desinstalar versiones no utilizadas

Como Checkmk puede estar instalado en varias versiones al mismo tiempo, puede ocurrir que no todas las versiones estén siendo utilizadas por una instancia. OMD puede desinstalar las versiones no utilizadas con el comando cleanup:

root@linux# omd cleanup
1.6.0p28.cee         In use (by mysite_old). Keeping this version.
2.1.0p15.cee         Uninstalling
2.1.0p15.cme         Uninstalling
2.1.0p15.cre         In use (by mysite_raw). Keeping this version.
2.1.0p19.cme         Keeping this version, since it is the default.
2022.12.14.cee       In use (by mysite). Keeping this version.

OMD mantiene la versión por defecto, además de las versiones utilizadas; a menos que se configure manualmente de otro modo, la última versión instalada de Checkmk, aquí 2.1.0p19.cme.

13. Archivos y directorios

Ruta Descripción

/omd/sites/mysite

Directorio del site para el site mysite.

~/etc/

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

En esta página