Direkt zum Hauptinhalt
Produkt

Automatisieren Sie die Daten- und KPI-Überwachung mit SQL-Warnmeldungen

Verwandeln Sie manuelle Datenprüfungen in eine automatisierte Überwachung, die Probleme im Moment ihres Auftretens erkennt

von Srilekha Dornadula

In vielen Organisationen ist die Datenüberwachung immer noch eine manuelle, sich wiederholende Routine: Jeden Morgen das gleiche Dashboard öffnen, die gleichen Abfragen erneut ausführen, nach Anomalien suchen. Bis jemand fragt „Warum ist diese Metrik gesunken?“, ist sie oft schon seit Stunden oder sogar Tagen falsch, normalerweise von einem Stakeholder oder einem nachgelagerten Bericht, der bereits fehlerhafte Zahlen geliefert hat, gekennzeichnet. Die Behebung ist ein weiteres manuelles Ritual. Das funktioniert, bis es das nicht mehr tut: Es lässt sich nicht über Teams, Umgebungen oder Produktions-Workloads skalieren, und die Kosten für die Überwachung steigen weiter an.

Heute kündigen wir an, dass Databricks SQL Alerts allgemein verfügbar (GA) ist und bereits mehr als 4.000 Kunden Alerts in der Produktion nutzen. SQL Alerts verwandelt diese manuelle Routine in eine zuverlässige, automatisierte Überwachung: Definieren Sie eine Metrik oder Bedingung einmal in SQL, werten Sie sie nach einem Zeitplan aus (oder inline mit der Jobs-Pipeline, die die Daten erzeugt) und benachrichtigen Sie die richtigen Verantwortlichen, wenn sie Ihre Grenzwerte überschreitet. Egal, ob Sie geschäftliche KPIs wie Umsatz, operative Gesundheit wie Pipeline-Aktualität oder Datenqualitätsprobleme verfolgen, SQL Alerts hilft Ihnen, Probleme frühzeitig zu erkennen, manuelle Stichproben zu reduzieren und die Überwachung bei wachsender Nutzung konsistent zu halten.

„Die Implementierung von SQL Alerts für unsere Anomalieerkennungsdienste hat die Beobachtbarkeit erheblich vereinfacht. Anstatt Überwachungsinfrastruktur zu pflegen, können wir uns jetzt auf Alerts verlassen, um nach Problemen zu suchen und Benutzer zu benachrichtigen. Seine vereinfachte Benutzeroberfläche und das anpassbare Erlebnis haben den manuellen Aufwand für unser Team reduziert und uns geholfen, Probleme schneller zu identifizieren.“ —Enrique Olivares, Big Data Software Development Engineer, Zillow

Überblick über SQL Alerts

Was sind SQL Alerts?

Ein SQL Alert bündelt eine SQL-Abfrage, eine Auswertungsbedingung, einen Zeitplan und eine Reihe von Benachrichtigungszielen. Wenn das Abfrageergebnis bei der geplanten Ausführung die Bedingung überschreitet, benachrichtigt Databricks die richtigen Verantwortlichen über die von Ihnen konfigurierten Kanäle.

Was Teams mit SQL Alerts tun können:

  • Frühes Erkennen von Geschäftsmetrik-Drift. Benachrichtigen, wenn der Umsatz im Vergleich zur Vorwoche um mehr als 5 % sinkt, wenn die tägliche Konversionsrate unter einem Zielwert liegt oder wenn die täglichen aktiven Benutzer in einer Schlüsselregion zurückgehen.
  • Pipelines vertrauenswürdig halten. Benachrichtigen, wenn eine Tabelle in der letzten Stunde nicht aktualisiert wurde, wenn die Zeilenanzahl unter dem erwarteten Basiswert liegt oder wenn ein Job teilweise Daten geladen hat.
  • Benutzerdefinierte Datenqualitätsprobleme erkennen, bevor Dashboards ausfallen. Benachrichtigen, wenn Null-Raten einen Schwellenwert überschreiten, wenn doppelte Schlüssel auftreten oder wenn sich eine Verteilung außerhalb der erwarteten Grenzen verschiebt.

    Zeitplan und Konfiguration eines Alerts

Was ist in GA verfügbar?

SQL Alerts GA umfasst alles, was Sie benötigen, um Alerts in der Produktion zu erstellen, zu betreiben und zu skalieren:

  • Alerts im SQL-Editor erstellen. Definieren Sie die Abfrage, die Auswertungsbedingung, den Zeitplan und die Benachrichtigungen in einem Ablauf. Sie erhalten die volle Leistung von Databricks SQL mit Genie Code, der Ihnen beim Schreiben von Abfragen hilft.
  • Alerts dort ausführen, wo Sie sie benötigen. Verwenden Sie eigenständige SQL Alerts, die nach ihrem eigenen Zeitplan ausgeführt werden, oder fügen Sie eine SQL Alert-Aufgabe zu einem Lakeflow Job hinzu, um Bedingungen inline mit der Pipeline auszuwerten, die die Daten erzeugt.
  • Die richtigen Personen auf die richtige Weise erreichen. Senden Sie Benachrichtigungen an E-Mail, Slack, PagerDuty, Microsoft Teams oder Webhooks mit Rich-Text-Vorlagen, die die Alert-Auswertungsverlauf enthalten, damit Empfänger schneller eine Triage durchführen können.
  • Alerts als Produktionscode verwalten. Definieren Sie Alerts in Git, stellen Sie sie über Declarative Automation Bundles bereit und automatisieren Sie Erstellung und Updates über APIs, Terraform und SDKs.
  • Alerts skalierbar beobachten. Neue Alerts System Tables (in Private Preview) – `system.alert.alerts` und `system.alert.alert_evaluation_history` – stellen Konfigurations- und Auswertungsdaten aus Ihrem gesamten Workspace bereit, sodass Teams Alerts überprüfen, Trends analysieren und Workloads skalierbar verwalten können.
„Die native Databricks-Integration macht Alerts einfach zu definieren und zuverlässig zu betreiben. Da die Alert-Logik, die Planung und die Benachrichtigungen an einem Ort verwaltet – und über Git versioniert – werden, konnten wir die Überwachung standardisieren und Probleme schneller und mit viel weniger manuellem Aufwand erkennen.“ —Tom Potash, Software Engineering Manager bei DoubleVerify

Beispiel für die Verwendung von SQL Alerts

Lassen Sie uns nun ein Beispiel durchgehen, um den Wert von SQL Alerts zu demonstrieren. Ein gängiger Bedarf in der Geschäftsüberwachung ist die Erkennung unerwarteter Umsatzrückgänge im Vergleich zu aktuellen Basiswerten. Dieses Beispiel zeigt, wie ein Alert erstellt wird, der den Umsatz von gestern mit dem Sieben-Tage-Durchschnitt vergleicht und die richtigen Personen benachrichtigt, wenn der Rückgang 5 % übersteigt.

Schritt 1: Die Abfrage im SQL-Editor schreiben

Diese Abfrage berechnet den Umsatz von gestern und vergleicht ihn mit dem Sieben-Tage-Durchschnitt.

Ausgabe: Eine einzelne Spalte, `revenue_pct_change`, die der Alert auswertet. Dieser Alert würde ausgelöst, da der Umsatzrückgang 5 % übersteigt.

Schritt 2: Bedingung und Benachrichtigungen konfigurieren

Legen Sie im Editor die Bedingung auf revenue_pct_change -5 fest und fügen Sie Benachrichtigungsempfänger hinzu. Sie können die Benachrichtigungsvorlage auch über den Rich-Markdown-Editor anpassen, um mehr Kontext oder nächste Schritte in Ihrer Benachrichtigung hinzuzufügen.

Bedingung konfigurieren

Schritt 3: Planen

Wählen Sie eine Kadenz für die Auswertung. Für einen geschäftskritischen KPI stellt beispielsweise die tägliche Auswertung sicher, dass Änderungen innerhalb von 24 Stunden erkannt werden.

Wenn der Alert ausgelöst wird, erhalten die Empfänger eine Benachrichtigung mit dem Alert-Auswertungsstatus, dem Ergebnis, einem Link zum Alert und dem letzten Ausführungsverlauf. Sie können sofort mit der Untersuchung beginnen.

Beispiel für eine Alert-E-Mail

SQL Alerts enthält auch eine umfassende Alert-Detailseite mit dem vollständigen Ausführungsverlauf, die zeigt, wann jede Auswertung lief, ob der Alert ausgelöst wurde und welche Ziele benachrichtigt wurden. Dies hilft Teams zu bestätigen, dass die Überwachung wie erwartet läuft, und die Triage zu beschleunigen, indem angezeigt wird, wann der Alert ausgelöst wurde.

Beispiel für Umsatz-Alert

Alerts mit Genie Code erstellen (bald verfügbar)

Mit Genie Code wird der obige Leitfaden zu einer Ein-Prompt-Erfahrung. Beschreiben Sie die Benachrichtigung, die Sie wünschen, in natürlicher Sprache ("benachrichtigen Sie mich, wenn die täglichen Einnahmen im Wochenvergleich um mehr als 5 % sinken"), und Genie Code erstellt eine Benachrichtigung für Sie von Ende zu Ende. Sie können Genie jederzeit bitten, Änderungen vorzunehmen, oder die Benachrichtigungs-UI öffnen, um direkt zu bearbeiten.

Schreiben von Benachrichtigungen mit Genie CodeGenie Code-Unterstützung für Benachrichtigungen

Benachrichtigungen in Lakeflow Jobs ausführen

Eigenständige SQL-Benachrichtigungen laufen nach ihrem eigenen Zeitplan, unabhängig von jeder Pipeline. Das passt zu vielen Anwendungsfällen für die Überwachung: alles, was nicht davon abhängt, wann die Upstream-Daten landen.

Aber einige Prüfungen gehören in die Pipeline, die die Daten erzeugt: Sind bei diesem Ladevorgang vollständige Daten gelandet? Ist diese Metrik in Ordnung, bevor wir sie veröffentlichen? Sollte der nächste Schritt überhaupt ausgeführt werden? Das Ausführen als eigenständige geplante Benachrichtigungen bedeutet, dass die Benachrichtigung nach ihrem eigenen Zeitplan ausgeführt wird, getrennt von der Pipeline, die die Daten erzeugt, und ihr Ergebnis kann nicht beeinflussen, was als Nächstes in der Pipeline geschieht.

Mit dem neuen SQL Alert-Task in Lakeflow Jobs (in Public Preview) können Sie genau das tun. Das gleiche Benachrichtigungsobjekt kann jetzt als Task innerhalb Ihrer Pipelines ausgeführt werden. Es gibt auch den Auswertungsstatus (OK, TRIGGERED oder ERROR) als Ausgabewert des Tasks aus, auf den Sie nachgelagert verweisen können.

Benachrichtigungen in Lakeflow Jobs

Beispiel: Betrugsspitzen erkennen, sobald Transaktionsdaten landen

Eine Pipeline lädt jede Stunde Kreditkartentransaktionen. Wenn die Betrugsrate nach einem Ladevorgang ansteigt, muss das Betrugs-Ops-Team dies sofort erfahren, um die Spitze zu untersuchen.

Fügen Sie einen SQL Alert-Task direkt nach dem Ladeschritt hinzu, um zu prüfen, ob die Betrugsquoten-Rate Ihren Schwellenwert überschreitet. Fügen Sie dann einen If/Else-Task mit der Bedingung {{tasks.Alert-FraudRateCheck.output.alert_state}} == "TRIGGERED" hinzu. Wenn die Benachrichtigung OK zurückgibt, wird die Pipeline mit der regulären BI-Berichterstattung fortgesetzt. Wenn sie TRIGGERED ist, wird sie zu einem Diagnose-Notebook weitergeleitet, das eine Aufschlüsselung nach Händlerkategorie und Region erstellt und das Betrugs-Ops-Team per E-Mail benachrichtigt. Das gleiche Benachrichtigungsobjekt kann Ihren Pipeline-Fluss steuern!

Beispiel für Betrugsspitzen-Benachrichtigung

Benachrichtigungen zuverlässig in der Produktion betreiben

Wenn die Benachrichtigungen über Teams und Umgebungen hinweg skaliert werden, verschiebt sich die Herausforderung von der Erstellung von Benachrichtigungen zu deren zuverlässigen Verwaltung über die Zeit. SQL Alerts ist darauf ausgelegt, Produktions-Workflows zu bewältigen durch:

  • Git-Integration: Benachrichtigungsdefinitionen leben in Git, versioniert und überprüft neben dem Rest Ihres Produktionscodes.
  • Deklarative Automatisierungs-Bundles: Bieten eine strukturierte Möglichkeit, Benachrichtigungen zusammen mit anderen Workspace-Ressourcen zu definieren und bereitzustellen, was eine wiederholbare Beförderung von der Entwicklung zur Produktion unterstützt.
  • APIs, Terraform und SDKs: Erstellen und verwalten Sie Benachrichtigungen programmatisch über APIs und das Databricks SDK.

Schließen Sie sich den über 4.000 Kunden an, die bereits SQL Alerts verwenden. Ihre erste Benachrichtigung ist in nur fünf Minuten eingerichtet. Lesen Sie die Dokumentation zu SQL Alerts und beginnen Sie mit einer Überwachungsabfrage, die Sie bereits regelmäßig manuell überprüfen!

(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag

Erhalten Sie die neuesten Beiträge in Ihrem Posteingang

Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.