Die Kursanmeldung der Musikschule Regensburg-Süd mit ihren drei Standorten war an einem Samstagvormittag 51 Minuten lang nicht zu erreichen, am ersten Anmeldetag des Halbjahres. Die Meldung, die den Bereitschaftshabenden erreichte, kam nach 34 Minuten, und sie kam von einem Vater am Telefon. Der Server war nicht abgestürzt. Ihm war die Platte vollgelaufen, die Datenbank nahm daraufhin keine Schreibzugriffe mehr an, und die Anwendung meldete daraus einen Anmeldefehler und sonst nichts.
In diesem Abstand zwischen dem Ausfall und dem Bemerken steckt fast alles, was dieses Gebiet ausmacht. Ein Server ist kein Arbeitsplatzrechner, der durchläuft. Er ist eine Maschine, auf die sich gerade jemand verlässt, ohne im Raum zu sein, und die ganze Disziplin dreht sich darum, was geschieht, wenn er stehen bleibt.
Drei Zahlen sind einen Alarm wert, und die vierte nicht
Die Prozessorlast zeichnet jeder auf, und sie beendet selten einen Samstag. Zuverlässig zählen drei: freier Platz auf der Platte, Druck auf dem Arbeitsspeicher, und ob der Dienst überhaupt antwortet.
Eine Platte bei 90 Prozent ist ein Alarm, bei 100 Prozent ist sie ein Ausfall, und zwischen beiden kann auf einer belasteten Maschine eine Stunde liegen und auf einer ruhigen ein Monat. Deshalb muss der Alarm auf den Verlauf zeigen und nicht nur auf den Stand. In Regensburg lag die Platte an den neun Tagen vor jenem Samstag durchgehend über der Marke, und an jedem einzelnen dieser Tage wäre die Behebung eine fünf Minuten lange Protokollrotation gewesen.
Die Prüfung, die es unabhängig davon gefunden hätte, stellt die Frage, die ein Mensch stellt. Prüfen, was ein Mensch tut, nicht, was die Maschine meldet: Eine Anfrage, die jede Minute eine Probeanmeldung anlegt und Alarm schlägt, sobald sie scheitert, hätte in der ersten Minute gemeldet statt in der vierunddreißigsten. Kennzahlen der Maschine sagen, warum etwas kaputtging. Eine nachgestellte Prüfung sagt, dass es kaputtging. Das sind zwei Aufgaben, und regelmäßig wird versucht, sie mit einem Werkzeug zu erledigen. Beides ordnet die Überwachung.
Zwei Befehle für die bereits unglückliche Maschine
Der Rest steht in zwei Befehlen, und beide sind bereits installiert.
df -h
Die Ausgabe führt jedes Dateisystem mit seiner Belegung in Prozent auf, und das volle ist selten das erwartete. df -h meldet je Dateisystem, also kann eine volle Platte ein Verzeichnis sein. Maschinen bekommen häufig getrennte Datenträger, und ein volllaufendes Protokollverzeichnis neben einer Hauptplatte bei 40 Prozent ist der gewöhnliche Fall und nicht die Ausnahme. Auf eine einzige Gesamtzahl zu sehen ist der Weg, auf dem eine volle Platte unsichtbar bleibt, während die Kurve gesund aussieht.
journalctl -p err -S -1h
journalctl -p err -S -1h zeigt nur die Fehler der letzten Stunde. Das Weglassen ist hier die Leistung: Ohne die beiden Angaben liest man alles, was die Maschine je gesagt hat, und findet dabei die drei Zeilen nicht, auf die es ankommt.
Die häufigste Ursache ist die eigene Änderung
Der mit Abstand größte Anteil an nicht erreichbaren Servern geht weder auf Hardware noch auf Angriffe zurück. Es ist eine Änderung, eingespielt von denen, denen die Maschine gehört, an einem Arbeitstag. Das spricht nicht gegen Änderungen, sondern dafür, sie so zu machen, dass sie sich zurücknehmen lassen, und nicht am Freitag um sechzehn Uhr.
In der Praxis heißt das: Ein Dienst muss sich mit einem Befehl sauber aus seiner Konfigurationsdatei starten lassen, und die Konfigurationsdatei gehört in eine Versionsverwaltung. Wenn das Wiederherstellen des Verhaltens von letzter Woche daran hängt, sich zu erinnern, was jemand bearbeitet hat, ist die Maschine nicht wiederherstellbar, sondern lediglich noch nicht ausgefallen. Was tatsächlich antwortet und wie es eingestellt wird, steht bei den Webservern.
Ein Samstag
Der Ausfall dauerte eine Sekunde und das Bemerken 34 Minuten
Fünf Augenblicke eines Ausfalls. Nur bei den letzten beiden hat überhaupt jemand die Maschine angefasst.
- Neun Tage vorherDie Platte überschreitet die MarkeFür diesen Datenträger ist kein Alarm eingerichtet, und die Gesamtzahl liest sich weiterhin bequem
- 09:12Die Platte ist vollDie Datenbank nimmt keine Schreibzugriffe mehr an und die Anwendung meldet einen Anmeldefehler
- 09:46Ein Vater ruft an34 Minuten nach dem Ausfall, und das ist die Überwachung, die tatsächlich funktioniert hat
- 09:58df -h nennt den DatenträgerZwölf Minuten bis dorthin, weil die Kurven der Maschine die falsche Zahl zeigten
- 10:03Protokolle rotiert, Schreibzugriffe laufenFünf Minuten, und dieselben fünf hätte es an jedem der neun Tage davor gekostet
Die Abstände sind nicht maßstäblich, und die Form ist die Aussage: Die Behebung dauerte fünf Minuten und der Ausfall 51, und alles dazwischen war Herausfinden.
Wer nachts hinsieht, ist zuerst eine Rechtsfrage
Hier weicht die Sache in Deutschland ab, und zwar in zwei Punkten, die vor dem Werkzeug geklärt gehören.
Der erste betrifft die Überwachung selbst. Eine Überwachung, die Verhalten aufzeichnet, braucht die Zustimmung des Betriebsrats, wo einer besteht, denn ein System, das festhält, wer wann was eingespielt hat, ist eine technische Einrichtung im Sinne der Mitbestimmung, und es genügt, dass es zur Verhaltenskontrolle geeignet ist. Die übliche Lösung ist eine Betriebsvereinbarung, die festlegt, welche Felder aufgezeichnet werden und wie lange. Wer sie nachträglich verhandelt, schaltet in der Zwischenzeit ab.
Der zweite betrifft die Nacht. Bereitschaftsdienst ist Arbeitszeit, Rufbereitschaft ist es nur im Einsatz. Wer zu Hause sein darf und nur erreichbar sein muss, hat Ruhezeit; wer sich am Arbeitsort bereithalten muss, arbeitet, und zwar in voller Länge. Und jeder tatsächliche Einsatz unterbricht die Ruhezeit, sodass die elf Stunden danach von vorn beginnen. Für drei Leute an drei Standorten entscheidet das darüber, ob eine Rufbereitschaft überhaupt aufgeht, und das ist eine Rechnung, die vor dem Kauf eines Alarmierungswerkzeugs aufgemacht wird und nicht danach.
Wo es hakt: der Kanal, den niemand mehr liest
Der Stillstand ist die Alarmmüdigkeit, und sie kommt etwa ein halbes Jahr nach der ersten Überwachung. Jemand schaltet die vorgeschlagenen Alarme ein, bekommt vierzig am Tag, gewöhnt sich das Hinsehen ab, und der eine, auf den es ankam, trifft in einen Raum, der aufgehört hat zu lesen. Ein Alarm, auf den niemand reagiert, ist schlechter als keiner, denn er erzeugt den Glauben, es sehe jemand hin. Die richtige Zahl auf einem kleinen Bestand ist eine Handvoll in der Woche, und dorthin kommt man, indem man das meiste von dem löscht, was ein Werkzeug vorschlägt. Das fühlt sich nach Nachlässigkeit an und ist keine.
Der zweite Stillstand ist der Windows-Bestand, der über völlig andere Werkzeuge verwaltet wird und von Linux-Leuten regelmäßig für ein geringeres Fach gehalten wird statt für ein anderes. Er ist die Mehrheit der Serverarbeit in Unternehmen, und Windows Server ist ein eigener Beruf. Woran ein Ausfall zuerst auffällt, sind ohnehin Mail und Zusammenarbeit.
Was 2026 zu öffnen ist
Für Kennzahlen sind Prometheus und Grafana die Voreinstellung, beide kostenlos und quelloffen. Sie ersetzten Nagios und dessen Generation, die festhielt, ob etwas läuft, statt aufzuzeichnen, wie es sich über die Zeit verhält, und genau darauf kam es oben an: Ein Stand sagt nichts, was ein Verlauf nicht neun Tage früher gesagt hätte.
Wer die Auswertung im eigenen Haus behalten will oder muss, findet in Checkmk Raw eine unter der GPL v2 veröffentlichte und kostenlose Fassung, die sich auf einer eigenen Maschine betreiben lässt. Für einen Auftraggeber, der fragt, wo die Messwerte liegen, ist das die kürzere Antwort. Für Protokolle liegt journalctl ohnehin schon auf der Maschine und reicht für einen kleinen Bestand; ein zentrales Protokollsystem lohnt sich ab dem Punkt, an dem es mehr Maschinen gibt, als sich einzeln anmelden lassen, und keinen Tag früher, denn es kostet ehrlich gerechnet eine Maschine von sich selbst.
Beim Alarmieren zählt nicht das Werkzeug, sondern das Handbuch dahinter: eine Seite je Alarm, die sagt, was in welcher Reihenfolge zu prüfen ist, geschrieben von der Person, die es zuletzt behoben hat. Worin sich diese Maschine von einem Arbeitsplatz unterscheidet, steht bei den Aufgaben eines Servers, und wo sie steht und wer für die Schicht darunter zuständig ist, beim Hosting. Diese ganze Disziplin ist die des übrigen Bereichs der IT, verschoben auf eine Maschine, auf die niemand sieht.
Offen bleibt, was gilt, wenn die Maschine gar nicht die eigene ist und die Schicht darunter stundenweise gemietet wird. Das ist die Frage des Cloud Computing.