Überwachung von EaaSI-Systemen

Die EaaSI-Plattform bietet derzeit nicht viel über fortgeschrittene Methoden zur Überwachung der Systemgesundheit oder -nutzung. Die folgende Seite enthält aktuelle Empfehlungen für Methoden oder Work-arounds für EaaSI-Systemadministratoren, um einige grundlegende Einblicke in ihre EaaSI-Installation zu gewinnen.

Systemgesundheit

OpenSLX untersucht aktiv die Verwendung von Microsoft Playwright, um eine kopflose Prüfung bestimmter Emulation-as-a-Service API-Endpunkte und -Dienste zu ermöglichen; diese Tests würden auch für EaaSI-Einsätze gelten. In der Zwischenzeit können Administratoren, die an einer aktiven oder automatisierten Überwachung der Gesundheit ihrer EaaSI-Installation interessiert sind, zumindest HTTP GET-Anforderungen verwenden, um eine Handvoll API-Endpunkte abzufragen; eine `200 OK-Anfrage von einer der folgenden URLs gibt an, dass die betreffende EaSI-Stack-Komponente nominell hoch und erreichbar ist:

  • https://<eaasi-domain>/emil/admin/buildInfo```

    kann verwendet werden, um den EaaS Java Server abzufragen

  • https://<eaasi-domain>/auth/realms/master/.well-known/openid-configuration `

    kann verwendet werden, um die Keycloak-Benutzerverwaltungskomponente abzufragen

  • https://<eaasi-domain>/dashboard``

    kann verwendet werden, um die EaaSI UI abzufragen

  • https://<eaasi-domain>/admin `

    kann verwendet werden, um die Demo UI (falls relevant)

Verwendung Metrics

Sitzungen Metadaten

Die Emulation-as-a-Service-Anwendung protokolliert minimale, anonymisierte Metadaten zu Emulationssitzungen, um Systemadministratoren einen Einblick zu ermöglichen, in welche Umweltressourcen bei ihrer Bereitstellung, wie oft und wie lange ausgeführt wurden.

Diese Metadaten werden in einer CSV-Datei unter ``<eaasi-home-dir>/server-data/sessions.csv protokolliert. Nur Systemadministratoren/Benutzer mit direktem (z.B. SSH) Zugriff auf den Server EaaSI können auf diese Datei zugreifen; sie ist nicht über eine öffentlich-rechtliche Schnittstelle (EaSI UI, Demo UI oder API) zugänglich.

Diese Datei protokolliert die folgenden Metadatenpunkte für die Jede Emulationssitzung läuft je auf dem Server (im Gegensatz zu den Anfrage-Statistiken auf dem Demo UI Dashboard, diese Sitzungsdaten bestehen zwischen Neustarts des eaas-Dienstes, also stellt ein vollständiges Bild der Nutzung des Servers dar):

  • Timestamp (UTC) für den Beginn der Sitzung

  • Timestamp (UTC) für das Ende der Sitzung

  • UUID für das Benutzerkonto, das die Sitzung angefordert/startet

  • UUID für die gewünschte Umweltressource

  • UUID für alle Inhalte/Objekt-Ressourcen im Zusammenhang mit der angeforderten Umgebung

Systemadministratoren können UUIDs für Umwelt- und Content-Ressourcen auf human lesbare Ressourcennamen und andere hilfreiche/identifizierende Metadaten über die EaaSI API abbilden.

Verwendung von stats-sessions.py`

Das OpenSLX-Team hat auch ein simple Python Script erstellt, um die in `sessions.csv ` eingeloggten Metadaten schnell auf ein paar häufig gestellte Datenpunkte zu übertragen.

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

Standardmäßig wird stats-session.py` davon ausgehen, dass der Benutzer das Skript auf seinem EaaSI-Server ausführt und auf dem Dateiort ```/eaas*/server-data/sessions.csv`` laufen wird. Verwenden Sie die -filename-Richtlinie, wie oben gezeigt, um einen anderen Dateiort/Pfad anzugeben.

Benutzer können dann einen von zwei Berichten angeben, um aus dem sessions.csv` zu generieren.

Die sessions Aktion wiederholt viele der gleichen Metadaten, die in der Datei enthalten sind, aber in einer human lesbareren Form dargestellt werden, z.

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

Wo diese Werte stehen:

  • Der UTC-Zeitstempel für den Beginn der Emulationssitzung im ISO 8601-Format für die Lesbarkeit

  • Die UUID für die Umgebung läuft in der Sitzung

  • Die Dauer der Sitzung, in Sekunden

Die max-sessions Aktion berechnet schnell die maximale Anzahl der gleichzeitigen Sitzungen für jeden Tag, an dem der EaaSI-Server aktiv war, z.B.:

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

Diese Informationen sind in erster Linie für die Ressourcenzuweisung für die EaaSI-Bereitstellung nützlich (d.h. die Berechnung, ob dem Server mehr CPU/RAM zugewiesen werden sollte, wenn es irgendwelche Muster der schweren gleichzeitigen Nutzung gibt).

Standardmäßig wird ``stats-session.py` diese Berichte einfach als tab-separierte Werte an die Standardausgabe schreiben. Wenn Sie die Berichte speichern möchten, leiten Sie die Ausgabe in Datei um, z.

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