Artikel

Überwachung, die mich nachts nicht weckt

Zwischen „ich merke Ausfälle gar nicht“ und „mein Handy klingelt ständig“ liegt ein schmaler Grat. Wie ich Meldungen so eingestellt habe, dass sie etwas bedeuten.

BlackZackBlackzack

983 Wörter · 5 Min. Lesezeit

  • betrieb
  • ueberwachung
  • handwerk

Nach dem dreitägigen Ausfall 2020 hatte ich ein einfaches Lebenszeichen gebaut. Über die Jahre kamen Prüfungen dazu: Ist der Webdienst erreichbar? Antwortet die Datenbank? Läuft der Bot? Ist die Platte voll?

Im Sommer 2023 war ich an einem Punkt, an dem ich die Meldungen nicht mehr gelesen habe. Nicht aus Nachlässigkeit — es waren einfach zu viele, und die meisten bedeuteten nichts.

Wie Alarmmüdigkeit entsteht

Der Ablauf ist immer derselbe und passiert schleichend:

  1. Man baut eine Prüfung mit einer scharfen Schwelle, weil man sichergehen will.
  2. Die Prüfung schlägt gelegentlich an, ohne dass etwas kaputt ist.
  3. Man gewöhnt sich an, die Meldung wegzuwischen.
  4. Irgendwann ist eine echte Meldung dabei, und man wischt sie genauso weg.

Bei mir war der klassische Fall die Erreichbarkeitsprüfung alle sechzig Sekunden. Ein einzelner Aussetzer im Netz — nichts weiter — erzeugte eine Meldung. Bei einem Dutzend Prüfungen kamen so mehrere Fehlalarme pro Woche zusammen.

Die drei Regeln, die geholfen haben

Regel 1: Eine Meldung braucht eine Handlung. Wenn ich auf eine Meldung nichts tun kann oder nichts tun würde, gehört sie nicht als Meldung verschickt, sondern höchstens in ein Protokoll oder eine Übersicht.

Diese Regel allein hat die Hälfte meiner Meldungen entfernt. „Die Auslastung liegt bei 80 Prozent" ist keine Handlungsaufforderung. „Die Platte ist in drei Tagen voll" ist eine.

Regel 2: Nicht der Zustand zählt, sondern der Verlauf. Ein einzelner fehlgeschlagener Aufruf ist Rauschen. Drei hintereinander sind ein Signal. Alle meine Prüfungen brauchen seitdem mehrere Fehlversuche in Folge, bevor sie melden.

Prüfung alle 60 s
  → Fehler 1 : nichts
  → Fehler 2 : nichts
  → Fehler 3 : melden
  → wieder erfolgreich : Entwarnung melden

Die Entwarnung ist wichtiger, als sie klingt. Ohne sie weiß man nie, ob etwas noch offen ist.

Regel 3: Meldungen haben Stufen. Nicht alles ist gleich dringend:

StufeBeispielWeg
kritischDienst antwortet nicht mehrNachricht aufs Handy
wichtigSicherung fehlgeschlagen, Zertifikat läuft in 7 Tagen abNachricht in einen Kanal
InformationAuslastung über Schwelle, ungewöhnliche FehlerzahlNur in der Übersicht

Der Unterschied zwischen Stufe 1 und Stufe 2 ist bei mir schlicht: Muss ich jetzt aufstehen oder reicht morgen früh? Fast alles ist Stufe 2.

Was ich tatsächlich prüfe

Die Liste ist kürzer geworden, nicht länger:

Von außen, wie ein Nutzer: Antwortet die Startseite mit Status 200 und in unter zwei Sekunden? Diese eine Prüfung ersetzt fünf interne, weil sie den ganzen Weg abdeckt — Netzwerk, Proxy, Anwendung, Datenbank.

Lebenszeichen der Hintergrundprozesse: Hat der Bot in den letzten fünf Minuten geschrieben, dass es ihn gibt und dass er angemeldet ist?

Sicherungen: Ist heute Nacht eine Sicherung entstanden, und ist sie mindestens so groß wie die von gestern minus einem Puffer?

Speicherplatz: Nicht als Prozentwert, sondern als Hochrechnung. „Bei diesem Wachstum voll in X Tagen" ist die einzige Form, die zu einer Handlung führt.

Zertifikate: Laufen in weniger als vierzehn Tagen ab? Die automatische Erneuerung funktioniert fast immer — und diese Prüfung ist genau für das „fast" da.

Infobox

Die Prüfung von außen ist die wertvollste. Interne Prüfungen sagen, ob Bausteine leben. Nur die Prüfung von außen sagt, ob das Ding tut, wofür es da ist. Bei mir läuft sie deshalb von einem anderen Rechner an einem anderen Ort — sonst prüft der ausgefallene Server sich selbst und meldet nichts, weil er ja aus ist.

Der Fehler, den ich zweimal gemacht habe

Beide Male dieselbe Sache: Die Überwachung lief auf demselben Server wie das, was sie überwacht.

Beim ersten Mal ist der Server ausgefallen, und ich habe keine Meldung bekommen — weil das Skript, das die Meldung schicken sollte, auch aus war. Beim zweiten Mal war es kein Ausfall, sondern eine volle Platte: Das Überwachungsskript konnte nicht mehr schreiben und ist stillschweigend gescheitert.

Die Lehre: Wer prüft, muss unabhängig von dem sein, was er prüft. Das kann ein kleiner zweiter Server sein, ein fremder Dienst oder auch nur ein Skript auf einem anderen Rechner. Hauptsache nicht dasselbe System.

Was ich nicht überwache — und warum

Die Liste dessen, was ich bewusst nicht prüfe, ist mir inzwischen fast wichtiger als die andere.

Auslastung von Prozessor und Speicher als Momentwert. Sie schwankt, sie bedeutet für sich genommen nichts, und ein Schwellwert darauf erzeugt Fehlalarme. Was ich stattdessen prüfe, ist die Grundlast im Wochenvergleich.

Die Anzahl laufender Prozesse. Klingt sinnvoll und ist es nicht — sie schwankt aus harmlosen Gründen.

Einzelne Fehler in Protokollen. Ein Fehler ist normal. Eine Häufung ist ein Signal. Die Unterscheidung braucht einen Zeitbezug, und ohne den erzeugt jede Fehlerüberwachung Rauschen.

Erreichbarkeit im Sekundentakt. Eine Prüfung pro Minute reicht für alles, was ich betreibe. Häufiger zu prüfen erzeugt mehr Fehlalarme, nicht mehr Wissen.

Diese Zurückhaltung ist das Ergebnis eines Zustands, in dem ich Meldungen nicht mehr gelesen habe. Eine Überwachung, die man ignoriert, ist schlechter als keine — weil sie das Gefühl vermittelt, abgesichert zu sein.

Der Test, den ich zweimal im Jahr mache

Eine Überwachung, die nie ausgelöst hat, ist eine Vermutung. Deshalb löse ich sie absichtlich aus.

Einen Dienst anhalten und prüfen, ob die Meldung kommt — und wie lange es dauert.

Eine Sicherung absichtlich fehlschlagen lassen, indem ich das Zielverzeichnis kurz umbenenne.

Die Meldung selbst prüfen: Kommt sie an? Steht darin, was los ist? Reicht der Text, um zu handeln, ohne nachzusehen?

Beim letzten Durchlauf hat genau eine Prüfung nicht angeschlagen — die für die Sicherung eines Dienstes, den ich Monate vorher umbenannt hatte. Das Skript prüfte weiterhin den alten Pfad und meldete brav, dass dort keine Sicherung fehle. Es hat nie eine gegeben.

Diese Sorte Fehler findet man ausschließlich, indem man den Ernstfall herstellt.

Was ich mitnehme

Der Zweck von Überwachung ist nicht, alles zu wissen. Es ist, in dem Moment etwas zu erfahren, in dem man handeln kann und würde.

Alles darüber hinaus ist Beruhigung für den Erbauer und wird nach zwei Wochen ignoriert. Und eine ignorierte Meldung ist schlimmer als gar keine, weil sie das Gefühl vermittelt, es sei etwas abgesichert.