Zum Hauptinhalt springen

Management Console

Dies ist die Operations Console eines Data-Lake-Knotens. Über den Browser können Status, Metriken, Logs, Diagnosen, Einstellungen, Backups und Worker in einem einzigen Bildschirm eingesehen, zugelassene pd Befehle ausgeführt und über die gleiche Adresse eine Health-API für externe Überwachungssysteme (Grafana, Prometheus, Zabbix) bereitgestellt werden.

🎬 Tour the DataLake admin console · 53초 · 2026.09 기준 화면
PunktWert
Backend-Modulplantpulse-datalake-admin-api
AusführungsumgebungIn plantpulse-datalake Container — sowohl Master- als auch Worker-Knoten
Adresse (TLS)https://<server-ip>:4950/
Adresse (Klartext)http://<server-ip>:4949/ — Gleiche Console, gleiche API
LoginPP_DATALAKE_ADMIN_USER (Standard admin) / PP_DATALAKE_ADMIN_PASSWORD
StandardspracheEnglisch. Anhängen von ?lang=ko für Koreanisch

Dokumente dieses Abschnitts​

BildschirmFunktion
Diese SeiteAllgemeine Console — Verbindung, Login, Bildaufbau
BatchStatus und Historie von Batch-Jobs
WarehouseLadezustand des Warehouse
AssistantAktuelle Probleme, Ursachen und Lösungen — Fragen in natürlicher Sprache und Genehmigungskarten

Verbindung​

Rufen Sie eine der zwei Adressen im Browser auf. Es handelt sich um die gleiche Console, nur das Schema unterscheidet sich.

https://<server-ip>:4950/?lang=ko # TLS — 권장
http://<server-ip>:4949/?lang=ko # 평문 — 4950 으로 리다이렉트하지 않습니다
4949 ist Klartext

Login-Passwörter und Session-Cookies werden unverschlüsselt übertragen. In nicht vertrauenswürdigen Netzwerken muss zwingend 4950 verwendet werden. Dass 4949 beibehalten wurde, ist eine bewusste Entscheidung, da Warnungen vor selbstsignierten Zertifikaten Administratoren in der Praxis oft an der Arbeit hindern.

Bei einer TLS-Verbindung kann eine Warnung bezüglich selbstsignierter Zertifikate erscheinen. Informationen zum Ersetzen durch echte Zertifikate finden Sie unter Sicherheitseinstellungen.

Login​

Auf dem Login-Bildschirm werden der Name dieses Knotens und seine Rolle (Master / Worker) angezeigt. Prüfen Sie dies, wenn Sie mit mehreren Knoten gleichzeitig arbeiten.

VariableStandardwertBeschreibung
PP_DATALAKE_ADMIN_USERadminLogin-Name
PP_DATALAKE_ADMIN_PASSWORDFür Installationen nach 2026-09-05 Standardwert für Entwicklung, davor leerWenn leer, öffnet sich die Console nicht
PP_DATALAKE_ADMIN_API_KEYKeineX-API-Key, wenn Maschinen den Log-Endpunkt aufrufen

Informationen zum Ändern oder erstmaligen Setzen des Passworts finden Sie unter Web-Login-Konten — Management Console.

Bei Meldung «Console dieses Knotens nicht konfiguriert»

Dies bedeutet, dass PP_DATALAKE_ADMIN_PASSWORD leer ist. Nur die Console startet nicht; der Data Lake läuft normal. Dies ist kein Defekt, sondern ein Fehler bei der Inbetriebnahme. Bitte Wert setzen und neu starten.

Bildaufbau — Rail und Sidebar​

Data Lake Management Console Dashboard — Rail, Einzeilen-Zusammenfassung, Datenpfad, Dienste, Komponenten-Health, Timeline (Knotenadresse ausgeblendet)

NummerBeschreibung
①Icon-Rail — Navigation zwischen Gruppen. Ein Punkt im Dashboard-Icon ist die Gesamtbewertung dieses Knotens (siehe unten)
②Einzeilen-Zusammenfassung — «Alle N Komponenten normal · Dienst N/N · Keine Alarme». Wenn diese Zeile grün ist, sind keine weiteren Prüfungen nötig. Die Zeile darunter enthält Name, Rolle, Adresse und Anzahl der Knoten; [Knotenliste] führt zum Knoten-Tab der Topologie
③Datenpfad — Stufen in Startreihenfolge (Messaging → CEP → Zeitreihe → Storage → Workflow → Analyse → Data Gateway) mit Anzahl der «ausgeführten / gesamten» Dienste pro Stufe. Die Pfeile zeigen den deklarierten Pfad, nicht den tatsächlichen Durchsatz — real gemessene Raten finden sich unten in der Inflow-Karte
④Dienste — Zeigt die Dienste der Stufen aus ③ in derselben Reihenfolge. Leere Stufen (z. B. «Messaging 3/4») können hier identifiziert werden
⑤Komponenten-Health — Gesamt · Anomalie · Warnung · Nicht gemessen · Normal · Gestoppt. «Nicht gemessen» ist nicht «Normal»
⑥Timeline — Status der Komponenten auf der Zeitachse (24h / 48h). Schraffuren bedeuten fehlende Aufzeichnungen
⑦Sprachumschaltung — EN / KO. Alternativ ?lang=ko an die Adresse anhängen

Alarm-Karten erscheinen nur zwischen ② und ③, wenn Alarme vorliegen (nur bei dreifacher Schwellenwertüberschreitung). Ohne Alarme wird die Karte nicht gezeichnet. Unter ⑥ folgen Systemanzeigen, Inflow, Last, Storage und aktuelle Ereignisse.

Das schmale vertikale Band links ist die Rail mit 9 Gruppen-Icons. Die Rail zeigt nur Icons — Namen erscheinen als Tooltip beim Mouseover.

Die Auswahl einer Gruppe öffnet deren Bildschirme in der Sidebar. Gruppen mit nur einem Bildschirm haben keine Sidebar, da dies unnötigen Platz beansprucht.

Die Reihenfolge der Rail folgt der Logik bei Störungen: «Gibt es eine Anomalie» → «Wo» → «Was ist Fakt» → «Wen benachrichtigen» → «Was ändern» → «Befehl» → «Andere Ansichten» → «Was ist passiert».

Es gibt insgesamt 22 Bildschirme in 9 Gruppen.

GruppeBereichBildschirmBeantwortete Frage
Übersicht—DashboardGibt es aktuell eine Anomalie?
Topologie—Topologie (Tabs: Datenfluss · Knoten)Wo im Pipeline ist eine Blockade, fließen Daten ansonsten?
BeobachtungStatusStatus · MetrikenAktuelle Bewertung und Trend der letzten Stunde bis 7 Tage
RessourcenStorage · AufbewahrungVolumen · WAL · Replikationsslots · Speichergröße / Was wird wann gelöscht?
AktivitätWorkflow · Ereignisse · Logs · Diagnose · JobsLiefen Nacht-Jobs, was ist passiert? — Ereignisjournal, Dienst-Logs, pd doctor, Job-Historie
Alarm—AlarmWer wird wann benachrichtigt?
BetriebKonfigurationKonfiguration · API-Key · ZertifikatDiff von Template und Render-Ergebnis, Template-Bearbeitung und Rollback · API-Keys der Console · Zertifikate
WartungUpgrade · WorkerVersionen pro Modul, notwendige Änderungen an Cluster-Workern
BackupBackupBackup-Sets · Zeitplanbearbeitung · Ausführung · Wiederherstellung
Befehl—BefehlAusführung zugelassener pd Verben über die Oberfläche
Werkzeuge—WerkzeugeKarten zu Web-UIs anderer Produkte
Aufzeichnung—AuditWer hat in dieser Console was geändert?
Assistant—AssistantAktuelle Probleme, Ursachen und Lösungen — inkl. Gateway-Konfiguration und Genehmigungskarten

Legende der Rail- diversify​

Der Punkt in der Rail befindet sich nur am Dashboard-Icon. Er zeigt unabhängig vom aktuellen Bildschirm an, «ob an diesem Knoten eine Anomalie vorliegt». Der Wert entspricht exakt dem status von /api/health, also der Gesamtbewertung der Komponenten durch den Server. Details sind im Dashboard einsehbar.

PunktBedeutung
OKGesamtbewertung des Servers: Normal
WARNGesamtbewertung des Servers: Warnung
FAILGesamtbewertung des Servers: Fehler
UNKNOWN (Grau)Bewertung nicht vertrauenswürdig — Polling gestoppt, Server-Kollektor gestoppt, keine Antwort oder unbekannte Bewertung
Nicht gemessen ist grau — nicht grün

Ein grauer Punkt bedeutet «Nicht gemessen», nicht «Normal». Icons anderer Gruppen haben keine Punkte. Dies bedeutet nicht, dass diese Gruppen normal sind, sondern dass deren Status nicht in der Rail gezeichnet wird.

Stille bedeutet nicht Normalität. Es gibt fünf Gründe, warum ein Alarm nicht klingt: Stummgeschaltet, Regel deaktiviert, unter Mindestpriorität, innerhalb der Unterdrückungsphase oder kein Kanal vorhanden. Die Console benennt diese fünf Gründe in unterschiedlichen Sätzen.

Besonderheiten der Bildschirme​

BildschirmBesonderheiten
TopologieDie zwei Tabs zeigen ein System aus zwei Perspektiven: Datenfluss (MQTT → Kafka → Konsument) und Knoten (Master · Worker). Wenn das Dashboard «Anomalie» meldet, wird hier die betroffene Sektion geprüft
Status und Info → KomponenteKlick auf eine Zeile öffnet die Detailansicht. Aktualisierung erfolgt alle 15s analog zur pd status Tabelle. Ein STOPPED-Status unmittelbar nach dem Start ist ein zeitliches Fenster (Window)
LogsZeigt nur Dateien an, die in pd logs --list deklariert sind. Logs von App-Containern (Server, Batch, Warehouse) fehlen hier — nutzen Sie logs.sh auf dem Host
DiagnoseErgebnis von pd doctor. «Prüfung ausführen» startet den Prozess sofort erneut. Es wird nur eine Anfrage gleichzeitig bearbeitet; bei «busy» kurz warten
JobsHistorie von Backup-, Archiv- und Wartungsaufgaben an einem Ort. Der Backup-Bildschirm dient der separaten Sicht auf Backups
Konfiguration«Was würde sich bei einem Render ändern»(pd config diff) und «Weicht mein Template vom Image-Standard ab»(pd config diff --templates). Änderungen am Template werden als Revisionen gespeichert und sind rückgängig machbar. Die Originalwerte (Passwörter, Adressen) liegen weiterhin auf dem Host → Konfiguration ändern
UpgradeImage-Tags(/etc/plantpulse-image.env) und Versions-/Revisionen pro Modul(/etc/plantpulse-modules.json). Nur zur Ansicht, keine Upgrades durchführen → siehe unten
WorkerZeigt lediglich an, welche Befehle zur Änderung der Cluster-Worker erforderlich sind, führt diese aber nicht aus. Die Ausführung erfolgt auf dem Host → Cluster-Installation
BackupSet-Liste · Zeitplan · Laufende Vorgänge. «Schedule editor» ruft pd backup schedule set auf. Die Planung erfolgt via backup_schedule Tabelle + Quartz, nicht über systemd-Timer → Backup · Wiederherstellung
BefehlEs werden nur pd Verben aus der serverfestgelegten Zulassungsliste ausgeführt (Liste ist rechts sichtbar). Andere Befehle über die Container-Shell → pd CLI · siehe unten
WerkzeugeÖffnet Web-UIs anderer Produkte in neuen Tabs. Der Host in der Adresse entspricht dem aktuell verbundenen Host. Dienste, die auf diesem Knoten nicht existieren, werden nicht angezeigt
WorkflowGemeinsame Ansicht von Temporal und Kestra. Nur Lesezugriff — keine Ausführung, Trigger, Pause oder Beendigung. «Nicht zutreffend» bedeutet, dass noch keine Ausführungsdaten vorliegen
AufbewahrungTabelle TTL, Topic-Aufbewahrung, Cold Tier und Archiv-Jobs an einem Ort. «Keine» bedeutet eine Tabelle ohne Ablaufdatum (Counter, aktueller Wert)
CredentialsKein eigener Bildschirm. Werte werden in den Detailkarten von Status und Info → Komponente einzeln eingesehen und geändert → siehe unten
AssistantErmöglicht Fragen an den Knoten und Ausführungen via Genehmigungskarten. Erfordert direkte Verbindung zu einem LLM-Gateway → Assistant
AuditAufzeichnung von Änderungen in dieser Console. Da Worker-Knoten keinen Audit-Speicher besitzen, wird dort immer «Nicht lesbar» angezeigt — dies ist kein Zeichen für eine störungsfreie Woche

Hauptbildschirme​

Topologie — Zeigt, wo die Pipeline blockiert ist. Besteht aus zwei Tabs: Datenfluss und Knoten.

Topologie-Bildschirm

Status und Info — Bewertung pro Komponente. Aktualisierung erfolgt alle 15s analog zu pd status. Die untere Tabelle «Komponentenversion» zeigt die Konfiguration dieser Instanz, nicht des Knotens — Offizielle Version, Eigene Version, Port, Lizenz, Quelle, Modul. - bedeutet «Nicht zutreffend» (Komponenten ohne eigene Version oder ohne Listening-Port). Dieselben Werte erscheinen in der Komponentendetailansicht.

Status und Info Bildschirm

Workflow — Überprüfung, ob Nacht-Archivierung und Batch-Flows rechtzeitig liefen. Zeigt zwei Engines: Temporal (Aster TSDB → Iceberg Archiv) und Kestra (Batch Flow).

Workflow-Bildschirm — Engine-Karten · Zeitplan · Aktuelle Ausführung

Nur Lesezugriff

Die Ausführung erfolgt durch die Engine. Dieser Bildschirm dient nur der Ansicht und bietet keine Trigger, Pausen oder Beendigungen. Zeitpläne werden im Backup-Bildschirm (oder pd backup schedule set) geändert.

Aufbewahrung — Was wird wann gelöscht? Aster TSDB Tabellen-TTL und Größe, Kafka Topic-Aufbewahrung, Cold Tier und die entsprechenden Archiv-Jobs in einer Ansicht.

Aufbewahrung-Bildschirm — TTL pro Tabelle · Größe · Kompaktion

Schnellster Weg zur Überprüfung der Aufbewahrungsdauer

Die TTL von pp.tm_tag_point wird als 3650 Tage angezeigt. Informationen zum Ändern finden Sie unter Datenaufbewahrungszeit.

Konfiguration — «Was würde sich bei einem Render ändern» und «Weicht mein Template vom Image-Standard ab».

Konfigurations-Bildschirm — Diff von Template und Render-Ergebnis

Backup — Set-Liste · Zeitplan · Aktuell laufende Vorgänge.

Backup-Bildschirm

Werkzeuge — Bündelt Web-UIs anderer Produkte in neuen Tabs.

Werkzeuge-Bildschirm — Karten pro Produkt

Audit — Aufzeichnung von Änderungen an diesem Knoten.

Audit-Bildschirm

Ein leerer Bildschirm bedeutet nicht «Keine Anomalie»

Bildschirme, die noch keine Daten liefern, werden als leer gekennzeichnet, mit dem expliziten Hinweis, dass dies nicht «Keine Anomalie» bedeutet. Ein leerer Bildschirm ist nicht automatisch normal.

Die vier Bildschirme der Beobachtungsgruppe​

Während die «Hauptbildschirme» die Frage «Was ist falsch?» beantworten, klären die vier Bildschirme der Beobachtungsgruppe das «Warum?». Sie sind über die Sidebar Beobachtung → Status / Ressourcen / Aktivität erreichbar.

Metriken — Messhistorie einer einzelnen Komponente​

Metriken-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①SidebarBildschirme der Beobachtungsgruppe — Status und Info · Metriken / Storage · Aufbewahrung / Workflow · Ereignisse · Logs · Diagnose · Jobs
②LinksKomponentenliste — Auswahl einer Komponente
③Unter ListeBedeutung grauer Komponenten und Hinweis: Nur eine Komponente gleichzeitig abfragbar
④Rechts obenZeitraum — 1h · 6h · 24h · 48h · 7 Tage
⑤HauptbereichNach Einheiten gruppierte Diagramme (% · B/S · BYTES · LOAD …)
Grund für die Trennung vom Dashboard

Das Dashboard ist eine Klassifizierungsansicht ohne Komponentenauswahl und bietet daher keine Zeiträume über einen Tag hinaus. Dieser Bildschirm hingegen dient dazu, eine Komponente und einen Zeitraum gezielt zu analysieren.

Zeiträume über 7 Tage hinaus sowie «Anlagendaten» (nicht Data Lake selbst) sind Aufgabe des PlantPulse Dashboards. Das Fehlen eines Links «In PlantPulse Dashboard öffnen» ist beabsichtigt — Links zu nicht verifizierten Dashboards sind kontraproduktiv.

Grau bedeutet «Nicht vorhanden», nicht «Server hat Antwort «Nicht erfasst» gegeben»

Eine Komponente wird nur dann grau, wenn eine Antwort eingegangen ist und diese «Nicht erfasst» lautete. Bei Komponenten, die noch nie geöffnet wurden, erfolgt keine Markierung, um keine «erfundenen Bewertungen» zu suggerieren.

Es wird immer nur eine Komponente abgefragt. Die Auswahl einer anderen Komponente verschiebt die Anfrage, anstatt eine weitere zu senden.

Storage — Was liegt auf der Disk und wie lange bleibt es dort​

Storage-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①SidebarRessourcen-Bereich — Storage · Aufbewahrung
②Ganz obenVolume — Auslastung und Bewertung für Runtime Tree, Daten, Temp und Backup
③DarunterPostgreSQL WAL und Replikationsslots — PG_WAL · MAX_SLOT_WAL_KEEP_SIZE · MAX_WAL_SIZE · Rolle sowie Slot-Tabelle
④Links untenAster TSDB Disk — Größe von Daten, Commit-Logs, Snapshots und Keyspaces
⑤Rechts untenKafka Disk — Konfigurationsdateien, Log-Verzeichnis, Größe, Aufbewahrung, ältestes Segment, nächste erwartete Bereinigung
Grund für diesen Bildschirm — Gestoppte Replikationsslots füllen die Disk

Ein realer Vorfall vom 2026-09-03: Der Replikationsslot replica_worker_1 hielt inaktiv 1,4 GB WAL fest, während max_slot_wal_keep_size auf -1 (unbegrenzt) stand. Keiner der Bildschirme zeigte dies an; die einzige Warnung war eine volle Disk.

Die Reihenfolge ist daher: Volume (Füllt es sich?) → WAL·Slot (Was hält die Daten fest?) → Speichergröße und Aufbewahrung (Findet eine Reduktion statt?). Prüfen Sie «Aktiv» und «Gehaltenes WAL» in der Slot-Tabelle.

Ereignisse — Was ist an diesem Knoten passiert​

Ereignis-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①ObenBereich — 24h / 7 Tage
②DanebenTyp-Filter — Alarm Start/Ende · Start/Gestartet · Stop/Gestoppt · Restart · Backup Start/Ende · Job Start/Ende · Boot · Deploy · Operator · PD
③KartenkopfEreignisse (N) — Anzahl im aktuellen Bereich
④TabellenkopfZeit · Typ · Komponente · Priorität · Nachricht
⑤InhaltFehlerhafte Backups werden rot markiert, falls ERROR vorliegt

Audit-Aufzeichnungen werden unter derselben Ansicht angehängt. Da «Was ist passiert?» und «Was haben wir getan?» während einer Störung dieselben Fragen sind, würde ein Wechsel zwischen zwei Bildschirmen die Zeitachse unterbrechen. Durch das Zusammenführen erscheinen z. B. ein Restart um 01:25 Uhr und der verantwortliche Operator nebeneinander.

Bei Memory-Storage verschwinden Daten nach Neustart

Knoten mit memory als Speicher halten nur die letzten paar hundert Einträge im RAM und verlieren diese bei Neustart. Der Bildschirm gibt dies explizit an — lesen Sie eine unvollständige Historie nicht als vollständig.

Nicht lesbare Ereignisspeicher werden nicht als «stille Nacht» dargestellt. Es wird differenziert zwischen: Laden, Ereignisse vorhanden, leerer Bereich, noch nicht bereitgestellter Endpunkt und nicht gemessen (inkl. Grund).

Alarm — Was als Alarm gilt und wohin gemeldet wird​

Alarm-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①Ganz obenAktive Alarme — Aktuelle Alarme. Falls keine: «Keine aktiven Alarme vorhanden»
②MitteRegel-Karte
③TabellenkopfKomponente · Benachrichtigung · Folge · Unterdrückung (Sek) · Bei Anomalie · Quelle · Aktion
④ZeileRegel einer Komponente. Änderung via [Bearbeiten] nur für diese Zeile
⑤UntenKanal-Karte + [Kanal hinzufügen] — «N aktive Kanäle»
⑥DarunterHinweis bei fehlenden Kanälen

Die drei Karten auf einem Bildschirm beantworten eine Kernfrage in drei Teilen: Gibt es eine Anomalie? (Aktiv) → Was wurde als Anomalie definiert? (Regel) → Wer hört zu? (Kanal).

Stille bedeutet nicht Normalität — Es gibt fünf Gründe

Es gibt fünf Gründe, warum ein aktiver Alarm nicht klingt; der Bildschirm benennt diese in unterschiedlichen Sätzen:

TextBedeutung
StummgeschaltetAlarm wurde manuell deaktiviert
Regel deaktiviert«Benachrichtigung» in der Regel-Tabelle ist aus
Unter MindestprioritätKriterium «Bei Anomalie» nicht erreicht
In UnterdrückungsphaseInnerhalb des Zeitfensters von «Unterdrückung (Sek)»
Kein Kanal vorhandenKein Ziel für den Versand definiert

Zusätzlich erscheint die Meldung «Davon sind N stummgeschaltet». Dies wird nicht in einem einzigen «Stumm»-Badge zusammengefasst, da die fünf Fälle unterschiedliche Gegenmaßnahmen erfordern.

Nicht lesbare Einstellungen werden nicht als «Keine Einstellungen» dargestellt. Wenn der Server einen Fehler wie store: "NA" meldet, wird dieser Satz über der Tabelle angezeigt — kein leeres Bild, das eine Neuinstallation suggeriert. In Knoten, in denen Einstellungen nicht gespeichert werden können, verschwinden die Bearbeitungstasten komplett.

Die vier Bildschirme der Aktivitätsgruppe — Was ist passiert​

Jobs — Alle langlaufenden Vorgänge in einem Journal​

Jobs-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①Ganz obenAktuell laufend — Wird explizit als «keine» angegeben, falls leer
②DarunterTyp · Status-Filter — Backup · Wiederherstellung · Wiederherstellungsplan · Dump · Diagnose · Start · Stop · Restart · Config-Render · PD / Laufend · Erfolg · Fehler · Unbekannt
③KartenkopfHistorie (N)
④TabellenkopfStatus · Typ · Ziel · Start · Dauer · Urheber · Quelle · Nachricht
⑤FehlerzeileFehlerursache in einer Zeile — Bsp: «exit 0, aber Storage ist nicht gewachsen — nichts geschrieben»
⑥Unbekannt-Zeile«pd restart schreibt keine Abschlusszeile — Ergebnis fehlt im Journal»
⑦QuellenspalteBackup-Journal / pd-Journal — Herkunft der Zeile
Grund für diesen Bildschirm — Es gab drei Journale

Backup, Wiederherstellung, Dump, pd doctor und Dienstoperationen dauern Minuten, hinterlassen Aufzeichnungen aber an verschiedenen Orten: Job-Journal der Console, Backup-Journal und das eigene Journal von pd für externe Starts. Zuvor konnte die Frage «Was lief heute auf diesem Knoten?» nur über Audit-Logs beantwortet werden, welche jedoch keine HTTP-Aufrufe oder Ergebnisse aufzeichnen.

«Unbekannt» ist weder Erfolg noch Fehler

Wird als separates Ergebnis dargestellt. Wenn beispielsweise pd restart keine Abschlusszeile hinterlässt, fehlt das Ergebnis im Journal. Dies als Erfolg oder Fehler zu markieren, wäre irreführend.

Hier wird nichts gestartet, abgebrochen oder wiederholt. Diese Aktionen finden auf den Bildschirmen statt, die bereits Bestätigungsschritte und Auswirkungsanalysen enthalten (Backup · Diagnose). Dass es keinen Abbrechen-Button gibt, liegt daran, dass es keinen entsprechenden Endpunkt am Server gibt.

Logs — In diesem Knoten «vorhandene» Logs​

Logs-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①Links KopfLogliste
②Erste ZeileBoot-Log mit Start-Badge
③ListeKomponente · Dateiname · Größe · Letzte Aktualisierung
④Rechts KopfLoginhalt
⑤SucheZeichenfolge — Literal, kein Regex · Level-Chips (TRACE · DEBUG · INFO · WARN · ERROR)
⑥ZeitraumVon ~ Bis · [Suchen] · [Löschen]
⑦Rechts obenZeilenumbruch-Toggle
Pfade werden nicht vom Browser festgelegt

Der Client übermittelt keine Pfade. Er sendet die vom Server vergebene ID; der Pfad liegt beim Server. Es gibt keine Parameter wie ?path=, die ausbrechen könnten.

Log-Inhalte werden nur als Text dargestellt. Da eine Logzeile <script> enthalten kann, wird der Log-Viewer als isoliertes Fenster in der Operations Console implementiert.

«Deklarierte, aber nicht auf Disk vorhandene Datei» ist keine «Leere Datei»

Es gibt drei Zustände: Gelesen / Server konnte pd nicht abfragen / Deklariert, aber Datei fehlt. Letztere zwei werden als «Nicht gemessen» dargestellt, nicht als «Keine Logs» oder «Leere Datei».

In der Liste erscheinen nur Dateien, die in pd logs --list deklariert wurden. Logs von App-Containern (Server, Batch, Warehouse) fehlen hier — nutzen Sie logs.sh auf dem Host.

Diagnose — Messungen von pd doctor​

Diagnose-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①Neben TitelModus — MASTER / Worker
②HinweisInformation «Letzte Ausführung» und [Prüfung ausführen] Button
③DarunterDiagnoseergebnis (Zeitpunkt der Messung)
④ZusammenfassungFehler · Nicht zutreffend · Bestanden · Anzahl Prüfungen
⑤GruppenkartenUnterteilung in Gruppen wie inputs · tools …
⑥TabellenkopfBewertung · Prüfung · Inhalt
Kein Polling — Zahlen entsprechen der «Letzten Ausführung»

pd doctor dauert etwa 3 Sekunden, weshalb kein zyklisches Polling erfolgt. Die Ergebnisse entsprechen der letzten Ausführung. Für neue Messungen klicken Sie auf [Prüfung ausführen]. Bei «busy» kurz warten, da nur ein Durchlauf gleichzeitig möglich ist.

«Nicht zutreffend 0» ist nicht «Nicht gemessen»

Es gibt fünf Antwortzustände: Endpunkt noch nicht vorhanden / Session unterbrochen / Anfrage fehlgeschlagen / Befehl konnte nicht gestartet werden (Grund zwingend) / Befehl lief, aber 0 Prüfungen.

Besonders die letzten zwei sind kritisch. Wenn der Dokumentstatus na ist, bedeutet dies nicht «Alle bestanden», sondern dass nichts gemessen wurde (Grund erforderlich). Eine leere Prüfungsliste ist ein dritter Fall. Würde beides als leeres Panel dargestellt, könnte ein Administrator «Keine Anomalie» lesen, obwohl nichts gemessen wurde.

Für «Nicht zutreffend»-Einträge wird pro Zeile ein Grund angegeben.

Worker — Zeigt Befehle nur «an»​

Worker-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①KartenkopfWorker (Messzeitpunkt)
②TabellenkopfWorker · Adresse · Namensliste · Ring · POSTGRESQL · Slot · REDIS · Health · Status
③ZeileEinzelner Worker. Replikationsslot-Name und Lag-Wert in einer Zeile
④DarunterWorker Health — Details beim Aufklappen
⑤Nächste KarteWas wurde gemessen?
⑥BestandenWorker-Namensliste(/etc/kopens/workers.roster) · Aster TSDB Ring · PostgreSQL · Redis Replika · Worker Health Agent · Eigene Adresse dieses Knotens
⑦Nicht zutreffendWorker-Container · Worker-Volume — Grund wird explizit genannt
Anzeigen bedeutet nicht Ausführen

Befehle zum Hinzufügen/Entfernen von Workern (worker-add.sh · worker-decommission.sh · worker-remove.sh) betreffen den Docker-Daemon, Namenslisten und Compose-Overlays. Diese befinden sich alle auf dem Host. Die API hinter diesem Bildschirm läuft im Data-Lake-Container und hat keinen Zugriff auf den Docker-Socket.

Um Missverständnisse zu vermeiden, gilt:

  1. Keine verb-basierten Steuerelemente. Der einzige Button auf dem Bildschirm ist Kopieren.
  2. Jeder Befehl wird mit dem Titel «Auf dem Host ausführen» und dem Arbeitsverzeichnis angezeigt.
  3. Solange ein Befehl sichtbar ist, erscheint ein Lesezugriff-Hinweis, der direkt vom Server stammt.
  4. Bei Verletzung dieser Regeln schlägt der Build fehl.

Wenn keine Änderungen anstehen, erscheint die Befehlskarte nicht.

«Nicht zutreffend» ist nicht «Keine Anomalie»

Siehe im Bild Worker-Container · Worker-Volume. Der Grund wird explizit genannt — dass der Docker-Socket nicht in diesen Container gemountet wurde und daher hier nicht eingesehen werden kann, bedeutet nicht, dass alles in Ordnung ist.

Betrieb, Befehl und Credentials​

Diese Bereiche dienen der Änderung. Hier ist «Was wird nicht getan?» wichtiger als «Was wird gezeigt?».

Upgrade — Nur Ansicht​

Upgrade-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①SidebarBetriebsgruppe — Konfiguration / Upgrade · Worker / Backup
②KartenkopfAktuell dieser Knoten
③Image-TagBuild-Name · build.version · Bake-Commit · Build-Datum · Gelesen von(/etc/plantpulse-image.env) · Bewertung
④DarunterHinweis, dass Image-Digests auf dem Host geprüft werden müssen — innerhalb des Images nicht sichtbar
⑤Nächste KarteProjekte, die dieses Image bilden — «M von N Projekten geben hier ihre Revision an»
⑥TabelleProjekt · Bewertung · Version · Revision · Gelesen von(MANIFEST · build-info.json · dist.env … variiert je nach Projekt)
Dieser Bildschirm führt keine Upgrades durch — er «zeigt» nur Befehle

Der einzige Button, der eine Serveranfrage auslöst, ist die Vorabprüfung, welche eine Lesezugriffs-Diagnose(pd doctor) ist. Im Befehlsblock gibt es nur eine Steuerung: Kopieren. In keiner Sprache heißt dieser Button «Ausführen» oder «Anwenden».

Sätze wie «Aktuell» kommen nicht im Bundle vor. Dieser Knoten kann weder sein eigenes Image-Tag sehen noch verfügbare Versionen abfragen. Eine beruhigende Nachricht wäre eine Erfindung, die den Administrator daran hindern könnte, tiefer zu suchen — ein Risiko, das wir nicht eingehen.

pd doctor dauert etwa 3 Sekunden und wird nicht zyklisch ausgeführt. Bei Klick startet ein Job, der per Polling überwacht wird.

Befehl — Keine Shell​

Befehl-Bildschirm — Nummern in Lesereihenfolge

NummerPositionFunktion
①Ganz obenStändiger Hinweis — «Es werden nur definierte Befehle ausgeführt»
②Terminal-KopfConsole-Name und Statuspunkt — Bereit · Sendung · Streaming · Unterbrochen
③InhaltAusgabe (Scrollback · ANSI-Farben)
④Unterste ZeilePrompt — Tab-Vervollständigung · ↑↓ Historie · Ctrl+L Löschen
⑤Rechts Kopf«N Lesezugriffe, M Knotenänderungen»
⑥RechtsLesezugriff-Verben (help version status storage flow env doctor config list config diff node status logs --list backup list backup status backup schedule)
⑦DarunterÄndert Knoten — Durch roten Rahmen abgetrennt (config render)
Sieht aus wie ein Terminal, ist aber keine Shell

Das Erscheinungsbild imitiert ein Terminal (Historie, Scrollback, ANSI-Farben, Tab-Vervollständigung). Tatsächlich werden nur die vom Server erzwungenen pd Zulassungslisten ausgeführt.

Wer dies für eine Shell hält, interpretiert eine Ablehnung als «Bug». Deshalb ist der Hinweis ein festes Element auf dem Bildschirm, kein farbiger Text im Scrollback, der nach oben verschwinden könnte.

Die Zulassungsliste wird bei jedem Aufruf vom Server bezogen. Es gibt keine Kopien in Dokumentation oder Code, da diese veralten würden. Wenn die Liste nicht bezogen werden kann, wird die Autovervollständigung deaktiviert, anstatt eine vermutete Liste anzuzeigen.

Befehle, die den Knoten ändern, werden erst nach Bestätigung ausgeführt. Bei einer Ablehnung wird der vom Server gelieferte Grund exakt so angezeigt — eine Verallgemeinerung als «Fehler» würde Sicherheitsmechanismen als unbekannte Fehler erscheinen lassen.

Credentials in Ausgaben werden vom Server maskiert

Wie im Hinweis: «Credentials in dieser Ausgabe werden maskiert, bevor sie den Server verlassen». Der Browser verbirgt sie nicht, sie kommen erst gar nicht an.

Credentials — Karte in der Komponentendetailansicht​

Credentials werden auf der Seite der Komponente, die den Wert nutzt, eingesehen und geändert. Es gibt keinen separaten Credentials-Bildschirm. Klick auf eine Komponentenzeile in «Status und Info» öffnet die Details; dort befindet sich die Karte Credentials. Wenn der Server für diese Komponente keine Credentials zuweist, erscheint die Karte nicht.

SpalteInhalt
PunktWas der Wert ist — Administrator-Konto, interner API-Key etc.
UmgebungsvariableName der Variable
KontoKonto-Name. Nur Lesezugriff
Passwort / KeyMaskiert durch Punkte, ein einzelner Wert wird über Wert anzeigen aufgedeckt
VerbindungsprüfungVerbunden · Wert falsch · Nicht prüfbar (Keine Verbindung) · Nicht prüfbar
Letzte ÄnderungZeitpunkt der letzten Änderung
Ende[Ändern] oder Grund für Sperre (Gesperrt)

Unter der Karte erscheinen die letzten drei Änderungsanfragen dieser Komponente; fehlgeschlagene Anfragen können über [Erneut ausführen] wiederholt werden. Die gesamte Historie findet sich im Audit-Bildschirm.

Werte werden «auf Klick» sichtbar — und dieser Klick wird protokolliert

In der Liste werden keine sensitiven Werte übertragen. «Wert anzeigen» sendet eine separate Anfrage nur für diesen Variablennamen. Diese Anfrage ist ein POST und wird im Audit protokolliert; der Name erscheint nicht in der URL.

Änderungen gehen in eine Queue, Stack startet neu

[Ändern] ändert den Wert nicht sofort. Ein Panel zeigt die Reihenfolge; nach Auswahl von Erstellen (32 Zeichen) oder Wert eingeben müssen das Console-Passwort und der Variablenname erneut eingegeben werden.

  1. Neuer Wert wird verschlüsselt gespeichert und in die Queue eingereiht.
  2. Anwendung der Werte an allen Stellen innerhalb des Data Lakes.
  3. Neustart aller Data-Lake-Dienste mit neuen Werten — Unterbrechung für mehrere Minuten. Andere Produkte erhalten neue Werte beim Neustart ihrer Container.
  4. Prüfung der Konnektivität jeder Komponente. Bei Fehler wird die Anfrage als fehlgeschlagen markiert und mit demselben Wert erneut ausgeführt.

Da die Console nur ein Konto ohne Rollen hat, können alle angemeldeten Personen alle Credentials ändern. Die erneute Abfrage von Passwort und Variablenname dient als Sicherheitsmechanismus. Da Passwort und neuer Wert übertragen werden, nutzen Sie 4950(TLS).

Ein generierter Wert wird bei der Anfrage nur einmal angezeigt und kann nicht erneut aufgerufen werden.

«Hier nicht lesbar» bedeutet nicht «Nicht konfiguriert»

Ein leeres Feld bedeutet wirklich leer; «Hier nicht lesbar» bedeutet, dass die Console den Wert nicht lesen konnte. Gesperrte Zeilen enthalten einen Grund — Kontoname wird nicht geändert, berechnet aus anderem Wert, kein aktueller Wert zum Ändern vorhanden, kein Änderungswerkzeug vorhanden.

Das Verfahren zur Änderung auf dem Host finden Sie unter Passwort ändern.

Karten im Werkzeuge-Bildschirm​

KarteAdresseBeschreibung
CEPhttps://<호스트>:7401/EQL-Regeln und gematchte Ereignisse
PlantPulse Dashboardhttps://<호스트>:3000/Dashboard für Zeitreihendaten
Timeseries Enginehttps://<호스트>:7801/Management-Ansicht der Engine selbst, nicht der Daten
Sparkhttp://<호스트>:4440/Spark Master · Worker · Laufende Anwendungen
Temporalhttp://<호스트>:8233/Workflow-Ausführungen und Historie
Kestrahttps://<호스트>:8380/Daten-Pipelines — Flows · Ausführungen · Logs
RustFShttp://<호스트>:9001/Object Storage — Buckets · Objekte · Access-Keys
Data Gatewayhttps://<호스트>:5501/SQL-Ausführungsconsole. Alte SQL-Werkzeugkarte wurde hier integriert (2026-09-07)

Für drei dieser Werkzeuge gibt es separate Anleitungen — Data Gateway Console · TSE Analyzer · CEP Console.

Bildschirme mit TLS-Zwillingsports verlinken auf die TLS-Seite, um Klartext-Adressen zu vermeiden, da diese Console über TLS(4950) läuft.

Abfragehäufigkeit der Console zu pd​

Die Console führt bei jedem Request keinen vollständigen pd aus. Der Backend-Kollektor-Loop läuft einzeln und lade die letzte Dokumentation in den Cache; die Oberfläche liest diesen Cache.

VerbIntervall
pd status --json · pd logs --list15s
pd node status --json · pd storage --json30s
pd flow --json · pd config diff --json · pd env --json60s
pd doctor --json · pd retention --json · pd config diff --templates --json300s

In einem 60s-Zyklus werden etwa 46s für pd aufgewendet. Daher ist es normal, dass pd status auf dem Host, auf dem die Console läuft, gelegentlich langsam reagiert.

Health API​

Alle von der Console gezeichneten Ansichten basieren auf /api/*. Die vollständige Liste und das Schema werden durch das Lesen von /api/openapi.json als API-Tabelle in der Console angezeigt.

curl -kfsS https://<server-ip>:4950/api/health | jq # TLS
curl -fsS http://<server-ip>:4949/api/health | jq # 평문 — 같은 API
docker exec plantpulse-datalake curl -kfsS https://127.0.0.1:4950/api/health | jq # 컨테이너 안 — 어떤 구성에서도
curl -kfsS https://<server-ip>:4950/api/services | jq # 서비스 목록과 상태

Die Host-Prozesse status.sh · ops-check.sh · doctor.sh · stack-verify-boot.sh lesen alle dieses /api/health. /api/health antwortet ohne Authentifizierung; alle anderen APIs benötigen eine Login-Session oder X-API-Key (Log-Endpunkt).

Prometheus-Integration​

Prometheus scrapet https://<server-ip>:4950/metrics. Bei selbstsignierter CA muss insecure_skip_verify aktiviert werden. Verbindung als Datenquelle über das mitgelieferte PlantPulse Dashboard(3000) oder ein externes Grafana.

Häufige Probleme​

SymptomUrsacheMaßnahme
Console öffnet nicht · «Nicht konfiguriert»PP_DATALAKE_ADMIN_PASSWORD ist leerWeb-Login-Konten
4949 funktioniert, 4950 nichtZertifikatsproblemBrowser-Warnung prüfen oder Zertifikat unter Sicherheitseinstellungen ersetzen
Health-Endpunkt antwortet nichtData-Lake-Container gestörtAuf Host: status.sh → logs.sh plantpulse-datalake
Ganzer Bildschirm «Not measured»Polling gestoppt oder altes ImagePrüfen Sie IMAGE_BUILT_AT von pd env. Vor 2026-09-04 gab admin-api häufig «Another job is already running» aus
Werkzeug-Karten fehlenDienst nicht auf diesem Knoten (Worker) oder Polling-TimeoutMaster-Knoten-Console nutzen
Prometheus Scrape 5xxBackend-Modul abgestürztAbhängige Module über status.sh prüfen
Audit-Bildschirm «Nicht lesbar»Worker-KnotenNormal — Auf Master prüfen

Verwandte Dokumente​