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. Monitorización sintética con Robot Framework

La monitorización sintética de Checkmk está disponible en las ediciones comerciales de Checkmk, pero requiere una suscripción adicional. No obstante, puedes probar la función con hasta tres pruebas de forma gratuita y sin límite de tiempo.

Con Checkmk puedes supervisar tu propia infraestructura muy de cerca, hasta la cuestión de si un servicio concreto, como un servidor web, funciona correctamente. Si tu sitio web funciona a través de un servicio cloud de terceros, no tendrás acceso al servicio en sí, pero puedes utilizar un check HTTP para verificar si el sitio web es accesible. Pero, ¿dirá eso algo sobre la experiencia del usuario? El hecho de que una tienda online sea accesible no significa que la navegación, los procesos de pedido y similares funcionen sin problemas.

Aquí es donde entra en juego la Monitorización Sintética de Checkmk. Con el Plugin Robotmk, Checkmk ofrece una auténtica monitorización de extremo a extremo, es decir, la monitorización de las aplicaciones en ejecución desde la perspectiva del usuario. Las pruebas reales las lleva a cabo el software de código abierto Robot Framework, del que también es miembro Checkmk GmbH.

El software de automatización puede utilizarse para reproducir completamente el comportamiento de un usuario, por ejemplo, para simular procesos de pedido en tiendas online, "clic a clic". Lo especial de Robot Framework es que las pruebas no se escriben en un lenguaje de programación completo, sino que se definen utilizando palabras clave fáciles de usar, como Open Browser o Click Button. Basta con un Open Browser checkmk.com para llamar al sitio web de Checkmk. A continuación, se combinan varios casos de prueba en las denominadas suites de prueba (en forma de archivo .robot ).

Robotmk puede ahora activar estos conjuntos de pruebas de Robot Framework en el host y monitorizar su ejecución y resultados como servicios en Checkmk. En la interfaz web de Checkmk encontrarás entonces el estado, los gráficos de rendimiento asociados y las evaluaciones originales del propio Robot Framework.

1.1. Componentes

Múltiples componentes trabajan juntos para crear esta monitorización de extremo a extremo, por lo que a continuación te ofrecemos una breve visión general.

Servidor Checkmk

La monitorización sintética de Checkmk se realiza mediante Robotmk, que utiliza un plugin de agente como recopilador de datos, y el programador de Robotmk (en el host monitorizado) para activar los proyectos de Robot Framework. La monitorización sintética se activa y configura mediante la regla Robotmk Scheduler. Aquí se especifica qué suites de pruebas deben ejecutarse y cómo debe iniciarlas exactamente Robot Framework, resumido en un plan.Una vez desplegado, el programador de Robotmk en el host de destino garantiza la ejecución programada de tus suites de Robot Framework.

En la monitorización, se generarán varios servicios nuevos: RMK Scheduler Status muestra el estado del propio programador, es decir, si los conjuntos de pruebas pudieron iniciarse con éxito. También hay servicios para todos los planes de pruebas configurados (como RMK MyApp1 Plan) y pruebas individuales de los conjuntos de pruebas (como RMK MyApp1 Test). Los servicios de las pruebas individuales también incluyen los informes originales de Robot Framework.

Por último, pero no por ello menos importante, hay dos reglas de servicio opcionales: Robotmk plan y Robotmk test que permiten un ajuste preciso de los servicios del plan y de las pruebas, por ejemplo, para efectuar cambios de estado en determinados tiempos de ejecución.

Robotmk rules in the setup menu.
Las reglas de Robotmk en Checkmk

Máquina de pruebas

Debes proporcionar los conjuntos de pruebas de Robot Framework en un host Windows. Para su ejecución, Robot Framework necesita acceder a sus dependencias (Python, bibliotecas, controladores para la automatización del navegador, etc.). Esta configuración es independiente de Checkmk y puede almacenarse de forma declarativa en un paquete portátil. Esto se realiza con la herramienta de línea de comandos de código abierto RCC. Esta herramienta utiliza tus archivos de configuración en formato YAML para construir entornos virtuales de Python que incluyen las dependencias y el propio Robot Framework. El programador de Robotmk que se ejecuta como un proceso en segundo plano activa esta construcción y, a continuación, ejecuta las pruebas por sí mismo.

Este paquete de automatización RCC con la configuración del paquete (robot.yaml), la definición del entorno de ejecución (conda.yaml) y los conjuntos de pruebas (tests.robot) también se denomina robot. RCC y el programador se despliegan con el agente Checkmk, el paquete de automatización debe estar disponible en el host.

La gran ventaja de RCC es que el propio host Windows que lo ejecuta no necesita un entorno Python configurado.

El propio agente sólo es necesario para la transferencia de resultados, registros y capturas de pantalla. Esto también permite la monitorización de suites de muy larga duración o que consuman muchos recursos localmente, siempre que tu host Windows disponga de las capacidades correspondientes.

2. Monitorización de suites de pruebas con Robotmk

A continuación, te mostraremos cómo incluir un conjunto de pruebas en la monitorización. Como ejemplo utilizaremos un sencillo conjunto Hola Mundo que sólo emite dos cadenas y que espera brevemente entre cada una de ellas. Por supuesto, una introducción a Robot Framework no es el tema de este artículo, pero es necesario echar un breve vistazo al paquete de automatización y al conjunto de pruebas de demostración para que puedas ver qué datos terminan dónde en la monitorización.

El ejemplo se ejecuta sobre la base de RCC, de modo que el host de Windows no tiene que configurarse por separado. El rcc.exe se despliega con el agente y puede encontrarse en C:\ProgramData\checkmk\agent\bin\. Puedes descargar el conjunto de pruebas de muestra como archivo ZIP a través de GitHub. El directorio del conjunto de pruebas:

C:\robots\mybot\
conda.yaml
robot.yaml
tests.robot
Tip

RCC también puede procesar suites de pruebas basadas en otros lenguajes de programación, pero para utilizarlas en Checkmk debe tratarse de la declaración Robot Framework.

El directorio de la suite contiene ahora dos archivos importantes: la declaración del entorno necesario para la ejecución en el archivo conda.yaml y las pruebas reales en el archivo tests.robot (la suite). El archivo robot.yaml no es relevante para su uso en Checkmk, pero es necesario para RCC.

En aras de la exhaustividad, he aquí un breve vistazo al archivo robot.yaml:

C:\robots\mybot\robot.yaml
tasks:
  task1:
    # (task definitions are not required by Robotmk,
    but expected by RCC to be compatible with other Robocorp features)
    shell: echo "nothing to do"

environmentConfigs:
  - conda.yaml

artifactsDir: output

Al principio, tasks define qué tareas, aquí pruebas, deben ejecutarse en absoluto. Sin embargo, aunque esta parte es formalmente requerida por RCC, Robotmk no la utiliza.

Tip

Robot Framework distingue entre pruebas y tareas, que representan automatizaciones, pero ambas se utilizan exactamente igual.

En el área environmentConfigs, sólo se hace referencia a conda.yaml, que se ocupa del entorno real.

En este caso, sólo se instalan las dependencias de Python, Pip y Robot Framework para el entorno. La construcción del entorno aparece posteriormente en la monitorización como RCC environment build status. Las pruebas sólo se pueden procesar y, en consecuencia, monitorizar, si el entorno se ha construido correctamente.

c:\robots\mybot\conda.yaml
channels:
  - conda-forge

dependencies:
  - python=3.10.12
  - pip=23.2.1
  - pip:
     - robotframework==7.0

El conjunto de pruebas real tiene ahora este aspecto:

C:\robots\mybot\pruebas.robot
*** Settings ***
Documentation Template robot main suite.

*** Variables ***
${MYVAR}    Hello Checkmk!

*** Test Cases ***
My Test
    Log ${MYVAR}
    Sleep 3
    Log Done.

Aquí sólo se muestra el valor de la variable MYVAR y, tras una espera de 3 segundos, se mostrará Done. Puedes establecer el valor de la variable más adelante en la interfaz web de Checkmk; de lo contrario, se utilizará el valor por defecto Hello Checkmk! especificado aquí.

Tip

Puedes ejecutar este conjunto de pruebas manualmente. Para ello, el agente y el RCC deben estar ya instalados (o puedes descargarte tú mismo el binario del RCC). En primer lugar, ve al directorio de tu conjunto de pruebas, donde también se encuentra tests.robot. A continuación, inicia el intérprete de comandos del RCC con C:\ProgramData\checkmk\agent\bin\rcc.exe task shell. Se crea entonces el entorno virtual definido en conda.yaml. Después, inicia el conjunto con robot tests.robot.

Y esto es exactamente lo que hace el programador Robotmk en cuanto se activa el plugin de agente.

2.1. Configurar una regla para el plugin de agente

Puedes encontrar el programador de Robotmk en Setup > Agent rules > Robotmk scheduler (Windows). Como la regla es bastante extensa, a continuación te mostramos la configuración vacía:

Empty Robotmk scheduler rule.
Configuración del plugin de agente

En primer lugar, el programador necesita el directorio base en el que se encuentran todos tus conjuntos de pruebas. Introduce esta ruta de archivo arbitraria y explícita en Base directory of suites, por ejemplo C:\robots.

Path for test suites.
Directorio base para todos los proyectos de Robot Framework

El Parallel plan groups que se muestra ahora es un concepto específico de Checkmk.

Para explicarlo, primero debemos descender un nivel jerárquico: aquí puedes ver el item Sequential plans. Un plan secuencial de este tipo define qué suites deben ejecutarse con qué parámetros. Robot Framework procesará estas suites una tras otra. La razón de esto es sencilla: en la práctica, las pruebas se ejecutan a veces en el escritorio y varias suites de pruebas podrían estorbarse entre sí al mismo tiempo (piensa que se roban mutuamente el control del puntero del ratón).

Los grupos de planes son ahora una encapsulación para los planes ejecutados secuencialmente, y ellos mismos se ejecutan en paralelo. De nuevo, el razonamiento es sencillo: esto permite que los conjuntos de pruebas que no dependen del escritorio se ejecuten en sus propios planes sin demora -el conjunto de pruebas utilizado en este artículo es un buen ejemplo de dicho proceso.

Volvamos al diálogo: El único ajuste explícito es el intervalo de ejecución, que estableces en Group execution interval.

Execution interval for execution groups.
Intervalo para la ejecución (paralela) de grupos de planes
Important

Los planes del grupo de planes tienen, naturalmente, sus propios tiempos de ejecución, determinados por el timeout de una sola ejecución y el número máximo de ejecuciones repetidas en caso de pruebas fallidas. Por tanto, el intervalo de ejecución del grupo de planes debe ser mayor que la suma de los tiempos de ejecución máximos de todos los planes del grupo. El tiempo de ejecución máximo de un plan se calcula de la siguiente manera: Limit per attempt × (1 + Maximum number of re-executions).

Ahora es el momento de configurar el primer plan. Puedes introducir cualquier nombre en Application name. ¡Este nombre no tiene por qué ser único! Aquí tiene sentido el nombre de la aplicación que se va a monitorizar, por ejemplo OnlineShop, o aquí en este ejemplo simplemente MyApplication. Por supuesto, puede ocurrir que esta tienda online sea probada varias veces, ya sea por otros conjuntos de pruebas o por el mismo conjunto de pruebas con diferentes parámetros. En tales casos, el campo Variant se utiliza para obtener resultados inequívocos a pesar de que los nombres sean idénticos. Por ejemplo, si la aplicación OnlineShop se prueba una vez en alemán y otra en inglés (mediante parámetros correspondientes), podrías utilizar aquí las abreviaturas correspondientes. La monitorización devolverá entonces resultados para My OnlineShop_en y My OnlineShop_de.

Sin embargo, es necesario especificar Relative path to test suite file or folder. La ruta es relativa al directorio base especificado anteriormente, por ejemplo mybot\test.robot para C:\robots\. También se puede especificar aquí un directorio (con varios archivos robot ), en cuyo caso sería simplemente mybot.

Name and path of the suite.
Plan de ejecución de las suites

Continúa con Execution configuration.En Limit per attempt defines el tiempo máximo transcurrido -por intento- que puede ejecutarse un conjunto de pruebas. Con Robot Framework re-executions puedes indicar ahora a Robot Framework que repita los conjuntos de pruebas por completo o de forma incremental si las pruebas fallan. Si las pruebas individuales de un conjunto de pruebas son independientes entre sí, la estrategia incremental es la mejor forma de ahorrar tiempo. Si, por el contrario, el conjunto de pruebas comprueba una secuencia lógica, como "Inicio de sesión → Llamar a la página del producto → Producto en la cesta de la compra → Pago", el conjunto de pruebas debe, por supuesto, volver a procesarse por completo. Al final, siempre hay un único resultado.

En caso de reintentos completos, para el resultado final sólo se tienen en cuenta los resultados de las suites autónomas: Si una prueba falla en su último reintento, el conjunto de pruebas se cuenta como un fracaso. En el caso de los reintentos incrementales, el resultado final se compone de los mejores resultados parciales: Si algunas pruebas sólo se ejecutan con éxito en el tercer intento, el resultado final también se cuenta como un éxito. Recordatorio: La combinación de intentos y tiempos máximos de ejecución de todos los planes de un grupo de planes determina su intervalo mínimo de ejecución.

Configuration of execution runtimes and repetitions.
Las pruebas/suites fallidas pueden repetirse

Por defecto, la ejecución a través de RCC se activa en Automated environment setup (via RCC), para lo que debes introducir dos valores. En primer lugar, RCC requiere que se especifique dónde se encuentra el archivo robot.yaml. Su finalidad principal es hacer referencia al archivo conda.yaml, que se encarga de configurar el entorno de Python, es decir instalar Python y las dependencias. Esta especificación es relativa al directorio base que has establecido anteriormente en Relative path to test suite file or folder. Los archivos YAML pueden guardarse en subdirectorios, pero la mejor práctica es el directorio superior de la suite. Para el directorio base anterior C:\robot\ y el directorio de la suite C:\robot\mybot es en consecuencia mybot\robot.yaml.

Con el siguiente límite de tiempo para construir el entorno Python, debes tener en cuenta que a veces es necesario descargar y configurar grandes volúmenes de datos. Especialmente para los navegadores necesarios, se acumulan rápidamente varios cientos de megabytes, pero sólo para la primera ejecución. RCC sólo reconstruye los entornos si el contenido de conda.yaml ha cambiado.

RCC configuration of the suite.
Límite de tiempo para construir entornos virtuales

En Robot Framework parameters tienes la posibilidad de utilizar algunos de los parámetros de la línea de comandos de Robot Framework (que también se muestran con el comando robot --help). Si quieres utilizar parámetros adicionales, te ayudará la opción Argument files. Un archivo especificado aquí puede contener cualquier parámetro del robot. Puedes encontrar más información sobre los parámetros individuales en la ayuda en línea.

Para nuestro proyecto de ejemplo, sólo se activa la opción Variables y se establece una variable MYVAR con el valor My Value. ¿Recuerdas el comando Log ${MYVAR} en la parte superior del archivo tests.robot? Ésta es la referencia correspondiente.

Command line parameters of Robot Framework.
Algunas opciones del comando robot

Al final de la configuración de la suite, hay tres opciones que se explican por sí mismas.Execute plan as a specific user permite ejecutar Robotmk en el contexto de una cuenta de usuario específica. Antecedentes: Por defecto, Robotmk se ejecuta en el contexto del agente Checkmk(cuenta LocalSystem), que no tiene autorización para acceder al escritorio. Aquí se puede especificar un usuario que debe estar permanentemente conectado a una sesión de escritorio y que, en consecuencia, tiene acceso a las aplicaciones gráficas del escritorio.

Con Assign plan/test result to piggyback host, los resultados del plan/prueba pueden asignarse a otro host. Por ejemplo, si Robot Framework está probando el proceso de pedido de una tienda online, los resultados pueden asignarse al servidor web correspondiente.

Cada ejecución de prueba produce datos que se almacenan en C:\ProgramData\checkmk\agent\robotmk_output\working\suites\. Por defecto, se conservan los resultados de los últimos 14 días, pero debes tener en cuenta que aquí pueden acumularse rápidamente grandes volúmenes de datos. Se generan al menos 500 kilobytes de datos por ejecución -con suites de pruebas más complejas y capturas de pantalla incrustadas, por ejemplo, esto puede sumar rápidamente varios megabytes de datos. Dependiendo del intervalo de ejecución, del tamaño del informe y de tus requisitos de documentación, debes intervenir en tal situación.

Options for user context, host assignment and automatic cleanup
Limpieza automática del gran volumen de datos generados

Una vez aquí, ahora puedes crear más planes en este grupo de planes o en otros grupos de planes.

Al final hay dos opciones más, que a su vez se refieren a la configuración completa del planificador Robotmk.

RCC profile configuration te permite especificar los servidores proxy y hosts que deben excluirse.

Grace period before scheduler starts también puede ser muy útil: El programador se inicia junto con el agente Checkmk antes del inicio de sesión en el escritorio, lo que, por supuesto, significa que cualquier prueba en el escritorio debe fallar. El inicio puede retrasarse manualmente mediante un periodo de gracia.

Options for proxy server and a grace period for the scheduler start.
Un periodo de gracia evita fallos

Esto completa la configuración y puedes crear un nuevo agente con el Plugin y luego desplegarlo, manualmente o mediante las actualizaciones automáticas del agente.

Datos de salida del agente

La salida en el agente es bastante extensa: mensajes de error, estado, configuración y datos de prueba se transmiten en varias secciones. Estos últimos se pueden encontrar en la sección robotmk_suite_execution_report, aquí tienes un extracto abreviado:

mysite-robot-host-agent.txt
<<<<robotmk_suite_execution_report:sep(0)>>> { "intentos": [ { "índice": 1, "resultado": "TodasLasPruebasPasadas", "tiempo de ejecución": 20 } ], "rebot": { "OK": { "xml": "<?xml version="1.0\" encoding="UTF-8\"?>r\n <robot generator="Rebot 6.1.1 (Python 3.10.12 en win32)\" generated="20240319 16:23:19.944\" rpa="true\" schemaversion="4\">\n<suite id="s1\" name="Mybot\" source="C:\bots\mybot">\r\n<suite id="s1-s1" name="Pruebas\" source="C:\bots\mybot\tests.robot\">\r\n<test id="s1-s1-t1" name="Mytest\" line=\"6\">\r\n<kw name="Sleep\" library="BuiltIn\">\r\n<arg>3 Segundos</arg>\r\n<doc>Pausa la prueba ejecutada durante el tiempo dado.</doc>\r\n<msg timestamp="20240319 16:23:02.936\" level=\"INFO\">Ha durado 3 segundos</msg>\r\n<status status="PASS\" starttime="20240319 16:23:00.934\" endtime="20240319 16:23:02.936\"/>" }, "suite_id": "mybot", "timestamp": 1710861778 } ... "html_base64": "PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW ...

Aquí hay dos áreas de especial interés. En primer lugar, rebot: La herramienta rebot ha producido el informe de estado real de Robot Framework a partir de varios resultados parciales (de ahí lo de re-bot). En segundo lugar, la última línea html_base64: Los informes HTML de Robot Framework se codifican en base64. Las capturas de pantalla tomadas a través de las pruebas también se transfieren de este modo: el volumen de salida/datos en el agente puede ser correspondientemente amplio.

Datos en monitorización

En cuanto se hayan ejecutado el programador Robotmk y el conjunto de pruebas, el descubrimiento de servicios producirá tres nuevos servicios:

Robotmk-Services im Monitoring
Los servicios Robotmk recién descubiertos

El servicio RMK Scheduler Status existe una vez e inmediatamente después de su distribución. Los servicios para planes y pruebas, aquí RMK MyApplication_mybot Plan y RMK MyApplication_mybot Test: /Test: My Test, se añaden a la monitorización en cuanto se ejecutan por primera vez las suites asociadas.

2.2. Configurar reglas de servicio

Crear una regla para el estado del plan

Recordatorio: Los tiempos máximos de ejecución de los planes se definieron en la regla del agente anterior. Estos tiempos de ejecución pueden evaluarse con la regla Robotmk plan. Por ejemplo, puedes establecer el servicio en CRIT cuando se haya alcanzado el 90 por ciento de todos los timeouts calculados.

Configuration dialog for threshold values for runtimes of test suites.
Valores umbrales para cambios de estado basados en tiempos de ejecución

En la caja Conditions, existe la opción de restringir la regla a determinados planes.

Dialog with restriction to the test suite 'mybot'.
Restricción opcional a determinados planes

Creación de una regla para el estado de la prueba

También se pueden obtener datos adicionales para pruebas individuales de los conjuntos de pruebas mediante la regla Robotmk test. Aquí encontrarás de nuevo la opción de monitorización de los tiempos de ejecución, tanto de las pruebas como de las palabras clave. La monitorización de las palabras clave es una función específica de Checkmk. Por tanto, el estado interno del conjunto de pruebas en el informe del Robot Framework también podría ser OK porque el conjunto de pruebas se procesó dentro del tiempo de ejecución máximo permitido; en Checkmk, sin embargo, WARN o CRIT, porque se produce un cambio de estado, por ejemplo, al 80 por ciento de este tiempo de ejecución máximo permitido.

Además, la opción Enable metrics for high-level keywords puede utilizarse para generar métricas para palabras clave de nivel superior, lo que resulta especialmente útil si tus pruebas están organizadas de forma que las palabras clave de nivel superior describen el "qué" y las palabras clave de nivel inferior describen el "cómo": así obtienes evaluaciones más abstractas.

En este ejemplo, los valores umbrales para el tiempo máximo de ejecución de una prueba son 2 y 4 segundos. Verás los efectos más adelante, en el capítulo Robotmk en monitorización.

Rule for monitoring keywords with example values.
La monitorización puede ampliarse mediante la palabra clave métrica

Una vez más, hay una opción de filtro explícito en la caja Conditions, aquí para pruebas individuales.

Dialog with option to restrict to tests.
Restricción opcional a determinadas pruebas

2.3. Robotmk en monitorización

En la monitorización, encontrarás servicios para el estado del programador de Robotmk, así como para los planes y pruebas individuales, aunque no hayas creado ninguna regla de servicio por separado.

Estado del planificador

El servicio RMK Scheduler Status está OK si el planificador se está ejecutando y ha construido con éxito los entornos de ejecución.

Status of the scheduler in monitoring.
RCC fue capaz de construir los entornos - en sólo un segundo

Aquí en la imagen puedes ver la nota Environment build took 1 second.¿Un segundo para construir un entorno virtual Python con Pip y Robot Framework? Esto es posible porque RCC es inteligente: los archivos que ya se han descargado se reutilizan y sólo se lleva a cabo una nueva construcción después de realizar cambios en conda.yaml. La primera construcción habría tardado 30 segundos o más.

Estado del plan

El estado de un plan se refleja en un servicio denominado por el nombre de la aplicación y la suite, por ejemplo RMK MyApplication_mybot Plan.

Status of the test suite in monitoring.
La ejecución de un plan -especialmente relevante para los administradores

Estado de las pruebas

La evaluación de las pruebas es donde se pone realmente interesante. En la imagen puedes ver ahora el efecto de los valores umbrales establecidos anteriormente para el tiempo de ejecución de las pruebas: aquí los 2 segundos para el estado WARN. Como la instrucción Sleep 3 Seconds de la propia prueba ya garantiza un tiempo de ejecución más largo, este servicio debe pasar aquí a WARN, aunque la prueba se haya realizado correctamente. El hecho de que la prueba se haya realizado correctamente se muestra en el informe de Robot Framework, al que puedes acceder mediante el icono de registro.

Status of the test in monitoring.
Resultados de una suite específica - especialmente relevante para los desarrolladores

El informe muestra ahora claramente que la prueba y el conjunto de pruebas se han ejecutado con éxito.

Robot Framework report for 'Mybot' test suite.
El registro de Robot Framework, aquí en modo oscuro opcional

En la parte inferior de los datos también puedes ver las palabras clave individuales, aquí por ejemplo Log ${MYVAR} junto con el valor My value establecido en Checkmk para MYVAR.

Robot Framework report at keyword level.
El archivo de registro puede ampliarse hasta el más mínimo detalle

Dashboards

Por supuesto, puedes crear tus propios dashboards como de costumbre, pero también puedes encontrar dos dashboards integrados en Monitor > Synthetic Monitoring.

Robotmk dashboard in the web interface.
La monitorización sintética completa de Checkmk de un vistazo (abreviado)

3. Solución de problemas

3.1. El programador informa No Data

Si el programador no recibe ningún dato, es probable que la construcción del entorno no haya funcionado. Una razón común para ello son los problemas de red, por ejemplo, debido a los cuales no se pueden cargar determinadas dependencias. En este caso, echa un vistazo al archivo de registro correspondiente en C:\ProgramData\checkmk\agent\robotmk_output\working\environment_building.

3.2. La construcción del entorno falla: post-install script execution

Este es un error especialmente interesante que puedes encontrar en sistemas Windows nuevos. El conda.yaml también puede contener instrucciones que deben ejecutarse después de la instalación de las dependencias, por ejemplo, la inicialización del navegador Robot Framework. Por tanto, aquí deben ejecutarse los comandos de Python. Por defecto, Windows 11 tiene alias para python.exe y python3.exe que remiten a la Tienda Microsoft. Debes desactivar estos alias en "Configuración/Alias para la ejecución de apps".

4. Archivos y directorios

Ruta del archivo Descripción

C:\ProgramData\checkmk\agent\robotmk_output\working\suites\

Archivos de registro y resultados de las suites

C:\ProgramData\checkmk\agent\robotmk_output\working\environment_building

Archivos de registro para construir entornos virtuales

C:\ProgramData\checkmk\agent\robotmk_output\working\rcc_setup

Mensajes de la ejecución del RCC

C:\ProgramData\checkmk\agent\logs\robotmk_scheduler_rCURRENT.log

Archivo de registro del plugin de agente

C:\ProgramData\checkmk\agent\bin\

rcc.exe y robotmk_scheduler.exe

C:\ProgramData\checkmk\agent\plugins\

Plugin de agente robotmk_agent_plugin.exe

En esta página