Alerts in Snowsight

Sie können Alerts für Snowflake-Funktionen in der Snowsight einrichten. Diese Benutzeroberfläche vereinfacht die Überwachung Ihres Snowflake-Kontos.

Anstatt SQL-Anweisungen zum Erstellen und Verwalten von Alerts auszuführen, können Sie Assistenten in der Snowsight zum Erstellen, Verwalten und Überwachen Ihrer Alerts verwenden.

Die Verwaltungsfunktion für Alerts in Snowsight bietet die folgenden Vorteile:

  • Zentrale Sichtbarkeit von Alerts: Im Snowflake Alerts Center können Sie alle Alerts, den Verlauf dieser Alerts und den Ausführungsstatus dieser Alerts einsehen.

  • Vorlagen für das Erstellen von Alerts: Sie können schnell Alerts für die folgenden Features erstellen, indem Sie die Alert-Vorlagen verwenden, die in der Snowflake Alerts-UI bereitgestellt werden. Hinweis: Sobald ein Alert aus einer Vorlage generiert wurde, entspricht dieser in Bezug auf die Lebenszyklusverwaltung jedem anderen Alert und enthält keine speziellen Eigenschaften

  • Proaktive Überwachung von Snowflake-Features: Sie können ganz einfach Benachrichtigungen für Fehler, Latenz oder Datenanomalien konfigurieren, um sicherzustellen, dass Ihre Pipelines und Budgets funktionieren.

Voraussetzungen

Bevor Sie die Snowsight verwenden können, um Alerts zu erstellen, zu überwachen und zu verwalten, müssen Sie die folgenden Voraussetzungen erfüllen:

Voraussetzungen für Aufgaben-Alerts

Wenn Sie planen, Alerts für Aufgaben zu erstellen, zu verwalten und zu überwachen, müssen Sie Folgendes tun:

  • Legen Sie den Schweregrad der protokollierten Meldungen fest, die Sie für Aufgabenereignisse erfassen möchten.

    Die Aufgaben-Alerts überwachen Fehlermeldungen, die in der Ereignistabelle protokolliert werden. Sie müssen den Parameter LOG_LEVEL mindestens auf ERROR für die Aufgaben einstellen, die Sie überwachen möchten. Sie können diesen Parameter für einen der folgenden Objekttypen festlegen:

    • Um den Schweregrad für alle Objekte im Konto (einschließlich Aufgaben) auf ERROR einzustellen, führen Sie ALTER ACCOUNT SET LOG_LEVEL aus:

      ALTER ACCOUNT SET LOG_LEVEL = ERROR;
      

      Bemerkung

      Diese Einstellung wirkt sich auch auf die von UDFs protokollierten Meldungen, gespeicherte Prozeduren und dynamische Tabellen aus.

    • Um den Schweregrad für alle Objekte in einer Datenbank, welche die Aufgaben enthält, auf ERROR einzustellen, führen Sie ALTER DATABASE SET LOG_LEVEL aus:

      ALTER DATABASE my_task_db SET LOG_LEVEL = ERROR;
      

      Bemerkung

      Diese Einstellung wirkt sich auch auf die von UDFs protokollierten Meldungen, gespeicherte Prozeduren und dynamische Tabellen in dieser Datenbank aus.

    • Um den Schweregrad für bestimmte Aufgaben auf ERROR einzustellen, führen Sie ALTER TASK … SET LOG_LEVEL aus:

      ALTER TASK my_task SET LOG_LEVEL = ERROR;
      
  • Überprüfen Sie die Berechtigungen, die der Rolle erteilt wurden, mit der Sie auf die Snowsight zugreifen möchten.

    Dieser Rolle muss die Berechtigung zur Abfrage von Ansicht TASK_HISTORY und Ansicht QUERY_HISTORY im Schema ACCOUNT_USAGE erteilt worden sein.

    Weitere Informationen dazu finden Sie unter Ermöglicht anderen Rollen die Verwendung von Schemas in der SNOWFLAKE-Datenbank..

Voraussetzungen für Openflow-Alerts

Die Openflow-Alerts überwachen Ereignisse, die in einer Ereignistabelle erfasst werden. Stellen Sie sicher, dass Openflow so konfiguriert ist, dass es Ereignisse protokolliert. Weitere Informationen finden Sie in den folgenden Abschnitten:

Voraussetzungen für Datenqualitäts-Alerts

Stellen Sie sicher, dass Datenmetrikfunktionen (DMF) registriert sind und für die Tabellen und Ansichten ausgeführt werden, die Sie überwachen möchten.

Weitere Informationen dazu finden Sie unter Verwenden von SQL zum Einrichten von Datenmetrikfunktionen.

Benachrichtigungen für Alerts einrichten

Wenn Sie einen Alert in der Snowsight erstellen, können Sie den Alert so konfigurieren, dass er eine Benachrichtigung per E-Mail oder über einen Webhook sendet.

Um Benachrichtigungen zu versenden, müssen Sie eine Benachrichtigungsintegration verwenden. Sie können entweder eine bestehende Benachrichtigungsintegration verwenden oder eine neue erstellen:

  • Um bestehende Benachrichtigungsintegrationen zu finden, führen Sie SHOW NOTIFICATION INTEGRATIONS aus und verwenden den Pipe-Operator, um die Ergebnisse zu filtern:

    -- Find email integrations
    SHOW NOTIFICATION INTEGRATIONS ->> SELECT * FROM $1 WHERE "type" = 'EMAIL';
    
    -- Find webhook integrations
    SHOW NOTIFICATION INTEGRATIONS ->> SELECT * FROM $1 WHERE "type" = 'WEBHOOK';
    
  • Informationen zum Erstellen einer neuen E-Mail-Benachrichtigungsintegration finden Sie unter Senden von E-Mail-Benachrichtigungen.

  • Informationen zum Erstellen einer neuen Webhook-Benachrichtigungsintegration finden Sie unter CREATE NOTIFICATION INTEGRATION (Webhooks).

Erstellen einer Rolle für den Zugriff auf Alerts in Snowsight

Um anderen Benutzern als dem Kontoadministrator den Zugriff auf Benachrichtigungen in der Snowsight zu ermöglichen, können Sie eine kundenspezifische Rolle erstellen, die über alle Berechtigungen verfügt, die zum Erstellen, Verwalten und Überwachen von Alerts erforderlich sind. Sie können diese Rolle Benutzern und anderen Rollen zuweisen, die Alerts in der Snowsight verwenden müssen.

Beispiel: Sie möchten eine Rolle mit dem Namen my_alert_center_role für diesen Zweck erstellen. Um diese Rolle zu erstellen, führen Sie die folgenden Schritte aus:

  1. Wechseln Sie zu einer Rolle, die Ihre kundenspezifische Rolle erstellen darf (z. B. ACCOUNTADMIN-Rolle):

    USE ROLE ACCOUNTADMIN;
    
  2. Erstellen Sie Ihre kundenspezifische Rolle:

    CREATE OR REPLACE ROLE my_alert_center_role;
    
  3. Gewähren Sie die USAGE-Berechtigung für ein Warehouse, das Sie für den Zugriff auf Alerts in der Snowsight verwenden möchten. Sie müssen diese Berechtigung erteilen, da einige der Features ein aktives Warehouse erfordern.

    GRANT USAGE ON WAREHOUSE my_warehouse TO ROLE my_alert_center_role;
    
  4. Erteilen Sie der Rolle die Berechtigungen für das Ausführen von Alerts:

    • Wenn Sie planen, Alerts zu erstellen, die ein bestimmtes Warehouse zur Ausführung verwenden, erteilen Sie dieser Rolle die folgenden Berechtigungen:

      • EXECUTE ALERT-Berechtigung für das Konto

      • USAGE-Berechtigung für das Warehouse, das Sie für den Alert verwenden möchten

      Beispiel:

      GRANT EXECUTE ALERT ON ACCOUNT TO ROLE my_alert_center_role;
      GRANT USAGE ON WAREHOUSE my_warehouse TO ROLE my_alert_center_role;
      
    • Wenn Sie planen, einen serverlosen Alert zu erstellen, gewähren Sie die EXECUTE MANAGED ALERT-Berechtigung für das Konto:

      GRANT EXECUTE MANAGED ALERT ON ACCOUNT TO ROLE my_alert_center_role;
      
  5. Gewähren Sie die Berechtigungen, die zum Erstellen von Alerts in einer Datenbank und einem Schema erforderlich sind.

    Beispiel: Wenn Sie planen, die Alerts in einer Datenbank namens my_alerts_database und in einem Schema namens my_alert_schema zu erstellen, gewähren Sie die USAGE-Berechtigung für diese Datenbank und dieses Schema, und erteilen Sie die CREATE ALERT-Berechtigung für das Schema:

    GRANT USAGE ON DATABASE my_alerts_database TO ROLE my_alert_center_role;
    GRANT USAGE ON SCHEMA my_alerts_schema TO ROLE my_alert_center_role;
    GRANT CREATE ALERT ON SCHEMA my_alerts_schema TO ROLE my_alert_center_role;
    
  6. Gewähren Sie die USAGE-Berechtigung für die Integration von E-Mail-Benachrichtigungen, die Sie zuvor eingerichtet haben:

    GRANT USAGE ON INTEGRATION my_email_int TO ROLE my_alert_center_role;
    
  7. Weisen Sie die Anwendungsrolle zu, die den Zugriff auf die Standard-Ereignistabelle ermöglicht :

    GRANT APPLICATION ROLE SNOWFLAKE.EVENTS_VIEWER TO ROLE my_alert_center_role;
    
  8. Wenn Sie planen, Alerts zur Überwachung der Datenqualität einzurichten, weisen Sie die Anwendungsrolle und die Berechtigungen zu, die für die Überwachung der Datenqualität und das Ausführen von Datenmetrikfunktionen erforderlich sind:

    GRANT APPLICATION ROLE SNOWFLAKE.DATA_QUALITY_MONITORING_VIEWER TO ROLE my_alert_center_role;
    GRANT EXECUTE DATA METRIC FUNCTION ON ACCOUNT TO ROLE my_alert_center_role;
    
  9. Weisen Sie die kundenspezifische Rolle Benutzern oder anderen Rollen zu:

    GRANT ROLE my_alert_center_role TO USER my_user;
    GRANT ROLE my_alert_center_role TO ROLE my_other_role;
    

Zugriff auf Alerts über Snowsight

So greifen Sie in der Snowsight auf die Alerts zu:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Monitoring » Alerts aus.

Sie können eine Liste der bestehenden Alerts anzeigen und die Alerts nach Alert-Name und Status filtern. Sie können auch den Status der letzten Ausführungen von Alerts anzeigen.

Erstellen eines neuen Alerts

Sie können einen neuen Alert erstellen, indem Sie eine der bereitgestellten Vorlagen verwenden. Führen Sie die folgenden Schritte aus, um einen Alert zu erstellen:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Monitoring » Alerts aus, und wählen Sie dann + Alert aus.

  3. Geben Sie im Feld Name einen Namen für den Alert ein.

  4. Beschreiben Sie den Zweck des Alerts im Feld Description.

  5. Wählen Sie im Menü Location die Datenbank und das Schema aus, in dem Sie den Alert erstellen möchten.

  6. Wählen Sie im Menü Compute Type eine der folgenden Optionen aus:

  7. Wenn Sie den Alert aktivieren möchten, nachdem er erstellt wurde, legen Sie Activate alert upon creation fest.

    Wenn Sie diese Option nicht auswählen, bleibt der neu erstellte Alert ausgesetzt. Sie müssen den Alert fortsetzen, damit der Alert aktiviert wird.

  8. Wählen Sie Next aus.

  9. Wählen Sie im Menü Select warehouse das Warehouse aus, das Sie für den Alert verwenden möchten.

  10. Wählen Sie im Menü Alert template eine der Vorlagengruppen für Snowflake-Features aus, und wählen Sie die Vorlage aus, die Sie zum Erstellen des Alerts verwenden möchten.

    In der folgenden Tabelle sind die Vorlagengruppen und Vorlagen aufgeführt, die Sie auswählen können.

    Vorlagengruppe

    Vorlage

    Beschreibung

    DATA_QUALITY

    Anomaly detection alert

    Überwacht Anomalien, die in Datenqualitätsmetriken erkannt wurden, und löst einen Alert aus, wenn ungewöhnliche Muster oder Ausreißer identifiziert werden.

    Expectation violations alert

    Überwacht auf Verstöße gegen Datenqualitätserwartungen, und löst einen Alert aus, wenn definierte Erwartungen nicht erfüllt werden.

    OPENFLOW

    High CPU alert

    Überwacht Openflow-Laufzeit-Pods auf anhaltend hohe CPU-Nutzung (> 90 %), was auf eine mögliche Beeinträchtigung der Leistung hinweisen kann.

    Connector backpressure (object count)

    Überwacht die Anzahl der Konnektorwarteschlangen, um festzustellen, ob sie den Schwellenwert für den Backpressure-Schwellenwert überschreiten, was darauf hinweisen kann, dass das nachgelagerte System nicht mit der Datenflussrate mithalten kann.

    Connector backpressure (bytes)

    Überwacht die Bytes in der Warteschlange des Konnektors, um festzustellen, ob der Backpressure-Schwellenwert überschritten wurde, was darauf hinweisen kann, dass in der Datenpipeline eine Überlastung des Arbeitsspeichers vorliegt.

    High queued bytes alert

    Überwacht die Bytes der Konnektorwarteschlange, um festzustellen, ob sie sich dem Schwellenwert für Backpressure (> 80 %) nähern, was eine Frühwarnung sein kann, bevor ein Rückstau auftritt.

    High queued count alert

    Überwacht die Anzahl der Objekte in der Konnektorwarteschlange, um festzustellen, ob sie sich dem Backpressure-Schwellenwert (> 80 %) nähern, was eine Frühwarnung sein kann, bevor ein Rückstau auftritt.

    No data alert

    Überwacht Konnektoren, die eine aktive Verarbeitungszeit haben, aber keine Daten empfangen oder senden, was auf mögliche Probleme mit dem Datenfluss hinweisen kann.

    Runtime high error rate alert

    Überwacht die Openflow-Laufzeitprozessoren auf ein hohes Volumen von ERROR-Protokolleinträgen, die auf Verarbeitungsfehler hinweisen können.

    Table replication failure alert

    Überwacht den Übergang der Tabellenreplikation zu einem FAILED-Status, was auf kritische Probleme bei der Datensynchronisierung hinweisen kann.

    TASKS

    Error rate alert

    Löst einen Alert aus, wenn die kumulative Aufgabenfehlerrate einen bestimmten Schwellenwert überschreitet.

  11. Füllen Sie die Konfigurationsfelder für den Alert aus. Die Felder hängen von der von Ihnen gewählten Vorlage ab.

  12. Wählen Sie den Bereich aus, den Sie überwachen möchten. Der Geltungsbereich bestimmt die Objekte, die für den Alert überwacht werden. Um beispielsweise alle Objekte im Konto zu überwachen, wählen Sie Account im Menü Scope aus.

  13. Wählen Sie im Menü Schedule den Typ des Zeitplans aus, der für die Ausführung des Alerts verwendet werden soll:

    • Um den Alert nur auszuführen, wenn neue Objekte hinzugefügt werden (z. B. neue Zeilen, die in eine von Ihnen überwachte Tabelle eingefügt werden), wählen Sie When new events are detected aus.

    • Um den Alert nach einem regelmäßigen Zeitplan auszuführen und die Häufigkeit für die Ausführung des Alerts auszuwählen (z. B. alle 10 Minuten), wählen Sie On a schedule aus.

  14. Wählen Sie im Menü Notification integration die Benachrichtigungsintegration, die Sie zuvor erstellt haben aus. Sie können eine E-Mail-Integration oder eine Webhook-Integration verwenden.

  15. Wenn Sie eine E-Mail-Integration ausgewählt haben, wählen Sie im Menü Email recipients die E-Mail-Adressen der Personen aus, die benachrichtigt werden sollen, wenn der Alert ausgelöst wird.

  16. Wählen Sie Create aus.

Bemerkung

  • Der Vorlagenassistent erzeugt dieSQL-Anweisungen zum Erstellen des Alerts. Wenn Sie den Alert weiter anpassen möchten, können Sie diese Anweisungen direkt ändern.

  • Der Alert ist nur sichtbar, wenn Ihre aktuelle Rolle die MONITOR- oderOWNERSHIP-Berechtigung für den Alert hat.

Anzeigen der Details eines Alerts

Um die Details eines bestimmten Alerts anzuzeigen, wählen Sie in der Alert-Liste die Zeile des Alerts aus. Snowsight öffnet die Seite mit den Alert-Details, auf der die folgenden Informationen angezeigt werden:

  • Aktueller Ausführungsverlauf: Eine Tabelle der letzten Ausführungen des Alerts, einschließlich Fertigstellungszeit, Status (z. B. Triggered oder:ui:Condition not met), Bedingung und ausgeführtes Aktions-SQL sowie die zugehörigen Abfrage-IDs. Sie können nach Zeitbereich und Status filtern und weitere Ausführungen laden.

  • Beschreibung: Der Kommentar oder die Beschreibung, die für den Alert festgelegt wurden.

  • Details: Metadaten zum Alert, einschließlich Alert-Name, Status (gestartet oder ausgesetzt), Eigentümerrolle, Datenbank, Schema, Warehouse und Zeitplan.

  • Bedingung: Die SQL-Anweisung, die die Bedingung für den Alert enthält. Dies ist der IF(EXISTS(...))-Block des Alerts.

  • Aktion: Die SQL-Anweisung, die der Alert ausführt, wenn die Bedingung erfüllt ist. Dies ist der THEN-Block des Alerts.

Überwachen der Ausführung von Alerts

In der Tabelle mit dem aktuellen Ausführungsverlauf auf der Alert-Detailseite zeigt die Spalte Status den Status jeder Ausführung. Folgende Status sind möglich:

  • Triggered: Die Bedingung wurde als TRUE ausgewertet und die Aktion wurde ausgeführt.

  • Condition not met: Die Bedingung wurde als FALSE ausgewertet und es wurde keine Aktion ausgeführt.

Eine vollständige Liste der möglichen Status und ihrer Bedeutungen finden Sie in der Spalte STATE in:doc:ALERT_HISTORY</sql-reference/functions/alert_history>.

Um eine fehlgeschlagene Ausführung zu untersuchen, überprüfen Sie die Spalten Condition query ID und Action query ID. Sie können diese Abfrage-IDs verwenden, um SQL_ERROR_CODE und SQL_ERROR_MESSAGE für die Ausführung in ALERT_HISTORY zu suchen, mit dem spezifischen Fehlercode und einer Beschreibung des Problems.

Bearbeiten eines Alerts

Um einen Alert auf der Alert-Detailseite zu bearbeiten, wählen Sie Weitere Aktionen für das Arbeitsblatt in der rechten oberen Ecke aus und wählen dann Edit. Snowsight öffnet das Bearbeitungsdialogfeld mit zwei Registerkarten: General und Config.

Bearbeiten der allgemeinen Alert-Eigenschaften

Auf der Registerkarte General können Sie die folgenden Eigenschaften des Alerts ändern:

  • Name: Name des Alerts. Dieses Feld ist bei bestehenden Alerts schreibgeschützt.

  • Kommentar: Eine Beschreibung, was der Alert überwacht. Diese wird der Eigenschaft COMMENT in ALTER ALERT zugeordnet.

  • Computetyp: Ob der Alert ein serverloses Computemodell oder ein bestimmtes Warehouse verwendet. Wenn Sie Warehouse verwenden, wählen Sie das Warehouse im Menü Warehouse aus.

  • Zeitplan: Wie oft der Alert ausgeführt wird. Wählen Sie On a schedule aus und legen Sie die Häufigkeit fest (z. B. alle 30 Minuten).

Wählen Sie Save aus, um die Änderungen zu übernehmen.

Bearbeiten der Konfiguration eines Alerts

Auf der Registerkarte Config können Sie die Konfiguration (CONFIG) des Alerts bearbeiten. Wenn ein Alert aus einer Vorlage erstellt wird, legt die Vorlage eine Konfiguration fest, welche die einstellbaren Parameter für den Alert enthält (z. B. Schwellenwerte, Benachrichtigungsziele und Überwachungsbereich). Die Bedingung und die Aktions-SQL des Alerts lesen diese Werte zur Laufzeit über SYSTEM$GET_ALERT_CONFIG.

Durch die Bearbeitung der Konfiguration können Sie die Geschäftslogik des Alerts ändern, ohne die zugrunde liegenden SQL-Anweisungen zu ändern.

Abhängig von der Struktur der Konfiguration zeigt Snowsight eine von zwei Bearbeitungserfahrungen an.

Bearbeiten einer Vorlagenkonfiguration

Wenn der Alert aus einer Vorlage erstellt wurde und die Konfiguration die Struktur beibehält, die von der Vorlage erwartet wird, zeigt Snowsight ein umfangreiches Bearbeitungsformular an. Jedes Feld in der Konfiguration wird mit einer von Menschen lesbaren Bezeichnung und einer Beschreibung der erwarteten Werte angezeigt. Die spezifischen Felder hängen von der Vorlage ab, aber häufige Beispiele sind:

  • Ein Schwellenwert, der den Alert auslöst (z. B. eine Fehlerrate zwischen 0,0 und 1,0).

  • Eine Benachrichtigungsmethode wie EMAIL oder WEBHOOK mit zugehörigen Feldern für die Integration und die Empfänger.

  • Ein Bereich, der steuert, welche Objekte der Alert überwacht (z. B. ACCOUNT, DATABASE oder SCHEMA), mit optionalen Filtern, um den Bereich weiter einzugrenzen.

Wenn Sie diese Felder ändern und Save auswählen, aktualisiert Snowsight das CONFIG JSON für den Alert. Die Bedingung und die Aktions-SQL des Alerts verwenden dann die neuen Werte, wenn der Alert das nächste Mal ausgeführt wird.

Bearbeiten einer vereinfachten Schlüssel-Wert-Konfiguration

Wenn die Konfiguration nicht mit der Struktur übereinstimmt, die die Vorlage erwartet (z. B. wenn Sie die CONFIG durch SQL angepasst haben und das Schema geändert haben), greift Snowsight auf einen vereinfachten Schlüssel-Wert-Editor zurück.

In dieser Ansicht wird die Konfiguration als Liste von Schlüssel-Wert-Paaren angezeigt. Sie können zwischen zwei Modi wechseln:

  • Key-value: Bearbeiten Sie jedes Schlüssel-Wert-Paar einzeln.

  • JSON: Hier können Sie die JSON-Konfigurationsrohdaten direkt anzeigen und bearbeiten.

Vorsicht

Die Konfigurationswerte beeinflussen die Bedingung und die Aktionslogik des Alerts, aber es handelt sich nicht um verwaltete Parameter mit einem umfassenden Abkommen mit Snowflake. CONFIG ist eineJSON-Zeichenfolge, welche die Alert-SQL zur Laufzeit liest, und die Vorlagen-SQL ist für die Interpretation dieser Werte verantwortlich.

Durch das Ändern der Konfigurationswerte wird das Laufzeitverhalten der Alert-SQL geändert. Falsche Werte (z. B. ein nichtnumerischer Wert für einen Schwellenwert oder eine ungültige E-Mail-Adresse) können dazu führen, dass der Alert nicht korrekt funktioniert oder unerwartete Ergebnisse auftreten. Überprüfen Sie die Dokumentation der Vorlage oder die der Alert-SQL, bevor Sie die Konfigurationswerte ändern.

Weitere Informationen, wie der CONFIG-Parameter auf SQL-Ebene funktioniert, finden Sie unter Übergeben der Konfiguration an einen Alert.