Zum Inhalt springen

Status-Monitor

Aus MegBes Wiki

Status-Monitor

[Bearbeiten]

Der MegBes-Status-Monitor ist unter status.megbes.de erreichbar. Technisch ist er eine eigenständig betriebene Spring-Boot-Anwendung, fachlich und im Quellcode aber Bestandteil des MegBes-Systems. Im Maven-Multi-Modul-Projekt wird er als Modul status gebaut; das Artefakt heißt megbes-status.

Der Status-Monitor ist eine interne Betriebs- und Administrationsoberfläche. Er gehört nicht zum Bedienweg der Besucher.

Aufgabe im Gesamtsystem

[Bearbeiten]

Der Monitor führt die projektspezifischen Instanzen von megbes-external und megbes-internal paarweise zusammen und zeigt deren Erreichbarkeit an.

Status-Monitor → management/health von megbes-external
Status-Monitor → management/health von megbes-internal
Status-Monitor → optionale Integrationsaufrufe über megbes-external → megbes-internal

Die zu überwachenden External- und Internal-Adressen stammen aus der zentralen MegBes-Konfiguration. Der Monitor ersetzt weder die Projektseite im Wiki noch eine vollständige Funktionsprüfung der Medienstationen.

Statusübersicht und Health-Checks

[Bearbeiten]

Für jedes konfigurierte Projekt zeigt die Startseite die External- und Internal-Seite nebeneinander an.

Anzeige Bedeutung
OK Der geschützte Aufruf von /management/health war erfolgreich.
ERROR Der Health-Endpunkt konnte nicht erfolgreich aufgerufen werden; Ursache können Anwendung, Netzwerk, TLS, Konfiguration oder Berechtigung sein.
External-Details Projektname, geprüfte URL, Mailsteuerung und gegebenenfalls Internal-Aufrufprotokolle sowie Integrationstest.
Internal-Details Projektname, geprüfte URL und Mailsteuerung.

Für die Management-Endpunkte setzt der Monitor einen konfigurierten Header samt Schlüssel. Diese Werte sind Geheimnisse und werden nicht im Wiki dokumentiert.

Beim External-Check wird zusätzlich /management/info gelesen. Liefert die Anwendung dort ihren Namen, kann der Monitor vorhandene Internal-Aufrufprotokolle zuordnen.

Die Statusdaten werden zwischengespeichert. Die Funktion „Neu laden“ leert den Cache und fragt die Zustände erneut ab. Ein grüner Health-Check bestätigt die Erreichbarkeit der Anwendung, aber nicht automatisch UDP-Empfang oder Reaktion einer Medienstation.

E-Mail-Benachrichtigungen

[Bearbeiten]

Bei aktiviertem SSL-Betrieb prüft ein geplanter Lauf den Zustand stündlich. Für fehlerhafte Instanzen kann der Monitor E-Mails versenden. Im aktuellen Quellstand wird bei einem fortbestehenden Fehler höchstens bei den ersten fünf Prüfläufen benachrichtigt. Ist wieder alles fehlerfrei, wird der Fehlerzähler zurückgesetzt.

Die Benachrichtigung kann je überwachter URL in der Oberfläche aktiviert oder deaktiviert werden. Eine Deaktivierung soll nur mit dokumentiertem Grund und vorgesehener Reaktivierung erfolgen.

Internal-Aufrufprotokolle

[Bearbeiten]

Wenn für eine External-Anwendung entsprechende Datensätze vorhanden sind, zeigt der Monitor die zuletzt gespeicherten Aufrufe an. Die Ansicht ist auf die jüngsten 100 Einträge begrenzt und absteigend nach Zeitpunkt sortiert.

Diese Protokolle helfen bei der Frage, ob und wann megbes-external die interne Seite aufgerufen hat. Sie ersetzen nicht das Anwendungslog von megbes-internal und bestätigen noch keine Reaktion des UDP-Endgeräts.

Manueller Integrationstest

[Bearbeiten]

Der Monitor kann je Projekt einen funktionalen Test mit oder ohne Authentifizierung ausführen.

Projekt mit Authentifizierung

[Bearbeiten]

Der aktuelle Test durchläuft:

  1. administrative Anmeldung über /authenticate
  2. Prüfung über /verify-admin
  3. Erzeugung eines temporären Tickets über /ticket
  4. Aktivierung über /enter-system
  5. Benutzerprüfung über /verify
  6. Stationsanmeldung über /media-station
  7. optional einen Befehl über /video-command
  8. Stationsabmeldung über DELETE /media-station

Projekt ohne Authentifizierung

[Bearbeiten]

Ohne aktivierte MegBes-Sicherheit besteht der Funktionstest im aktuellen Stand nur aus dem optionalen Aufruf von /video-command.

Achtung: Der Integrationstest kann eine reale Station steuern. Ist „Kommunikation zum internen MegBes-Server ebenfalls abtesten“ aktiviert, sendet der aktuelle Quellstand den Befehl 120-start. Vor dem Test muss geprüft werden, was Station 120 im betreffenden Projekt ist und welche Wirkung start dort hat. Der Test darf nicht unkontrolliert im laufenden Ausstellungsbetrieb ausgeführt werden.

Ein erfolgreicher Integrationstest bestätigt abhängig von der gewählten Option den HTTP-Ablauf bis megbes-external beziehungsweise bis zur Übergabe an megbes-internal. Empfang und Ausführung des UDP-Befehls am Endgerät müssen separat kontrolliert werden.

Zertifikatsverwaltung

[Bearbeiten]

Der Status-Monitor verwaltet die Client-Zertifikate für geschützte Verbindungen zu megbes-internal. Die Oberfläche kann projektspezifische Zertifikate:

  • anzeigen,
  • erstellen,
  • als Paket beziehungsweise Keystore herunterladen,
  • Installationshinweise anzeigen und
  • löschen.

Die Metadaten werden persistent gespeichert; die erzeugten Dateien liegen in der konfigurierten Zertifikatsablage. Neue Zertifikate werden über das mitgelieferte OpenSSL-Skript erzeugt. Einzelheiten und Sicherheitsregeln stehen unter Zertifikate.

Löschen ist eine betriebswirksame und potenziell destruktive Aktion. Vorher müssen Projektzuordnung, verwendete Dateien, Rückkehrweg und betroffene Container geprüft werden. Passwörter, private Schlüssel und Zertifikatsdateien gehören nicht ins Wiki.

Passwortwerkzeug

[Bearbeiten]

Die Oberfläche enthält ein Hilfswerkzeug zum Ver- und Entschlüsseln von Konfigurationswerten mit der gemeinsamen MegBes-Kryptofunktion. Die Klartext- oder Chiffrewerte dürfen weder in Tickets noch ins Wiki oder in ungeschützte Zwischenablagen übernommen werden.

Zugriffsschutz

[Bearbeiten]

Der gesamte Status-Monitor ist mit Ausnahme der Loginseite und ihrer unmittelbar benötigten Gestaltungselemente anmeldungs­pflichtig. Der aktuelle Stand verwendet einen konfigurierten Benutzer mit BCrypt-geprüftem Passwort im Arbeitsspeicher der Anwendung.

Trotz Login ist die Oberfläche hochprivilegiert: Sie kann Integrationstests auslösen, Mailbenachrichtigungen verändern, Geheimwerte verarbeiten und Zertifikate erstellen oder löschen. Daher gelten mindestens:

  • ausschließlich HTTPS verwenden,
  • Zugang nur an berechtigte Betriebsverantwortliche vergeben,
  • Zugangsdaten nicht gemeinsam oder im Wiki speichern,
  • Sitzung nach der Arbeit beenden,
  • Änderungen und Tests projektbezogen dokumentieren,
  • öffentliches Caching von Administrationsseiten auf Proxy-Ebene verhindern.

Diagnose mit dem Status-Monitor

[Bearbeiten]
Beobachtung Nächster Schritt
External und Internal beide ERROR zentrale Erreichbarkeit, DNS, Monitor-Konfiguration und Zertifikate prüfen.
External OK, Internal ERROR lokale Erreichbarkeit, DynDNS/Router, TLS-Zertifikat und megbes-internal prüfen.
beide OK, Bedienbefehl ohne Wirkung Integrationstest kontrolliert ausführen, danach Internal-Log, UDP-Weg und Station prüfen.
Internal-Aufruf ist protokolliert, Station reagiert nicht megbes-internal-Log, Zieladresse, UDP-Port und Stationssoftware prüfen.
Health-Anzeige wirkt veraltet „Neu laden“ verwenden und anschließend die Komponentenlogs vergleichen.

Grenzen und Dokumentationspflicht

[Bearbeiten]

Der Status-Monitor zeigt Laufzeitinformationen, jedoch keinen vollständigen dauerhaften Anlagenstand. Auf der jeweiligen Projektseite bleiben mindestens Release, Domains, interne Erreichbarkeit, Zertifikatszuordnung, Betriebsart und Ergebnis relevanter Tests zu dokumentieren.

Quellcodebasis dieser Beschreibung ist das Modul status des aktuellen MegBes-Repositorys. Bei einem abweichenden installierten Release hat dessen tatsächliches Verhalten Vorrang.

Siehe auch Wartung, Backups und Fehlerdiagnose, Routing und Signalweg, Zertifikate, Softwaremodule, Client-Feedback und Stationsmeldungen und Stationsseitige Diagnose.