Zum Hauptinhalt springen
Clinford Jordano Valencia
Alle Projekte
KIPlattform

Frontend-Alerting und ein KI-gestützter Triage-Bot

Alerting auf relative Änderungen in der Telemetrie plus ein LLM-gestützter Chat-Bot, der aus einem Alert eine wahrscheinliche Ursache macht, direkt in dem Thread, in dem das Team ohnehin arbeitet.

Stack
SQL · Alerting service · LLM API · Kubernetes · Internal chat bot

Das Problem

Stille Abbrüche bei Übergaben an Dritte wurden erst Tage später über den Kundensupport entdeckt. Die Alerts basierten auf festen Schwellenwerten und waren laut, sodass Menschen gelernt hatten, sie zu ignorieren.

Der Ansatz

  • Relative Baselines statt fester Schwellenwerte. Der Alerting-Dienst führt SQL gegen den Telemetrie-Speicher aus und vergleicht jede Kennzahl mit derselben Stunde der Vorwoche. Ein Rückgang um 20 % bedeutet nachts um 3 Uhr in einer Region etwas und mittags in einer anderen, und globale Traffic-Schwankungen lösen keinen Fehlalarm mehr aus.
  • Ein Alert, der mit Kontext ankommt. Wenn ein Alert auslöst, erscheint eine Incident-Karte im Team-Chat. Ein Hintergrund-Worker sammelt dann aktuelle Frontend-Fehler, die aktive Konfigurationsversion und Deployment-Logs und schickt sie als strukturierten Prompt an eine LLM-API.
  • Eine Zusammenfassung im Thread. Der Bot antwortet mit einer wahrscheinlichen Ursache, zum Beispiel: Die Conversion eines Schritts sinkt in einer Region, ein Null-Pointer-Fehler steckt in einem nativen Wrapper, eine Konfigurationsänderung ging 15 Minuten zuvor live und ein nachgelagerter Dienst läuft in Timeouts.

Das Ergebnis

Die Zeit bis zur Erkennung sank von Stunden oder Tagen auf Minuten, die Zeit bis zur Eindämmung ging zurück, und die Alerts wurden zu welchen, denen Menschen vertrauen. Außerdem habe ich das Signal-Rausch-Verhältnis der Alerts (den Anteil, der auf echte Incidents zurückgeht) und die mittlere Zeit zwischen Ausfällen für Frontend-Module verfolgt.

Warum so

Ein normaler Alert sagt, dass etwas kaputtgegangen ist. Die Daten automatisch zu sammeln und zusammenzufassen schließt die Lücke zwischen einer Kennzahl und dem Verständnis eines Menschen, und dort ging der Großteil der Reaktionszeit verloren.