Log-Alerts

Lass dich benachrichtigen, wenn ein Service zu viele Fehler loggt – oder gar nicht mehr loggt. Ein Log-Alert zählt die Zeilen, die zu einem Filter passen, über die letzten Minuten und sagt dir einmal Bescheid, wenn die Anzahl deine Schwelle überschreitet, und einmal, wenn wieder alles normal ist.

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

BedingungLöst aus, wennTypischer Einsatz
mehr als Xdas Zeitfenster mehr als X passende Zeilen hatFehlerspitzen, 5xx-Spitzen, fehlgeschlagene Logins
weniger als Xdas Zeitfenster weniger als X passende Zeilen hatein 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.

Hinweis: Eine Query, die der Log-Speicher nicht versteht, wird beim Speichern abgelehnt, mit der Begründung des Parsers. Lässt sich die Query in dem Moment nicht validieren (noch keine Logs gesendet, Speicher kurz nicht erreichbar), wird der Alert gespeichert, und eine fehlerhafte Query zeigt sich stattdessen als Zustand Fehler.

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

ZustandBedeutung
OKDie Bedingung ist nicht erfüllt.
AusgelöstDie Bedingung ist erfüllt.
FehlerDie letzten drei Auswertungen in Folge sind fehlgeschlagen (zum Beispiel hat der Log-Speicher nicht rechtzeitig geantwortet). Wird jede Minute erneut versucht.
AusgesetztDeine Organisation hat ihr monatliches Log-Kontingent aufgebraucht; der Alert wird nicht ausgewertet, bis das Kontingent zurückgesetzt wird oder du upgradest.
PausiertDu 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

PlanLog-Alerts
Free2
Pro25
Agentur100

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.

FAQ

Enthalten Benachrichtigungen meine Logzeilen?

Nein. Eine Benachrichtigung enthält den Namen des Alerts, die gemessene Anzahl, die Bedingung, die Query und einen Link zur Logs-Seite für das ausgewertete Zeitfenster – nie den Inhalt einer Logzeile. So landen keine personenbezogenen Daten aus deinen Logs in Slack, E-Mail oder anderen Kanälen.

Warum hat mein Alert bei Logs, die vor ein paar Sekunden ankamen, nicht ausgelöst?

Alerts werten das Zeitfenster aus, das vor einer Minute endete; Zeilen aus der letzten Minute zählen also erst in den nächsten Auswertungen. Diese Verzögerung verhindert, dass ein „weniger als“-Alert grundlos auslöst, wenn ein Agent Logs in Batches schickt.

Kann ein Alert nach Service gruppieren oder den Durchschnitt eines Felds berechnen?

Noch nicht. Ein Alert zählt passende Zeilen; er gruppiert nicht, aggregiert nicht und berechnet keine Verhältnisse. Leg einen Alert pro Service an, wenn du Schwellen pro Service brauchst.

Werde ich erinnert, solange ein Alert ausgelöst bleibt?

Nein. Du bekommst genau eine Benachrichtigung, wenn er auslöst, und eine, wenn er wieder OK ist. Die Seite „Log-Alerts“ zeigt alles, was gerade ausgelöst ist.

Was passiert mit meinen Alerts, wenn ich auf einen kleineren Plan wechsle?

Alerts über dem Limit des neuen Plans werden pausiert, nie gelöscht. Welche aktiv bleiben, entscheidest du, indem du sie auf der Seite „Log-Alerts“ pausierst und fortsetzt; die, die du nicht mehr brauchst, löschst du, um Platz für neue Alerts zu schaffen.