Betrieb, Protokolle und Diagnose
Im laufenden Betrieb interessieren drei Fragen: Läuft der Dienst? Was sagt er? Und was tut er, wenn etwas fehlt?
Läuft der Dienst?
Abschnitt betitelt „Läuft der Dienst?“GET /health -> {"ok":true}Lesen Sie diese Antwort genau so, wie sie gemeint ist: sie beweist, dass der Prozess antwortet — mehr nicht. Sie prüft nicht die Datenbank und nicht die Verbindungen zur Anlage. Für einen Neustart durch die Container-Aufsicht reicht sie; als Aussage „alles in Ordnung” reicht sie nicht.
Ob es der Anlage gut geht, sehen Sie an anderer Stelle: unter Einstellungen › Verbindungen steht je Verbindung ihr Zustand.
Was sagt er?
Abschnitt betitelt „Was sagt er?“Der Dienst schreibt strukturierte Zeilen im JSON-Format nach stdout. In einem Container heißt das: das Protokoll holt sich Ihre gewohnte Container-Protokollierung ab. TrakState schreibt keine eigenen Protokolldateien.
Jede Zeile trägt, wo sie herkommt: Mandant, Benutzer, Plugin, Herkunft (Oberfläche oder Server), Vorgangskennung und — bei Skripten — den Skriptpfad.
LOG_LEVEL steuert, wie viel geschrieben wird. Ohne Angabe gilt info. Für die Fehlersuche
ist debug der richtige Wert; er ist gesprächig, also nicht dauerhaft.
Die Diagnoseleiste
Abschnitt betitelt „Die Diagnoseleiste“Am unteren Rand der Oberfläche kann eine Diagnoseleiste sitzen. Sie ist ausgeblendet,
bis Sie sie zur Fehlersuche einschalten, und zwar in dem Browser, in dem Sie suchen: Hängen Sie
?diagnostics=on an die Adresse, etwa /settings/scripts?diagnostics=on (steht dort schon ein
?, dann &diagnostics=on). Der Browser merkt sich das; ?diagnostics=off blendet sie wieder
aus. Mit ihr erscheinen auch die Wege dorthin: Live in der Diagnose im Dock der Skriptseite und
In Diagnose anzeigen im Menü eines Plugins.
Eingeschaltet ist sie zunächst eingeklappt und kostet in diesem Zustand nichts: erst beim Aufklappen mit Diagnose einblenden wird überhaupt ein Datenstrom geöffnet.
Aufgeklappt zeigt sie die Protokollzeilen live, filterbar nach Stufe, Plugin und Herkunft. Zu sehen sind die eigenen Zeilen; je nach Berechtigung lassen sich auch die aller Benutzer einblenden. Das entscheidet der Server, nicht die Oberfläche.
Zwei Grenzen, die Sie kennen sollten:
| Grenze | Voreinstellung | Bedeutung |
|---|---|---|
LOG_HISTORY_LINES_PER_TENANT |
1000 Zeilen | Der Verlauf liegt im Arbeitsspeicher und ist nach einem Neustart weg. |
LOG_INGEST_LINES_PER_MINUTE |
100 Zeilen | So viel darf ein Browser pro Minute in das Protokoll schreiben. |
Die Diagnoseleiste ist damit ein Werkzeug für jetzt, keine Ablage. Was Sie aufbewahren wollen, muss aus dem Container-Protokoll kommen.
Der Audit-Verlauf
Abschnitt betitelt „Der Audit-Verlauf“Unter Einstellungen › Audit steht, wer wann was geändert hat. Das ist etwas anderes als das Protokoll: das Protokoll ist technisch und flüchtig, der Audit-Verlauf ist fachlich und liegt in der Datenbank. Einzelheiten stehen im Kapitel Audit.
Was der Dienst verweigert, und warum das gut ist
Abschnitt betitelt „Was der Dienst verweigert, und warum das gut ist“TrakState startet lieber nicht, als still falsch zu laufen. Wenn eine Instanz nicht hochkommt, steht die Ursache in der ersten Fehlerzeile. Die häufigsten:
| Meldung dreht sich um | Ursache |
|---|---|
JWT_SECRET |
Im Produktivbetrieb kürzer als 32 Zeichen. |
| Die Laufzeitrolle | Sie könnte den Zeilenschutz umgehen. Das würde die Mandantentrennung aushebeln. |
| Ein fehlendes Kennwort in der Verbindungszeichenfolge | Im eigenen Netz und im Mietbetrieb muss die Datenbankverbindung eines tragen. |
| Die Betriebsdatenverbindung | Sie ist nicht von der Anwendungsdatenbank getrennt. |
Produktionsanzeichen im Profil local-dev |
Das Entwicklungsprofil ist in einer echten Umgebung gestartet worden. |
Was fehlen darf, ohne den Start zu verhindern
Abschnitt betitelt „Was fehlen darf, ohne den Start zu verhindern“Umgekehrt gilt: Fehlt etwas Optionales, läuft die Instanz, und nur der davon abhängige Vorgang scheitert — mit einer Meldung, die ihn benennt.
| Fehlt | Folge |
|---|---|
| Vertrauensanker | Pakete mit Server-Anteil lassen sich nicht installieren. Alles andere läuft. |
| Install-Verbindung | Pakete mit eigenen Tabellen lassen sich nicht installieren, aktualisieren oder entfernen. |
| Paketspeicher | Es lässt sich überhaupt kein Paket installieren. |
| Schlüsseldatei für Zugangsdaten | Betroffene Verbindungen bleiben unten, namentlich im Protokoll benannt. |
| Broker-Startwert | Die Instanz startet ohne Konnektor; Verbindungen legen Sie in der Oberfläche an. |
Was Sie regelmäßig ansehen sollten
Abschnitt betitelt „Was Sie regelmäßig ansehen sollten“- Verbindungen — steht jede auf dem erwarteten Zustand?
- Das Protokoll auf Fehlerstufe — besonders nach einem Neustart.
- Freier Plattenplatz der Datenbank und der Dateiablage.
- Dass die Sicherung tatsächlich läuft — TrakState überwacht das nicht für Sie.