Eine Exception wird geloggt, ein Alarm geht los, jemand behebt es. Diese Schleife funktioniert - für Fehler, die laut genug sind, um sich selbst anzukündigen. Die Fehler, die unsere Kunden echtes Geld kosten, sind die leisen: Der Anbieter hat still einen SFTP-Schlüssel rotiert, der nächtliche Export hat eine gültige Datei mit null Zeilen erzeugt, der Queue-Consumer „läuft", verarbeitet aber nichts.
Nichts ist fehlgeschlagen. Alles ist stehengeblieben.
Flow-Metriken statt Health-Checks
Ein Health-Check beantwortet die Frage „lebt der Prozess?". Die Frage, die zählt, ist „ist die Arbeit passiert?". Deshalb ist das primäre Signal bei jeder Integration, die wir betreiben, eine Flow-Metrik - Datensätze pro Intervall, verglichen mit dem, was dieses Intervall normalerweise trägt:
- Synchronisierte Bestellungen pro Stunde, mit Baselines für Wochentag/Wochenende - ein ruhiger Sonntag ist normal; ein ruhiger Dienstag um 10:00 Uhr ist ein Vorfall.
- Dateiankünfte als Fristen, nicht als Ereignisse: „die Preisdatei von Partner X ist bis 06:30 Uhr fällig" - der Alarm geht los, wenn sie nicht ankommt.
- End-to-End-Verzögerung, gemessen vom Quell-Zeitstempel bis zum Commit am Ziel, nicht ab Eingang in die Queue.
Das Null-Zeilen-Problem
Besondere Erwähnung verdient der häufigste stille Fehler, den wir sehen: ein geplanter Job, der mit leerer Ausgabe erfolgreich durchläuft. Vorgelagert wurde ein Filter geändert, ein Credential verlor den Lesezugriff auf eine Tabelle, ein Datumsfenster-Bug schloss alles aus - und der Job endet mit Exit-Code 0, grün auf ganzer Linie.
Jeder Extract, den wir ausliefern, trägt eine Plausibilitätsuntergrenze: die kleinste Ausgabegröße, die für diesen Job und Kalenderkontext jemals legitim war. Unterhalb dieser Grenze wird der Lauf angehalten und ein Mensch gefragt: „Dies hat 0 Zeilen erzeugt; die letzten 90 Dienstage lagen im Schnitt bei 4.200 - fortfahren?" Diese eine Schutzmaßnahme hat mehr echte Vorfälle abgefangen als all unsere Exception-Alarme zusammen.
Stille ist ein Signal. Instrumentieren Sie gezielt dafür, denn sie wird sich niemals selbst ankündigen.