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. Introducción

Checkmk tiene una estructura muy modular, y quienes tengan conocimientos de programación en Python pueden ampliar esta estructura en muchos puntos. Entre otras cosas, es posible ampliar Checkmk con los siguientes elementos:

  • Plugins de agente y check plugin propios, incluidas máscaras de entrada para el entorno de configuración.

  • Plugins propios para el inventario de HW/SW de Checkmk.

  • Extensiones para la GUI (vistas de tabla, dashboards, columnas, iconos, etc.).

  • Definiciones de gráficos o Perf-o-Meters

  • Scripts de notificación y alert handler (también en shell u otros lenguajes de scripting).

Todas estas extensiones pueden implementarse colocando archivos adicionales en el directorio ~/local dentro del site Checkmk. Para gestionar estas extensiones, desplegarlas en entornos distribuidos y también compartirlas con otros usuarios, Checkmk proporciona su propio formato de paquete, el Paquete de extensión Checkmk, abreviado MKP.

Un MKP puede incluir cualquier conjunto de extensiones que desees: por ejemplo, un conjunto de plugins de check que incluya las páginas de manual asociadas, entornos de configuración de umbrales y definiciones métricas asociadas. Además, puede contener configuraciones para su distribución a través del Agent bakery. Un MKP tiene un nombre, un número de versión y puede instalarse o eliminarse con una simple acción.

Tip

Utiliza un site de pruebas para crear y personalizar MKPs, y copia los MKPs al site de uso en producción para distribuirlos. Esto te ahorrará dos problemas potenciales principales que surgen cuando los archivos modificados no se empaquetan en MKPs a tiempo:

  • Durante la actualización del Checkmk, los archivos modificados localmente se sobrescriben con el último estado del MKP (esto es exactamente lo que le ocurrió al autor de esta frase).

  • En la configuración distribuida, te preguntas porque los Plugin de los sites remotos se comportan de forma diferente a los del site central, ya que los sites remotos siguen recibiendo el último estado empaquetado.

1.1. El Checkmk Exchange

En el Checkmk Exchange, los programadores de plugins pueden proporcionar paquetes a otros usuarios de Checkmk e intercambiarlos entre ellos. Desde el Checkmk Exchange puedes descargar y utilizar extensiones de forma gratuita. Ten en cuenta que los paquetes del Checkmk Exchange son compartidos voluntariamente por otros usuarios y no ofrecen ninguna garantía.

Los Plugin mal programados pueden provocar un aumento de la carga de la CPU/sistema y de los requisitos de memoria. Además, es posible que un MKP se haya desarrollado para versiones anteriores de CMK y, por tanto, no sea totalmente compatible. En casos extremos, puede haber riesgo de pérdida de datos. Por tanto, recomendamos encarecidamente que, antes de utilizar MKP de terceros en un entorno de producción, se instalen primero en un site de pruebas.

1.2. Herramientas para los MKP

Existen dos herramientas para gestionar los MKP:

  • El comando mkp

  • En el Menú de configuración, el item Extension Packages (sólo ediciones comerciales)

A continuación te presentamos con más detalle estas dos herramientas de gestión, que son compatibles entre sí, de modo que puedes utilizar tanto el comando de la línea de comandos como Extension Packages sin "estropear nada".

2. Gestión de paquetes de ampliación a través del Menú de configuración

La posibilidad de gestionar MKPs a través de la GUI existe exclusivamente en las ediciones comerciales de Checkmk. En el menú Setup accedes a la administración de MKPs a través de Setup > Maintenance > Extension packages. Aquí puedes instalar, modificar o crear MKPs:

mkp manager sidebar

2.1. Añadir un MKP

Un MKP que hayas descargado de la Bolsa, por ejemplo, se puede subir a Checkmk pulsando el botón Upload package y, a continuación, estará disponible para su instalación. Para ello, el archivo debe estar presente en la máquina que también esté ejecutando tu navegador web. El nombre del archivo del paquete debe incluir la extensión .mkp.

mkp manager upload

Tras la instalación, el paquete de extensión estará disponible inicialmente. Se encuentra en All packages (enabled or disabled):

mkp manager present not active

2.2. Activar un MKP

Sólo con un clic en el icono del plugin se activará también un paquete disponible. Durante la activación, los archivos se instalan en una jerarquía de carpetas bajo ~/local/. El archivo de descripción del paquete también se coloca en ~/var/check_mk/packages/. Tras la activación, el paquete también aparecerá en la lista de MKPs habilitados y activos -Enabled (active on this site):

mkp manager list active

Ahora realiza una activación de cambios, tras la cual todas las funciones del paquete estarán ancladas en el sistema y listas para su uso.

2.3. Desactivar y eliminar paquetes

La eliminación completa de un paquete también se realiza en dos etapas. Con el botón desactiva primero un paquete de la lista de paquetes activos. En este paso se eliminan los archivos instalados, pero el MKP se mantiene - este paso sólo invierte la activación.

Con el icono de la lista de todos los paquetes, puedes volver a eliminar los paquetes instalados y no utilizados. Al eliminar, se borra el paquete y con él se elimina completamente la extensión - es decir, lo contrario de añadir un paquete.

2.4. MKPs en entornos distribuidos

En el caso de una configuración distribuida, basta con hacer que los paquetes estén disponibles en el sitio central. Para cada sitio remoto asociado al sitio central, puedes entonces determinar por separado si las personalizaciones deben propagarse a ese sitio remoto. Todo lo que tienes que hacer es activar la opción Replicate extensions. Después de eso, los MKP y todos los demás cambios dentro del directorio ~/local también se transferirán durante una sincronización.

mkp distr wato

Si no se desea una transferencia concreta, basta con desactivar la opción para este site o para todos.

Importante: Las personalizaciones de la configuración distribuida sólo se transferirán si la opción Enable replication está configurada como Push configuration to this site.

2.5. Un caso especial: paquetes activados pero inactivos

Una situación especial es el intento de activación de un paquete que no coincide con la versión de Checkmk utilizada. Un paquete de este tipo que esté activado, pero cuya activación falle debido a una versión de Checkmk incompatible, acabará en la lista Enabled (inactive on this site).

mkp manager all states

Pero, ¿por qué instalar paquetes que no coinciden con la versión de Checkmk que estás utilizando? Hay dos buenas razones posibles:

  1. Una actualización de la versión de Checkmk: Tienes la posibilidad de almacenar paquetes tanto para la versión antigua como para la nueva: cuando vuelvas a realizar una actualización, el paquete más nuevo se activará automáticamente.

  2. Monitorización distribuida: para facilitar las actualizaciones, la versión principal de Checkmk de los sites remotos puede ser una superior a la del site central. Sin embargo, esto dificultaba antes la distribución de MKPs, porque éstos tenían que ser compatibles con ambas versiones principales. Con la posibilidad de desbloquear paquetes no coincidentes, puedes guardar en el site central paquetes que coincidan tanto con la versión de origen como con la de destino. Entonces, la versión más nueva se activará automáticamente durante una actualización.

Por los números de versión que aparecen en la captura de pantalla anterior, puedes ver que se trata de un site central de Checkmk 2.1.0 que proporciona paquetes para sites remotos que ya se han actualizado a 2.2.0.

3. Gestionar paquetes de ampliación mediante la línea de comandos

También puedes realizar todas las acciones anteriores en la línea de comandos. Para ello se utiliza el comando mkp. Si lo invocas sin un subcomando, te muestra sugerencias sobre cómo utilizarlo. Hemos abreviado la salida, que tiene unas 50 líneas, a menos de la mitad aquí para mayor claridad:

OMD[mysite]:~$ mkp
usage: mkp [-h] [--debug] [--verbose] {find,inspect,show,show-all,files,list,add,...}

Command line interface for the Checkmk Extension Packages

options:
  -h, --help            show this help message and exit
  --debug, -d
  --verbose, -v         Be more verbose

available commands:
  {find,inspect,show,show-all,files,list,add,...}
    find                Show information about local files.
    inspect             Show manifest of an MKP file.
    show                Show manifest of a stored package.
    show-all            Show all manifests.
    files               Show all files beloning to a package.
    list                Show a table of all known files, including the deployment state.
    add                 Add an MKP to the collection of managed MKPs.
[...]

En las siguientes secciones, presentaremos los comandos más importantes para gestionar los MKP. Al final de este artículo encontrarás una útil referencia de comandos en forma de tabla.

3.1. Añadir un MKP

Añadir un paquete se realiza con mkp add. Para ello, por supuesto, primero debes llevar el archivo MKP al servidor Checkmk (por ejemplo, con scp). A continuación, ejecuta el siguiente comando:

OMD[mysite]:~$ mkp add /tmp/hello_world-0.2.5.mkp

Solicita una lista de los paquetes disponibles con mkp list. Tras una instalación, el paquete de extensión estará inicialmente disponible, pero no activo- en la lista tendrá el estado Disabled:

OMD[mysite]:~$ mkp list
Name        Version Title        Author                 Req. Version Until Version Files State
----------- ------- ------------ ---------------------- ------------ ------------- ----- --------
hello_world 0.2.5   Hello world! Checkmk knowledge team 2.3.0b1      2.5.99        8     Disabled

3.2. Activar un MKP

Sólo con el subcomando enable se activará también un paquete disponible. Especificar el número de versión sólo es necesario en el caso de que el nombre por sí solo no sea único:

OMD[mysite]:~$ mkp enable hello_world 0.2.5

Cuando se activan, los archivos se instalan en una jerarquía de directorios dentro de ~/local/ y el archivo de descripción del paquete se coloca en ~/var/check_mk/packages/. Esto hace que el paquete obtenga el estado Enabled (active on this site):

OMD[mysite]:~$ mkp list
Name        Version Title        Author                 Req. Version Until Version Files State
----------- ------- ------------ ---------------------- ------------ ------------- ----- -----------------------------
hello_world 0.2.5   Hello world! Checkmk knowledge team 2.3.0b1      2.5.99        8     Enabled (active on this site)

Los detalles sobre un paquete individual pueden obtenerse con mkp show, su estado de activación real no importa:

OMD[mysite]:~$ mkp show hello_world 0.2.5
Name:                          hello_world
Version:                       0.2.5
Packaged on Checkmk Version:   2.4.0b1
Required Checkmk Version:      2.3.0b1
Valid until Checkmk version:   2.5.99
Title:                         Hello world!
Author:                        Checkmk knowledge team
Download-URL:                  https://docs.checkmk.com/latest/en/devel_check_plugins.html
Files:
  Agents
    plugins/hello_world
    windows/plugins/hello_world.cmd
  Additional Checkmk plug-ins by third parties
    hello_world/agent_based/hello_world.py
    hello_world/checkman/hello_world
    hello_world/graphing/helloworld_perfometer_graphing.py
    hello_world/rulesets/ruleset_hello_world.py
    hello_world/rulesets/ruleset_hello_world_bakery.py
  Libraries
    python3/cmk/base/cee/plugins/bakery/hello_world.py
Description:
  This is a very basic plugin with the sole purpose to be used as template for your own plugin development...

3.3. Desactivar y eliminar paquetes

La desinstalación de un paquete se realiza en dos etapas. En primer lugar, el paquete se desactiva con mkp disable. Esto elimina los archivos instalados, pero conserva el paquete, para una posible reactivación posterior, por ejemplo. De nuevo, especificar el número de versión sólo es necesario en el evento de que el nombre del paquete por sí solo no sea único:

OMD[mysite]:~$ mkp disable hello_world 0.2.5

En la lista de paquetes verás ahora el estado Disabled cuando vuelvas a llamar a mkp list:

OMD[mysite]:~$ mkp list
Name        Version Title        Author                 Req. Version Until Version Files State
----------- ------- ------------ ---------------------- ------------ ------------- ----- --------
hello_world 0.2.5   Hello world! Checkmk knowledge team 2.3.0b1      2.5.99        8     Disabled

Sólo mkp remove borrará el paquete irrevocablemente:

OMD[mysite]:~$ mkp remove hello_world 0.2.5

3.4. Un caso especial: paquetes activados pero inactivos

Una situación especial es cuando se instala un paquete que no coincide con la versión de Checkmk que se está utilizando:

OMD[mysite]:~$ mkp install hello_world-0.3.0.mkp
The package requires Checkmk version 2.5.0, but you have 2.3.0p23 installed.

Puedes activar dicho paquete, pero la activación fallará debido a la versión incompatible de Checkmk, y el paquete obtendrá el estado Enabled (inactive on this site).

OMD[mysite]:~$ mkp list
Name        Version Title        Author                 Req. Version Until Version Files State
----------- ------- ------------ ---------------------- ------------ ------------- ----- -------------------------------
hello_world 0.3.0   Hello world! Checkmk knowledge team 2.5.0b1      2.6.99        8     Enabled (inactive on this site)
hello_world 0.2.5   Hello world! Checkmk knowledge team 2.3.0b1      2.5.99        8     Enabled (active on this site)

Ya hemos explicado las posibles circunstancias en las que se puede optar por instalar paquetes incompatibles -por ejemplo, con actualizaciones en entornos distribuidos- en la sección Configuración correspondiente. De forma similar al procedimiento de Configuración, utiliza mkp enable packagename version para activar un paquete, o mkp disable packagename version para desactivar uno existente.

4. MKPs para desarrolladores

La mayoría de los que sabemos o aprendemos programación somos "como enanos subidos a hombros de gigantes para poder ver más y más lejos que ellos": es en el Open Source donde realmente podemos beneficiarnos del trabajo anterior de otros. En el caso de Checkmk, esto es especialmente cierto para las extensiones, que, en el contexto de la GPL, son obras derivadas del propio Checkmk, que a su vez está sujeto a la GPL(versión 2.0). Concretamente, esto significa que puedes personalizar los paquetes descargados de Checkmk Exchange a tu gusto (o simplemente para las necesidades actuales).

En las siguientes secciones mostramos -empezando por el reempaquetado con pequeños cambios, pasando por la resolución de un paquete existente (de ejemplo), hasta la compilación de archivos desempaquetados- todos los pasos relevantes presentados en la secuencia típica en que se realizan.

Si estás programando o modificando tus propios plugins para Checkmk, consulta los artículos sobre lasinterfaces de programación existentes, la integración en el Agent bakeryy las directrices para los plugins de check.

4.1. Edición de paquetes

La corrección de errores menores a menudo hace necesario adaptar un paquete existente sin cambiar su estructura o nombre. En este caso, es aconsejable no sólo adaptar los archivos existentes almacenados en el sistema de archivos, sino también actualizar al menos el número de versión del paquete. Si los cambios en las API de Checkmk requieren modificaciones en un paquete, ajusta también los números de versión almacenados en el paquete para las versiones mínima y máxima soportadas. Además, al utilizar la Agent bakery, la presencia de nuevos MKP desencadena la reconstrucción de los paquetes de agentes.

En las ediciones comerciales, utiliza el icono para acceder al diálogo de modificaciones.

mkp edit description

En cambio, los usuarios de Checkmk Raw realizan los dos pasos siguientes mediante resolver y recrear.

4.2. Desempaquetar paquetes

Menú de configuración

El desempaquetado de un paquete "libera" los archivos empaquetados dentro de ~/local/, por así decirlo, y elimina sólo la descripción del paquete. Como resultado, los archivos se desempaquetarán y las extensiones permanecerán activas. Esto es lo contrario de crear un paquete a partir de archivos previamente desempaquetados.

En la práctica, lo más probable es que necesites desempaquetar cuando quieras personalizar una extensión y volver a empaquetarla más tarde para incluir las modificaciones. Por ejemplo, puedes empezar con nuestro ejemplo ¡Hola mundo!, que no hace nada realmente útil pero puede servirte de plantilla para tu primer paquete personalizado.

La línea de comandos

En la línea de comandos, puedes liberar un paquete con el comando mkp release. El paquete que se va a desempaquetar debe tener el estado Enabled (active on this site) para que esto funcione. Los archivos de extensión reales se conservan y sólo se elimina la descripción del paquete:

OMD[mysite]:~$ mkp release hello_world

El paquete original permanece intacto y cambia su estado a Enabled (inactive on this site). Por tanto, también puede servir como copia de seguridad en caso de que algo vaya mal durante la personalización. Entonces sólo tienes que borrar los archivos "redundantes", volver a activar el paquete y empezar de nuevo.

4.3. Encontrar archivos no empaquetados

Menú de configuración

Una vez finalizado el trabajo de programación o personalización, será necesario volver a encontrar los archivos existentes y añadidos. Como estos archivos no pertenecen actualmente a ningún paquete, aparecen en la lista de Configuración en Unpackaged files:

mkps unpackaged
Lista de Unpackaged files y el botón Create package

La línea de comandos

El equivalente de la línea de comandos es mkp find:

OMD[mysite]:~$ mkp find
File                                                    Package Version Part                                         Mode
------------------------------------------------------- ------- ------- -------------------------------------------- ----------
hello_world/rulesets/ruleset_hello_world_bakery.py                      Additional Checkmk plug-ins by third parties -rw-------
hello_world/agent_based/hello_world.py                                  Additional Checkmk plug-ins by third parties -rw-------
hello_world/checkman/hello_world                                        Additional Checkmk plug-ins by third parties -rw-------
hello_world/rulesets/ruleset_hello_world.py                             Additional Checkmk plug-ins by third parties -rw-------
hello_world/graphing/helloworld_perfometer_graphing.py                  Additional Checkmk plug-ins by third parties -rw-------
plugins/hello_world                                                     Agents                                       -rwx------
windows/plugins/hello_world.cmd                                         Agents                                       -rwx------
python3/cmk/base/cee/plugins/bakery/hello_world.py                      Libraries                                    -rw-------

Elimina los archivos que no sean necesarios, o anota qué archivos no deben incluirse en el nuevo paquete. En el siguiente paso, los archivos desempaquetados se combinarán (de nuevo) en un paquete.

4.4. Crear paquetes

Menú de configuración

El botón Create package de la vista general de archivos descomprimidos te lleva al diálogo para crear un nuevo paquete:

mkps create

Además de los detalles obvios, es importante que selecciones al menos un archivo para empaquetar. Al crear un paquete también se crea una descripción del paquete en ~/var/check_mk/packages/, que contiene información general, así como la lista de los archivos incluidos. Por supuesto, la versión máxima de Checkmk admitida es difícil de predecir sin una bola de cristal.

Tip

Las extensiones que utilizan las nuevas API introducidas en Checkmk 2.3.0 están preparadas para el futuro y también funcionarán hasta Checkmk 2.5.0 sin ningún ajuste. En este caso, puedes introducir 2.5.99 para Valid until Checkmk version como la versión máxima de Checkmk soportada. En el momento de la revisión de este artículo no se puede hacer ninguna declaración para el futuro después de esa versión. Los paquetes que utilicen las API introducidas en Checkmk 2.0.0 dejarán de funcionar con Checkmk 2.4.0. Introduce aquí 2.3.99 como versión máxima soportada.

Ahora puedes descargar este paquete recién creado como un archivo MKP a través de la lista de paquetes con el icono - para transferirlo a otro sistema o para subirlo al Exchange, por ejemplo.

La línea de comando

El procedimiento para crear MKPs en la línea de comandos es análogo al del menú de configuración. Primero, utiliza mkp template para crear una configuración de paquete que (por ahora) contenga todos estos archivos. Especifica el nombre deseado para el nuevo paquete como parámetro:

OMD[mysite]:~$ mkp template hello_world_ng
Created 'tmp/check_mk/hello_world_ng.manifest.temp'.
You may now edit it.
Create the package using mkp package tmp/check_mk/hello_world_ng.manifest.temp.

Ahora edita las propiedades del paquete con un editor de texto:

tmp/comprobar_mk/hola_mundo_ng.manifest.temp
{'author': 'Add your name here',
 'description': 'Please add a description here',
 'download_url': 'https://example.com/hello_world_ng/',
 'files': {'agents': ['plugins/hello_world', 'windows/plugins/hello_world.cmd'],
           'cmk_addons_plugins': ['hello_world/agent_based/hello_world.py',
                                  'hello_world/checkman/hello_world',
                                  'hello_world/graphing/helloworld_perfometer_graphing.py',
                                  'hello_world/rulesets/ruleset_hello_world.py',
                                  'hello_world/rulesets/ruleset_hello_world_bakery.py'],
           'lib': ['python3/cmk/base/cee/plugins/bakery/hello_world.py']},
 'name': 'hello_world_ng',
 'title': 'Title of hello_world_ng',
 'version': '1.0.0',
 'version.min_required': '2.3.0p27',
 'version.packaged': 'cmk-mkp-tool 0.2.0',
 'version.usable_until': None}

Edita este archivo según tus necesidades. Presta atención a la sintaxis correcta de Python: las cadenas Unicode (textos que contienen caracteres no ASCII como diéresis) deben ir precedidas de un pequeño u, por ejemplo.

En la entrada files, puedes eliminar los archivos que no deban empaquetarse. En version.min_required introduce la versión mínima de Checkmk necesaria para poder utilizar el paquete.

Cuando hayas terminado, puedes crear un archivo MKP con mkp package:

OMD[mysite]:~$ mkp package tmp/check_mk/hello_world_ng.manifest.temp
Successfully created hello_world_ng 1.0.0
Successfully wrote package file
Removing packaged files before reinstalling...
[hello_world_ng 1.0.0]: Removed file local/share/check_mk/agents/plugins/hello_world
[hello_world_ng 1.0.0]: Removed file local/share/check_mk/agents/windows/plugins/hello_world.cmd
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk_addons/plugins/hello_world/graphing/helloworld_perfometer_graphing.py
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk_addons/plugins/hello_world/agent_based/hello_world.py
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk_addons/plugins/hello_world/rulesets/ruleset_hello_world.py
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk_addons/plugins/hello_world/rulesets/ruleset_hello_world_bakery.py
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk_addons/plugins/hello_world/checkman/hello_world
[hello_world_ng 1.0.0]: Removed file local/lib/python3/cmk/base/cee/plugins/bakery/hello_world.py
[hello_world_ng 1.0.0]: Installing
Successfully installed hello_world_ng 1.0.0

Los paquetes se almacenan en ~/var/check_mk/packages_local:

OMD[mysite]:~$ ll ~/var/check_mk/packages_local/*.mkp
-rw-rw---- 2 mysite mysite 4197 Mar 15 13:37 hello_world_ng-1.0.0.mkp

5. El formato de paquete MKP

Puede que quieras programar y empaquetar nuevos paquetes de extensión en una máquina de desarrollo, y luego transferir el paquete terminado al servidor Checkmk para que lo pruebe. Esto es bastante fácil de hacer, ya que el formato MKP es simplemente un archivo .tar.gz, que a su vez contiene archivos .tar y archivos de manifiesto.

Examinando el hello_world-0.2.5.mkp descargado se revela el primer nivel de su estructura:

user@host:~$ tar tvf hello_world-0.2.5.mkp
-rw-r--r-- 0/0            1715 2025-03-07 16:19 info
-rw-r--r-- 0/0            1311 2025-03-07 16:19 info.json
-rw-r--r-- 0/0           10240 2025-03-07 16:19 agents.tar
-rw-r--r-- 0/0           20480 2025-03-07 16:19 cmk_addons_plugins.tar
-rw-r--r-- 0/0           10240 2025-03-07 16:19 lib.tar

Descomprime el paquete en un directorio temporal, y allí podrás ver el contenido de los archivos tar incluidos. Las rutas de los archivos son relativas al directorio que contiene sus respectivos componentes:

user@host:~$ tar tvf cmk_addons_plugins.tar
-rw------- mysite/mysite 3711 2025-03-07 10:59 hello_world/agent_based/hello_world.py
-rw------- mysite/mysite 1079 2025-03-07 10:59 hello_world/checkman/hello_world
-rw------- mysite/mysite 1179 2025-03-07 10:59 hello_world/graphing/helloworld_perfometer_graphing.py
-rw------- mysite/mysite 3373 2025-03-07 10:59 hello_world/rulesets/ruleset_hello_world.py
-rw------- mysite/mysite 2634 2025-03-07 10:59 hello_world/rulesets/ruleset_hello_world_bakery.py

¿Y qué pasa con los dos archivos de manifiesto info y info.json? Ya has visto anteriormente el archivo info y sus campos en formato Python Dict. El equivalente JSON info.json contiene exactamente los mismos campos y valores, pero se ha serializado en formato JSON. Si quieres construir el paquete como parte de un script, debes introducir el archivo Python dict info y generar a partir de él el archivo JSON info.json antes de empaquetarlo.

Cuando vuelvas a empaquetar los archivos, ten cuidado de no incluir rutas de archivos que no formen parte de la jerarquía de carpetas en ~/local. El nivel superior debe contener sólo los manifiestos y los archivos tar.

6. Referencia de comandos

6.1. Gestión

Subcomando Parámetro Función

add

Nombre de archivo del paquete que se va a añadir

Hace que un paquete esté disponible, pero no lo activa todavía.

enable

Nombre del paquete (y número de versión, si procede)

Activa un paquete para uso local o para su distribución a sites remotos, dependiendo de la compatibilidad de versiones.

disable

Nombre del paquete y número de versión

Desactiva un paquete, que permanece disponible en el sistema de archivos.

remove

Nombre del paquete y número de versión

Elimina completamente un paquete desactivado anteriormente.

install

Nombre del paquete a añadir

Este subcomando está obsoleto y se eliminará en breve.

list

ninguno

Lista todos los paquetes disponibles y su estado de activación.

inspect

Nombre de archivo del paquete a inspeccionar

Muestra información sobre un MKP desinstalado.

show

Nombre del paquete (y número de versión, si procede)

Muestra información sobre un MKP disponible.

show-all

ninguno

Muestra información sobre todos los MKP disponibles.

files

Nombre del paquete (y número de versión si procede)

Lista todos los archivos pertenecientes a un paquete.

6.2. Desarrollo

Subcomando Parámetro Función

release

Nombre del paquete

Resuelve un paquete activo.

find

ninguno

Lista todos los archivos que no pertenecen a ningún paquete.

template

Nombre del nuevo paquete a crear

Crea un archivo de manifiesto como base para un nuevo paquete.

package

Ruta al archivo de manifiesto

Crea un MKP basado en el contenido de un archivo de manifiesto.

6.3. Actualiza

Subcomando Parámetro Función

disable-outdated

ninguno

Desactiva los paquetes que ya no coinciden con la versión de Checkmk tras una actualización.

update-active

ninguno

Activa los paquetes que coinciden con la versión Checkmk tras una actualización.

En esta página