Was ein Log-Alert ist
Ein Log-Alert ist eine gespeicherte Suche plus eine Bedingung:
- eine Query – ein LogsQL-Filter, der die zu zählenden Zeilen auswählt (leer zählt jede Zeile),
- ein Vergleich – mehr als oder weniger als,
- eine Schwelle – die Anzahl passender Zeilen,
- ein Zeitfenster – die letzten 5, 10, 15, 30 oder 60 Minuten,
- ein Benachrichtigungskanal – jeder deiner Kanäle, dessen Integrationen dein Plan enthält: E-Mail, Slack, Discord, Telegram, Microsoft Teams, PagerDuty oder ein Webhook.
Jeder Alert wird einmal pro Minute ausgewertet, und zwar nur gegen die Logs deiner Organisation.
Einen Alert anlegen
Öffne Logs → Alerts → Neuer Alert oder – meist schneller – führ auf der Logs-Seite eine Suche aus und klick auf „Alert anlegen“. Der neue Alert startet mit genau der Query dieser Suche, inklusive der Feldfilter, die du angeklickt hast, und zählt so die Zeilen, die du dir gerade angesehen hast.
Während du die Bedingung einstellst, zeigt das Formular den aktuellen Wert für das gewählte Zeitfenster, ob der Alert gerade auslösen würde, und ein Histogramm der letzten 48 Zeitfenster mit eingezeichneter Schwelle. So siehst du, wie oft er ausgelöst hätte. Ein neuer Alert wird direkt nach dem Speichern ausgewertet; ist die Bedingung schon erfüllt, löst er sofort aus.
Bedingungen und Zeitfenster
| Bedingung | Löst aus, wenn | Typischer Einsatz |
|---|---|---|
| mehr als X | das Zeitfenster mehr als X passende Zeilen hat | Fehlerspitzen, 5xx-Spitzen, fehlgeschlagene Logins |
| weniger als X | das Zeitfenster weniger als X passende Zeilen hat | ein Service, Cron-Job oder Log-Shipper ist verstummt |
Ein Zeitfenster ohne passende Zeilen zählt als 0, deshalb erkennt weniger als 1 zuverlässig einen Service, der nicht mehr loggt. Das Zeitfenster ist fest auf 5, 10, 15, 30 oder 60 Minuten: Kürzere Fenster reagieren schneller, längere glätten Rauschen.
Eine Minute Verzögerung
Jede Auswertung zählt das Zeitfenster, das vor einer Minute endete – um 12:10 zählt ein 5-Minuten-Alert 12:04–12:09. Log-Agents wie Vector, Fluent Bit oder der OpenTelemetry Collector senden in Batches, die neuesten Zeilen können also ein paar Sekunden zu spät ankommen. Ohne die Verzögerung fehlten diese Zeilen in der Zählung, und ein „weniger als“-Alert könnte grundlos auslösen.
Nur Filter als Query
Ein Alert zählt Zeilen, deshalb muss seine Query ein Filter sein: Wörter, Phrasen, field:value-Filter, AND/OR/- und Klammern. Pipes wie | stats, | sort oder | limit sind nicht erlaubt – das Formular und die API lehnen eine Query mit einer Pipe auf oberster Ebene ab und sagen dir das. Ein | in Anführungszeichen, Klammern oder einem Kommentar ist kein Problem.
Auf der Logs-Seite ist „Alert anlegen“ bei Suchen mit Pipes deaktiviert. Entferne den Pipe-Teil, um aus der Suche einen Alert zu machen.
Beispiele
service:=checkout-svc level:errorMehr als 20 in 5 Min.: Der Checkout-Service wirft Fehler.service:=checkout-svcWeniger als 1 in 10 Min.: Der Checkout-Service loggt nicht mehr – abgestürzt, auf null skaliert oder sein Shipper ist kaputt.kubernetes.namespace_name:=payments OOMKilledMehr als 0 in 5 Min.: Einem Pod im Namespace payments ist der Speicher ausgegangen.status:>=500Mehr als 50 in 5 Min.: Dein Ingress liefert Serverfehler."login failed"Mehr als 100 in 15 Min.: möglicherweise Credential Stuffing.
Zustände
| Zustand | Bedeutung |
|---|---|
| OK | Die Bedingung ist nicht erfüllt. |
| Ausgelöst | Die Bedingung ist erfüllt. |
| Fehler | Die letzten drei Auswertungen in Folge sind fehlgeschlagen (zum Beispiel hat der Log-Speicher nicht rechtzeitig geantwortet). Wird jede Minute erneut versucht. |
| Ausgesetzt | Deine Organisation hat ihr monatliches Log-Kontingent aufgebraucht; der Alert wird nicht ausgewertet, bis das Kontingent zurückgesetzt wird oder du upgradest. |
| Pausiert | Du hast den Alert pausiert, oder er wurde pausiert, weil das Limit deines Plans kleiner wurde. |
Die Seite „Log-Alerts“ listet jeden Alert mit seinem Zustand, dem zuletzt gemessenen Wert gegenüber der Schwelle, dem Zeitpunkt der letzten Auswertung und seit wann er in seinem Zustand ist. Die Bearbeitungsseite zeigt die letzten Zustandswechsel.
Benachrichtigungen
Benachrichtigungen werden nur bei einem Zustandswechsel verschickt, und nur einmal:
- OK → Ausgelöst: eine Benachrichtigung über das Auslösen mit der Anzahl, der Bedingung, der Query und einem Link zu den passenden Zeilen auf der Logs-Seite.
- Ausgelöst → OK: eine Entwarnung.
- Wechsel zu Fehler nach drei fehlgeschlagenen Auswertungen in Folge: eine Benachrichtigung mit dem Grund. Kürzere Aussetzer bleiben still.
- Wechsel zu Ausgesetzt: eine Benachrichtigung mit deinem Kontingent, dem Datum, an dem es zurückgesetzt wird, und einem Upgrade-Link.
- Von Fehler, Ausgesetzt oder Pausiert zurück zu OK geht es still; springt der Alert direkt auf Ausgelöst, bekommst du eine normale Benachrichtigung über das Auslösen.
Solange ein Zustand anhält, gibt es keine wiederholten Benachrichtigungen. Benachrichtigungen enthalten nie Logzeilen.
Bearbeiten und pausieren
Änderst du Query, Vergleich, Schwelle oder Zeitfenster, wird der Alert ohne Benachrichtigung auf OK zurückgesetzt und sofort neu ausgewertet. Beim Umbenennen oder beim Wechsel des Kanals behält er seinen Zustand. Der Schalter in der Liste pausiert einen Alert; setzt du ihn fort, geht er still auf OK und wird sofort neu ausgewertet.
Kontingent aufgebraucht
Hat deine Organisation ihr monatliches Log-Volumen aufgebraucht, werden neue Logs abgelehnt. Würden die Alerts trotzdem zählen, lösten „weniger als“-Alerts fälschlich aus und „mehr als“-Alerts wären blind. Deshalb werden stattdessen alle aktiven Alerts der Organisation ausgesetzt – mit je einer Benachrichtigung. Sie laufen zu Beginn des nächsten Monats (UTC) automatisch weiter oder sobald du upgradest. Pausierte Alerts bleiben pausiert.
Plan-Limits
| Plan | Log-Alerts |
|---|---|
| Free | 2 |
| Pro | 25 |
| Agentur | 100 |
Auch pausierte Alerts zählen zum Limit – lösch einen Alert, um Platz für einen neuen zu schaffen. Bei einem Wechsel auf einen kleineren Plan oder am Ende einer Testphase werden Alerts über dem neuen Limit pausiert, nie gelöscht; neue kannst du erst wieder anlegen, wenn du unter dem Limit bist, und ein pausierter Alert lässt sich nur fortsetzen, solange weniger Alerts als das Limit aktiv sind.