Ü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

Demo UI Dashboard

Das Demo UI-Dashboard (in der Regel sichtbar/ zugänglich für sysadmins durch Anmeldung bei der URL https://<eaasi-domain>/admin) bietet grundlegende, aber möglicherweise unpräzise Informationen über die Nutzung eines EaaSI-Knotens.

../_images/dashboard.png

An der Spitze des Dashboards können „Requests“ mit Emulationssitzungen als gleichwertig angesehen werden. „Total Requests“ gibt eine laufende Tally von Sitzungen an, die vom Server ausgeführt werden, während beliebige Nummern in den „deferred“, „expired“ und „failed“ Requests Felder auf einen Konfigurationsfehler in der Bereitstellung hinweisen und Sysadmins sollten ihre Fehlerprotokolle weiter untersuchen.

Warnung

Die Anzahl der „Gesamtanfragen“ auf dem Demo UI Dashboard wird reset wenn der Server neu gestartet wird oder der Dienst eaas` aus irgendeinem Grund neu gestartet wird, z.B. zur Fehlerbehebung. Daher sollte diese Zahl ** nicht** unbedingt als genaue Summe der Anzahl der Emulationssitzungen auf dem Server vertrauen. Siehe :ref: ‚below <sessions-metadata>‘ für eine Möglichkeit, eine genauere Version dieser Informationen zu holen.

CPU-Kapazität und Memory-Kapazität* sollten schnelle und genaue Zusammenfassungen der gesamten Rechenleistung sein, die EaaSI auf Basis der bereitgestellten Serverkonfiguration zur Verfügung steht.

Die Graphen auf dem Demo UI Dashboard sind unpräzise, aber insbesondere die „CPU“ und „Memory“ Graphen können verwendet werden, um die Anzahl der aktiven Emulationssitzungen im Knoten abzuschätzen. **Diese Grafiken gehen davon aus, dass jede Emulationssitzung 1 CPU-Kern (1000 mcores) und 512 MB RAM verbraucht.* Wenn also das Demo UI Dashboard „4000 mcores Used“ und „2048 MB Used“ für CPU und Memory zeigt, gibt es 4 aktiv laufende Emulationssitzungen.

Warnung

Diese Schätzungen (1000 mcores und 512 MB RAM pro einzelne laufende Emulationssitzung) sind hard-codiert in das Dashboard und nicht tatsächlich durch die Abfrage der verfügbaren/verbrauchten Rechenressourcen des Servers berechnet. Die durch laufende Emulationssitzungen verbrauchte istual CPU/RAM kann höher sein.

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