Eine Baseline ist ein Referenzmodell für das Normalverhalten einer Metrik oder eines Service, etwa die typische Latenz, der Durchsatz oder die Fehlerrate zu einer bestimmten Tageszeit. Monitoring und Anomalie-Erkennung vergleichen aktuelle Werte mit dieser Baseline und bewerten Abweichungen damit relativ zum Erwartbaren statt gegen einen festen, manuell gewählten Schwellenwert.
Was eine Baseline ist
Eine Baseline beantwortet eine scheinbar einfache Frage: Wie sieht normal aus? Für eine Payment-API bedeutet normal vielleicht 1.200 Requests pro Sekunde zur Mittagszeit und 150 um 4 Uhr nachts, bei einer p95-Latenz von rund 180 ms tagsüber. Für einen Batch-Job ist eine CPU-Spitze jede Nacht um 2 Uhr normal. Erst wenn Sie das Normalverhalten kennen, können Sie beurteilen, ob ein aktueller Wert auffällig ist.
Baselines gibt es in zwei Grundformen. Eine statische Baseline ist eine Momentaufnahme, etwa die Performance eines Service im Lasttest oder vor einer Migration. Sie dient dem Vergleich: Ist die neue Version schneller oder langsamer als die alte? Eine dynamische Baseline wird fortlaufend aus der jüngeren Historie gelernt und passt sich an verändertes Verhalten an. Sie ist die Grundlage für Anomalie-Erkennung und dynamische Schwellenwerte.
Wie dynamische Baselines berechnet werden
Die meisten dynamischen Baselines kombinieren drei Bausteine:
- Niveau. Der typische Wert, oft ein gleitender Median oder Mittelwert über ein aktuelles Zeitfenster. Mediane sind robuster gegenüber Ausreißern als Mittelwerte.
- Saisonalität. Viele Metriken folgen Tages- und Wochenzyklen. Eine gute Baseline vergleicht Montag 9 Uhr mit früheren Montagen um 9 Uhr, nicht mit Sonntagnacht.
- Streuung. Die erwartete Schwankung um das Niveau, ausgedrückt als Band, etwa über Standardabweichung, Median Absolute Deviation oder Perzentile historischer Werte.
Fortgeschrittene Verfahren nutzen Zeitreihenzerlegung, exponentielle Glättung oder Machine-Learning-Modelle, um den Erwartungswert samt Konfidenzband vorherzusagen. Unabhängig von der Methode gilt: Eine Anomalie ist ein Wert, der das Band lange genug verlässt, um relevant zu sein.
Baselines je Dimension
Am nützlichsten sind Baselines, wenn sie je relevanter Dimension berechnet werden, etwa pro Service, Endpoint, Region oder Kundensegment. Eine globale Baseline über alle Endpoints verdeckt, dass ein langsamer Such-Endpoint und ein schneller Health-Endpoint nichts gemeinsam haben. Der Preis ist das Volumen: Jede zusätzliche Dimension vervielfacht die Zahl der zu lernenden Baselines. Deshalb werden Attribute mit hoher Kardinalität wie User-IDs selten einzeln gebaselined.
Warum Baselines wichtig sind
Statische Schwellenwerte sind leicht geschrieben und schwer richtig gewählt. Zu niedrig angesetzt, feuern sie täglich zur Lastspitze und sind ein Haupttreiber von Alarmmüdigkeit. Zu hoch angesetzt, übersehen sie schleichende Verschlechterungen, etwa wenn die Latenz binnen einer Woche von 120 ms auf 280 ms steigt. Baselines passen sich jedem Service und jeder Tageszeit an, sodass eine einzige Regel Hunderte Services mit völlig unterschiedlichen Lastmustern abdecken kann.
Auch für die Analyse von Änderungen sind Baselines zentral. Fehlerrate und Latenz eines neuen Releases mit der Baseline der Vorgängerversion zu vergleichen, ist der Kern von Canary-Analysen und Deployment-Verifikation.
Beispiel: Wochensaisonalität
Ein beispielhafter Checkout-Service im E-Commerce verarbeitet werktags abends etwa 400 Bestellungen pro Minute und nachts 80. Eine statische Regel „Alert, wenn Bestellungen pro Minute unter 100 fallen“ würde jede Nacht feuern. Eine Baseline mit Wochensaisonalität erwartet um 3 Uhr 80 und um 20 Uhr 400. Fallen die Bestellungen um 20 Uhr auf 220, liegt der Wert zwar deutlich über 100, aber 45 % unter dem erwarteten Niveau, und die Baseline meldet ein wahrscheinliches Problem, vielleicht einen gestörten Zahlungsanbieter.
Best Practices
- Die relevanten Signale baselinen: Die Golden Signals Latenz, Traffic, Fehler und Sättigung sind ein guter Standard.
- Genug Historie verwenden. Wochensaisonalität braucht mindestens einige Wochen Daten, neue Services sollten mit konservativen Bändern starten.
- Incidents ausschließen, wo möglich, damit Ausfälle nicht zum neuen Normal werden.
- Dauer verlangen. Ein einzelner Punkt außerhalb des Bands ist selten aussagekräftig, verlangen Sie mehrere Minuten Abweichung.
- Mit SLOs kombinieren. Baselines zeigen, was ungewöhnlich ist, SLOs zeigen, was für Nutzer inakzeptabel ist. Beides ist nützlich.
Häufige Fehler
Ein verbreiteter Fehler ist es, nur Durchschnittswerte zu baselinen. Die durchschnittliche Latenz kann stabil bleiben, während sich das p99 verdoppelt, daher sollten auch Perzentile eine Baseline erhalten. Ein weiterer Fehler ist es, geplante Änderungen zu ignorieren: Kampagnen, Feiertage und Migrationen verschieben das Normalverhalten, und Baselines brauchen Zeit oder explizite Annotationen. Schließlich sind Baselines für Services mit wenig Traffic oft sehr verrauscht. Längere Aggregationsfenster oder SLO-Alerts funktionieren dort meist besser.
Wie Obseria unterstützt
Obseria Intelligence lernt Baselines für Metriken, Logs und Traces automatisch, inklusive Tages- und Wochensaisonalität, und nutzt sie zur Anomalie-Erkennung ohne manuelles Schwellenwert-Tuning. Zusammen mit dem Deployment Tracking werden Abweichungen mit Releases und Konfigurationsänderungen korreliert, sodass Sie erkennen, ob eine Verhaltensänderung mit einem bestimmten Deployment begann.