Posts from 2019-09-03

Ich sehe was, was du nicht siehst

Worum geht’s?

Ich will mal etwas aufklären, was Monitoring, Logging, Alerting und Sampling bedeutet, und mit ein paar Missverständnissen aufräumen.

Ein großer Haufen Datenmist

Sobald die Softwarelandschaft groß genug wird, ohne vorher über das Monitoring nachgedacht zu haben, möchte man das ab einem gewissen Zeitpunkt natürlich gerne haben. Man greift sich entweder die Logs von Servern manuell ab, oder lässt die Anwendungen Mails verschicken, oder irgend eine andere Lösung, die mehr schlecht als recht funktioniert. Man wirft alles in eine große Datenhalde und denkt sich… hm, ich habe doch jetzt alle Daten, dann kann ich ja endlich rauskriegen, was hier so Sache ist.

Das Problem ist jetzt, dass man alle Daten hat. Auch die, die eigentlich keinen interessieren, oder gar irreführend sind. Wenn die Applikationen ohnehin schon so gebaut sind, dass sie keine sinnvolle Möglichkeit bieten, Logs oder Metriken abgreifen zu können, heißt das in der Regel auch, dass die Logmeldungen und Metriken falsch gewählt sind, da sich offenbar keine großen Gedanken darum gemacht wurden.

Monitoring fängt bei der Anwendung an, nicht bei der Datenhalde, oder genauer gesagt dem System, was die Logs und Metriken auswerten soll. Es ist keine Kunst, eine große Datenhalde zu bauen, in die man sämtlichen Rest- und Sondermüll reinballert, den man in seinem Applikationszustand findet. Als Entwickler einer Anwendung muss ich mir Gedanken darüber machen, welche Logmeldungen und welche Metriken relevant sind, um Fehlerursachen erkennen und beheben zu können, ohne die Anwendung debuggen zu müssen, in gewisser Weise also Fernwartung.

Continue reading