Integrationen überwachen: Alarm bei Stille, nicht nur bei Fehlern

Eine Wand grüner Sync-Status-Kacheln mit einer einzelnen bernsteinfarbenen Warnkachel

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.