Monitoring EaSI Systems

La plataforma EaSI no proporciona mucho en la forma de métodos avanzados para monitorear la salud o el uso del sistema. La página siguiente contiene recomendaciones actuales sobre métodos o soluciones de trabajo para los administradores del sistema EaASI para obtener alguna información básica sobre su instalación EaaSI.

Sistema de salud

OpenSLX está investigando activamente el uso de " Microsoft Playwright " (Microsoft Playwright) https://github.com/microsoft/playwright titulada " ) para permitir la realización de pruebas sin cabeza de puntos finales y servicios específicos de la API de Emulation-as-a-Service; estas pruebas también serían ampliamente aplicables a las implementaciones de EaSI. Mientras tanto, los administradores interesados en el monitoreo activo o automatizado de la salud de su instalación de EaSI pueden al menos utilizar las solicitudes de HTTP GET para encuestar un puñado de puntos finales de API; una solicitud de 200 OK de cualquiera de las siguientes URLs indica que el componente de pila EaSI relevante es nominalmente elevado y accesible:

  • " https:// efectuaeaasi-domain confianza/emil/admin/buildInfo`

    se puede utilizar para encuestar el servidor EaaS Java

  • ``https:// efectuaeaasi-domain confianza/auth/realms/master/.well-known/openid-configuration ``

    se puede utilizar para encuestar el componente de gestión del usuario Keycloak

  • " https:// realizadaseaasi-domain confianza/dashboard "

    se puede utilizar para la encuesta de la UI EaaSI

  • " https:// realizadaseaasi-domain confianza/admin ``

    se puede utilizar para la encuesta de la UI Demo (si es relevante)

Metrices de uso

Sessions Metadata

La aplicación Emulation-as-a-Service registra metadatos mínimos y anónimos en sesiones de emulación para permitir a los administradores del sistema cierta información sobre qué recursos ambientales se han utilizado en su despliegue, con qué frecuencia y durante cuánto tiempo.

Estos metadatos se registran en un archivo CSV localizado en `` se entiendeasi-home-dir Príncipe/server-data/sessions.csv`. Sólo los administradores/usuarios del sistema con acceso directo (p. ej. SSH) al servidor EaaSI se despliega puede acceder a este archivo; no es accesible a través de una interfaz pública (EaSI UI, Demo UI o API).

Este archivo registra los siguientes puntos de metadatos para toda sesión de emulación se ejecuta en el servidor (a diferencia de las estadísticas de solicitud en el panel Demo UI, estos datos de sesión persisten entre los reinicios del servicio eaas, así que representa una imagen completa del uso del servidor:

  • Timestamp (UTC) para el inicio de la sesión

  • Timestamp (UTC) para el final de la sesión

  • UUID para la cuenta de usuario que solicitó / inició la sesión

  • UUID for the requested Environment resource

  • UUID para cualquier recurso Contenido/objeto asociado con el Medio Ambiente solicitado

Los administradores del sistema pueden mapear los recursos UUID para el medio ambiente y el contenido a los nombres de recursos legibles por humanos y otros metadatos útiles/identificantes a través del EaaSI API.

Utilizando estatales-sesiones.py

El equipo de OpenSLX también ha creado un " script Python simple " , https://gitlab.com/emulation-as-a-service/eaas-debug/-/blob/main/stats-sessions.py ``_, para ayudar a examinar rápidamente los metadatos registrados en ``sessions.csv` a un par de puntos de datos comúnmente solicitados.

$ stats-session.py [--filename sessions.csv] [sessions/max-sessions]

Por defecto, ``stats-session.py` asumirá que el usuario está ejecutando el script en su servidor EaSI y se ejecutará en la ubicación del archivo ``/eaas*/server-data/sessions.csv`. Utilice la directiva ``–nombre de archivo` como se muestra anteriormente para especificar una ubicación de archivo / ruta diferente.

Los usuarios pueden especificar uno de los dos informes que generan de las sesiones.csv`.

La acción sesiones repite gran parte de los mismos metadatos contenidos en el archivo pero presentados en forma más legible por el ser humano, por ejemplo.

2021-05-24 12:55:46.025000+00:00    097ccc71-db3d-46d8-b006-8f04766b7100    117.713

Donde estos valores representan:

  • El horario UTC para cuando se inició la sesión de emulación, en formato ISO 8601 para legibilidad

  • The UUID for the environment run in the session

  • La duración del período de sesiones, en segundos

La acción max-sessions calcula rápidamente el número máximo ** de sesiones simultáneas** por cada día que el servidor EaaSI ha estado activo, por ejemplo:

2021-05-25 12:55:46.025000+00:00 4
2021-05-26 19:12:48.167000+00:00 1
2021-05-27 01:37:35.529000+00:00 0
2021-05-28 04:28:34.209000+00:00 7

Esta información es fundamentalmente útil para la asignación de recursos para el despliegue de EaSI (es decir, calcular si se debe asignar más CPU/RAM al servidor dado cualquier patrón de uso simultáneo pesado).

Por defecto, ``stats-session.py` simplemente escribirá estos informes como valores separados a la salida estándar. Si desea guardar los informes, redirigir la salida al archivo, por ejemplo.

$ stats-sessions.py max-sessions > max-sessions.tsv