Observability, Runbooks & Betrieb

Ein Enterprise-System ist erst fertig, wenn Betrieb und Fehlerdiagnose mitgedacht sind.

LogsMetricsTracesRunbooks
OpenTelemetry und Betriebssicht
OpenTelemetry und Betriebssicht

Signale

SignalAntwortet auf
LogsWas ist im Prozess passiert?
MetricsWie verhält sich das System quantitativ?
TracesWo ging Zeit oder Fehler über Systemgrenzen verloren?
Events/AuditWelche fachliche Tatsache wurde erzeugt?

Trace

TraceId und CorrelationId müssen durch REST, Messaging, Batch und SOAP weitergegeben werden.

Trace Context für Adapter
public final class TraceContext { // Pattern: Context Object
    private final String traceId;
    private final String correlationId;

    public Map<String, String> asHeaders() {
        return Map.of("X-Trace-Id", traceId, "X-Correlation-Id", correlationId);
    }
}

Metriken

  • Order creation rate
  • Billing error rate
  • Outbox backlog
  • Consumer lag
  • HTTP latency p95/p99
  • DB pool exhaustion

Logs

Logs sind strukturiert, maschinenlesbar und enthalten keine Secrets. Stacktraces ohne Kontext reichen nicht.

Runbook

StörungPrüfenAktion
Outbox wächstDB Lock, Broker erreichbar, Relay LogsRelay skalieren oder fehlerhafte Nachricht isolieren
Billing Fehler 5xxTrace, SOAP Endpoint, TimeoutCircuit Breaker öffnen lassen, Retry prüfen
Readiness falseDB/Broker/ConfigTraffic stoppen, Ursache beheben

SLO

Ein gutes SLO ist fachlich: 99,5% der Bestellungen werden innerhalb von 2 Sekunden angenommen; 99,9% der Outbox-Events werden innerhalb von 60 Sekunden publiziert.

⌂ Cockpit