2.0 KiB
2.0 KiB
Operations
Logging and Monitoring
- Wichtig, was in Production passiert
- Business kann Feedback bekommen
- Wenn etwas schiefgeht, können die Operatoren direkt benachrichtigt werden
- Historische Daten sind wichtig für zukünftige Planungen
Collecting Data
- Hardware
- Temperatur, Lüftergeschwindigkeit, Stromverbrauch, ...
- Server, Infrastruktur
- Memory-, Swap-, CPU-Verbrauch, Speicherplatz, I/O-Bandbreite, ...
- Middleware
- Ressourcennutzung, Antwortzeit, Datenbankverbindungen, ...
- Anwendungen
- Anwendungsspezifische Logs
- Gesundheitsspezifisch, Status
- Daten, die Businessuser interessieren
- Anwendungsspezifische Logs
Zentralisierte Logging Infrastruktur
- Logs sollten irgendwo aufgezeichnet werden
- nicht dort lassen, wo sie generiert werden
Application Logging
- Wofür?
- Debugging
- unnormales Verhalten aufzeichnen
- Security
- Sollten für den Menschen lesbar sein
Log Levels
Trace
- Primär für Devs
- technische Steps einer Transaktion
Debug
- sämtliche Debugging-Aktivitäten
- enthalten häufig (zu) viele Informationen
- in Produktion am besten nicht mehr sichtbar
Info
- Diagnostiziert, ob System korrekt läuft
Warning
- Wenn Dinge nicht laufen, wie gewünscht
- Risiko, dass Error entsteht, Software läuft weiter
- Erfordern keine direkte Intervention
Error
- Events, die Interventionen erfordern
- bspw. nullpointerexception
- Logevents sollten Errorursache mit aufzeichnen
Fatal
- Exceptionelle Error-Events
- Anwendung muss plötzlich stoppen
- möglichst viele Informationen sollten angezeigt werden
Good Practices
- Frameworks nutzen, wenn möglich
- Struktur bleibt gleich
- Es kann gezielt ausgewählt werden, wie viele Log-Levels ausgegeben werden sollen
- Klare Sprache
- Maschinen und Menschenlesbar
- Kontext ist essenziell
- Was ist passiert
- Wann ist es passiert
- Wo ist es passiert
- Warum ist es passiert
- Wer hat es ausgelöst