Verwenden von Ressourcenmonitoren

Um die Kosten zu kontrollieren und die unerwartete Credit-Nutzung durch aktive Warehouses zu vermeiden, stellt Snowflake Ressourcenmonitore zur Verfügung. Ein virtuelles Warehouse verbraucht während seiner Ausführung Snowflake-Credits.

Ein Ressourcenmonitor kann zur Überwachung der Credit-Nutzung durch virtuelle Warehouses und durch die zur Unterstützung dieser Warehouses erforderlichen Clouddienste verwendet werden. Falls gewünscht, kann das Warehouse bei Erreichen eines Credit-Limits angehalten werden.

Die Anzahl der verbrauchten Credits hängt von der Größe des Warehouses und der Ausführungsdauer ab.

Grenzwerte können für ein bestimmtes Intervall oder einen bestimmten Datumsbereich festgelegt werden. Wenn diese Grenzwerte erreicht oder beinahe erreicht sind, kann der Ressourcenmonitor verschiedene Aktionen auslösen, wie z. B. das Versenden von Benachrichtigungen und/oder das Anhalten der benutzerverwalteten Warehouses.

Ressourcenmonitore können nur von Kontoadministratoren erstellt werden (d. h. Benutzer mit der Rolle ACCOUNTADMIN). Kontoadministratoren können jedoch wählen, ob Benutzer mit anderen Rollen die Möglichkeit haben sollen, Ressourcenmonitore mit SQL anzuzeigen und zu ändern.

Unter diesem Thema:

Übersicht

Eigenschaften von Ressourcenmonitoren

Ein Ressourcenmonitor ist ein First-Class-Objekt in Snowflake mit folgenden Eigenschaften:

Credit-Kontingent

Das Credit-Kontingent gibt die Anzahl der Snowflake-Credits an, die dem Monitor für das angegebene Frequenzintervall zugewiesen wurden. Es kann eine beliebige Zahl angegeben werden.

Außerdem verfolgt Snowflake die verbrauchten Credits/Kontingente innerhalb des angegebenen Frequenzintervalls von allen dem Monitor zugewiesenen Warehouses. Im angegebenen Intervall wird diese Zahl auf 0 zurückgesetzt.

Das Credit-Kontingent berücksichtigt Credits, die sowohl von benutzerverwalteten virtuellen Warehouses als auch von virtuellen Warehouses, die von Clouddiensten verwendet werden, verbraucht werden.

Beispiel: Ihr Ressourcenmonitorlimit ist auf 1.000 Credits festgelegt. Wenn Ihr Warehouse innerhalb eines bestimmten Intervalls oder Zeitraums 300 Credits verbraucht und Clouddienste 700 Credits verbrauchen, wird eine Warnung ausgelöst.

Bemerkung

Die Grenzwerte für den Ressourcenmonitor berücksichtigen nicht die tägliche Anpassung von 10 % für Clouddienste. Snowflake verwendet den gesamten Credit-Verbrauch der Clouddiensteschicht, um zu berechnen, ob ein Grenzwert erreicht wurde, auch wenn dieser Verbrauch nie in Rechnung gestellt wird. Weitere Informationen zur Berechnung von Credits und zu Anpassungen für Clouddienste finden Sie unter Erläuterung der Abrechnung für die Nutzung der Clouddienste.

Anweisungen zum Anzeigen der Credit-Nutzung Ihrer Clouddienste finden Sie unter Untersuchen der Computekosten.

Überwachungsstufe

Diese Eigenschaft gibt an, ob der Ressourcenmonitor verwendet wird, um die Credit-Nutzung Ihres gesamten Kontos (d. h. aller Warehouses im Konto) oder nur eines bestimmtes Satzes einzelner Warehouses zu überwachen.

Wenn diese Eigenschaft nicht festgelegt ist, überwacht der Ressourcenmonitor keine Credit-Nutzung. Er bleibt einfach im Ruhezustand.

Zeitplan

Der Standardzeitplan eines Ressourcenmonitors gibt an, dass er sofort mit der Überwachung der Credit-Nutzung beginnt und die verbrauchten Credits zu Beginn jedes Kalendermonats (d. h. zu Beginn des Standardabrechnungszyklus von Snowflake) auf 0 zurücksetzt.

Sie können den Zeitplan für einen Ressourcenmonitor jedoch optional mithilfe der folgenden Eigenschaften anpassen:

Frequenz

Das Intervall, in dem die verwendeten Credits relativ zum angegebenen Startdatum zurückgesetzt werden.

Unterstützte Werte:

  • Täglich

  • Wöchentlich

  • Monatlich

  • Jährlich

  • Nie (verbrauchte Credits werden nie zurückgesetzt; zugewiesene Warehouses verwenden weiterhin Credits, bis das Credit-Kontingent erreicht ist)

Start

Datum und Uhrzeit (d. h. Zeitstempel), wenn der Ressourcenmonitor mit der Überwachung der zugewiesenen Warehouses beginnt.

Unterstützte Werte:

  • Sofort (d. h. aktueller Zeitstempel)

  • Später (d. h. jeder zukünftige Zeitstempel)

Darüber hinaus verwendet Snowflake dieses Datum, um zu bestimmen, wann die verbrauchten Credits basierend auf der angegebenen Frequenz zurückgesetzt werden sollen. Beachten Sie jedoch, dass die Ressourcenmonitore unabhängig von der in Startdatum und -uhrzeit angegebenen Zeit um 12:00 Uhr UTC zurückgesetzt werden. Beispiel für den Start am 15. Juli 2019 (Montag) um 8:00 Uhr:

  • Frequenz = Monatlich: Die verbrauchten Credits werden am 15. jedes Folgemonats um 12:00 Uhr UTC zurückgesetzt.

  • Frequenz = Wöchentlich: Die verbrauchten Credits werden an jedem folgenden Montag um 12:00 Uhr UTC zurückgesetzt.

Wenn Sie den letzten Tag eines Monats als Startdatum angeben, setzt Snowflake die verbrauchten Credits am letzten Tag jedes folgenden Monats zurück, unabhängig von der Anzahl der Tage in jedem Monat. Wenn Sie beispielsweise das Startdatum auf den 31. Januar festlegen, setzt Snowflake die verbrauchten Credits für den Ressourcenmonitor am 28. Februar (oder am 29. Februar in einem Schaltjahr), 31. März, 30. April usw. zurück.

Ende

Datum und Uhrzeit (d. h. Zeitstempel), zu dem Snowflake die mit dem Ressourcenmonitor verknüpften Warehouses anhält, unabhängig davon, ob die verbrauchten Credits einen der für die Aktionen des Ressourcenmonitors definierten Schwellenwerte erreicht hat (siehe nächsten Abschnitt unter diesem Thema).

Unterstützte Werte: Jeder zukünftige Zeitstempel.

Beachten Sie, dass diese Eigenschaft normalerweise nicht verwendet wird.

Wichtig

Wenn Sie den Zeitplan für einen Ressourcenmonitor anpassen, ist die Frequenz relativ zum angegebenen Startdatum und unterscheidet sich damit vom Standardzeitplan.

Wenn Sie zudem eine Frequenz angeben, müssen Sie auch ein Startdatum und eine Startuhrzeit angeben und umgekehrt (d. h. Sie können den einen Wert nicht ohne den anderen festlegen).

Aktionen

Diese Aktion wird auch als Trigger bezeichnet. Für jede Aktion wird ein Schwellenwert als Prozentsatz des Credit-Kontingents für den Ressourcenmonitor festgelegt sowie die Aktion, die durchgeführt werden muss, wenn der Schwellenwert innerhalb des angegebenen Intervalls erreicht wird. Beachten Sie, dass Aktionen Schwellenwerte unterstützen, die größer als 100 sind.

Ressourcenmonitore unterstützen die folgenden Aktionen:

Benachrichtigen und Anhalten

Sendet eine Benachrichtigung (an alle Kontoadministratoren mit aktivierten Benachrichtigungen) und unterbricht die Ausführung der zugewiesenen Warehouses, nachdem alle Anweisungen, die von den Warehouses ausgeführt werden, abgeschlossen sind.

Sofort benachrichtigen und anhalten

Sendet eine Benachrichtigung (an alle Kontoadministratoren mit aktivierten Benachrichtigungen) und unterbricht sofort die zugewiesenen Warehouses, wodurch alle Anweisungen, die von den Warehouses zu diesem Zeitpunkt ausgeführt werden, abgebrochen werden.

Benachrichtigen

Sendet eine Benachrichtigung (an alle Kontoadministratoren mit aktivierten Benachrichtigungen), führt aber keine weiteren Aktionen durch.

Jeder Ressourcenmonitor kann die folgenden Aktionen ausführen:

  • Eine Anhalten-Aktion

  • Eine Sofort anhalten-Aktion

  • Bis zu fünf Benachrichtigen-Aktionen

Bemerkung

Für einen Ressourcenmonitor muss mindestens eine Aktion definiert sein. Wenn keine Aktionen definiert wurden, geschieht nichts, wenn die verbrauchten Credits den Schwellenwert erreicht haben.

Zuweisung von Ressourcenmonitoren

Darüber hinaus kann auch ein Monitor auf Kontoebene eingerichtet werden, um die Credit-Nutzung aller Warehouses in Ihrem Konto zu kontrollieren.

Ein Monitor kann zudem einem oder mehreren Warehouses zugewiesen werden, wodurch die Credit-Nutzung für jedes ihm zugewiesene Warehouse überwacht wird. Beachten Sie jedoch, dass jedes Warehouse nur einem einzigen Ressourcenmonitor unterhalb der Kontoebene zugewiesen werden kann.

Die folgende Abbildung veranschaulicht ein Szenario, in dem ein Ressourcenmonitor auf Kontoebene festgelegt ist und einzelne Warehouses zwei anderen Ressourcenmonitoren zugewiesen sind:

Warehouse and resource monitor relationships

Aus dieser Abbildung kann Folgendes entnommen werden:

  • Das Credit-Kontingent für das gesamte Konto beträgt 5.000 pro Intervall (Monat, Woche usw.), das von Ressourcenmonitor 1 überwacht wird. Wenn dieses Kontingent innerhalb des Intervalls erreicht wird, werden die für den Ressourcenmonitor definierten Aktionen (Anhalten, Sofort Anhalten usw.) für alle fünf Warehouses durchgesetzt.

  • Warehouse 3 kann maximal 1.000 Credits pro Intervall verbrauchen.

  • Warehouse 4 und 5 können zusammen maximal 2.500 Credits pro Intervall verbrauchen.

Beachten Sie, dass die von den Warehouses 3, 4 und 5 tatsächlich verbrauchten Credits geringer sein können als deren Kontingent, wenn das Kontingent für das Konto zuerst erreicht wird.

Wichtig

  • Ein Ressourcenmonitor auf Kontoebene übersteuert nicht die Ressourcenmonitorzuweisung für einzelne Warehouses. Erst wenn entweder der Konto-Ressourcenmonitor oder der Warehouse-Ressourcenmonitor den festgelegten Schwellenwert erreicht hat und eine „Anhalten“-Aktion definiert wurde, wird das Warehouse angehalten.

  • Ein Ressourcenmonitor auf Kontoebene kontrolliert nicht die Credit-Nutzung, die durch von Snowflake bereitgestellte Computeressourcen für serverlose Features erfolgt (z. B. für Snowpipe, automatisches Reclustering und materialisierte Ansichten). Eine vollständige Liste der Features finden Sie unter Serverlose Features.

  • Ein Ressourcenmonitor auf Warehouse-Ebene kann die Credit-Nutzung durch Clouddienste überwachen, aber nicht anhalten. Nachdem ein virtuelles Warehouse angehalten wurde, können nachfolgende Abfragen auf diesem Warehouse immer noch zusätzliche Kosten für Clouddienste verursachen. Weitere Einzelheiten zur Credit-Nutzung für Clouddienste finden Sie unter Credit-Nutzung der Clouddienste.

Anhalten und Fortsetzen von Warehouses

Die verbrauchten Credits für einen Ressourcenmonitor spiegeln die Summe der Credits wider, die von allen zugewiesenen Warehouses innerhalb des angegebenen Intervalls verbraucht wurden, zusammen mit den Clouddiensten, die in demselben Intervall zur Unterstützung dieser Warehouses genutzt wurden. Wenn für einen Monitor die Aktion Anhalten oder Sofort anhalten festgelegt wurde und die verbrauchten Credits den Schwellenwert für die Aktion erreicht haben, werden alle dem Monitor zugewiesenen Warehouses angehalten und können erst wieder fortgesetzt werden, wenn eine der folgenden Bedingungen erfüllt ist:

  • Das nächste Intervall, sofern vorhanden, beginnt gemäß Startdatum des Monitors.

  • Das Credit-Kontingent für den Monitor wird erhöht.

  • Der Credit-Schwellenwert für die „Anhalten“-Aktion wird erhöht.

  • Das Warehouse ist nicht mehr länger dem Ressourcenmonitor zugewiesen.

  • Der Monitor wird gelöscht.

Tipp

Ressourcenmonitore sind nicht dazu bestimmt, den Verbrauch auf Stundenbasis streng zu kontrollieren. Sie sind dazu bestimmt, die Credit-Nutzung auf Basis eines Intervalls (Tag, Woche, Monat usw.) zu verfolgen und zu kontrollieren. Außerdem sind sie nicht dazu bestimmt, genaue Grenzwerte für die Credit-Nutzung festzulegen (d. h. bis zur Höhe der einzelnen Credits). Wenn beispielsweise die Schwellenwerte für das Credit-Kontingent eines Ressourcenmonitors erreicht sind, kann das Anhalten der zugewiesenen Warehouses, auch bei einer „Sofort anhalten“-Aktion einige Zeit in Anspruch nehmen, wobei zusätzliche Credits verbraucht werden.

Wenn Sie Ihre Vorgabe strikt durchsetzen möchten, empfehlen wir Ihnen Folgendes:

  • Verwenden Sie Puffer für die Kontingentschwellenwerte von Aktionen (z. B. ein Schwellenwert von 90 % statt 100 %).

    Auf diese Weise wird sichergestellt, dass Ihre Credit-Nutzung das Kontingent nicht überschreitet.

  • Um die Credit-Nutzung der einzelnen Warehouses genauer zu steuern, weisen Sie jedem Ressourcenmonitor nur ein einziges Warehouse zu.

    Wenn mehrere Warehouses demselben Ressourcenmonitor zugewiesen sind, teilen sie sich auch dieselben Kontingent-Schwellenwerte des Monitors, was dazu führen kann, dass die Credit-Nutzung eines Warehouse die anderen zugewiesenen Warehouses beeinflusst.

Benachrichtigungen von Ressourcenmonitoren

Wenn ein Ressourcenmonitor den Schwellenwert für eine Aktion erreicht, generiert er auf Basis der durchgeführten Aktion eine der folgenden Benachrichtigungen:

  • Die zugewiesenen Warehouses werden nach Abschluss aller aktiven Abfragen angehalten.

  • Alle aktiven Abfragen in den zugewiesenen Warehouses werden abgebrochen und die Warehouses sofort angehalten.

  • Ein Schwellenwert wurde erreicht, es wurde jedoch keine Aktion ausgeführt.

Die Benachrichtigung wird an alle Kontoadministratoren gesendet, die den Empfang von Benachrichtigungen aktiviert haben, und an die in der Benachrichtigungsliste aufgeführten Nicht-Administrator-Benutzer.

Wichtig

Benachrichtigungen werden von den Kontoadministratoren über die klassische Weboberfläche und/oder per E-Mail empfangen. Standardmäßig sind die Benachrichtigungen jedoch nicht aktiviert:

  • Um Benachrichtigungen zu erhalten, muss jeder Kontoadministrator Benachrichtigungen explizit über seine Einstellungen auf der klassischen Weboberfläche aktivieren. Siehe Aktivieren des Empfangs von Benachrichtigungen für Kontoadministratoren.

  • Wenn sich ein Kontoadministrator für den Empfang von E-Mail-Benachrichtigungen entscheidet, muss er außerdem eine gültige E-Mail-Adresse angeben (und diese Adresse überprüfen), bevor er E-Mails erhält.

Benachrichtigungen für Nicht-Administrator-Benutzer sind nur per E-Mail verfügbar.

DDL für Ressourcenmonitore

Snowflake bietet die folgenden DDL-Befehle zum Erstellen und Verwenden/Verwalten von Ressourcenmonitoren:

Darüber hinaus können die folgenden DDL-Befehle verwendet werden, um einem Warehouse einen Ressourcenmonitor zuzuordnen und anzuzeigen, ob ein Warehouse einem Monitor zugeordnet ist:

Zugriffssteuerungsrechte für Ressourcenmonitore

Standardmäßig können Ressourcenmonitore nur von Kontoadministratoren erstellt und daher nur von diesen angezeigt und gewartet werden.

Rollen, denen die folgenden Berechtigungen für bestimmte Ressourcenmonitore gewährt wurden, können den Ressourcenmonitor jedoch bei Bedarf mit SQL anzeigen und ändern:

  • MONITOR

  • MODIFY

Weitere Details dazu finden Sie unter Zugriffssteuerungsrechte und GRANT <Berechtigungen>.

Beachten Sie, dass nur Kontoadministratoren die Berechtigung haben, Ressourcenmonitore über die klassische Weboberfläche anzuzeigen und zu verwalten.

Aktivieren des Empfangs von Benachrichtigungen für Kontoadministratoren

Als Kontoadministrator müssen Sie Benachrichtigungen über die klassische Weboberfläche aktivieren, bevor Sie die von Ressourcenmonitoren generierten Benachrichtigungen empfangen können.

Bevor Sie E-Mail-Benachrichtigungen aktivieren können, müssen Sie Ihre E-Mail-Adresse verifizieren. Siehe Überprüfen Ihrer E-Mail-Adresse über die klassische Konsole.

So aktivieren Sie Benachrichtigungen über die klassische Weboberfläche:

  1. Verwenden Sie die Systemrolle ACCOUNTADMIN. Wenn nicht, wählen Sie im Dropdown-Menü in der rechten, oberen Ecke neben Ihrem Namen die Option Switch role » ACCOUNTADMIN aus.

  2. Wählen Sie im gleichen Dropdown-Menü Preferences » Notifications aus.

  3. Wählen Sie eine der Optionen aus.

Erstellen von Ressourcenmonitoren

Ressourcenmonitore können entweder über die Weboberfläche oder mit SQLerstellt werden. Allerdings können Ressourcenmonitore nur von Kontoadministratoren (d. h, Benutzer mit der Rolle ACCOUNTADMIN) erstellt werden.

Wichtig

Sie müssen einem Ressourcenmonitor mindestens ein Warehouse zuweisen oder den Monitor auf Kontoebene so einstellen, dass er mit der Überwachung/Verfolgung der Credit-Nutzung beginnt:

  • Auf der Weboberfläche müssen Sie dies zum Erstellungszeitpunkt festlegen.

  • Mit SQL müssen Sie zuerst den Ressourcenmonitor erstellen und ihm dann in einem separaten zusätzlichen Schritt durch Ausführen des Befehls ALTER WAREHOUSE ein oder mehrere Warehouses zuweisen.

Damit Sie bei Auslösen einer Aktion durch den Ressourcenmonitor Benachrichtigungen erhalten, müssen Sie Benachrichtigungen aktivieren.

Erstellen eines Ressourcenmonitors mit einem Standardzeitplan

So erstellen Sie einen Ressourcenmonitor, der den Standardzeitplan verwendet (d. h. die Überwachung wird sofort gestartet und am ersten Tag jedes Kalendermonats zurückgesetzt):

Classic Console
  1. Verwenden Sie die Systemrolle ACCOUNTADMIN.

  2. Klicken Sie auf Account Account tab » Resource Monitors » Create Resource Monitor.

  3. Geben Sie einen Namen und ein Kontingent ein.

  4. Geben Sie an, ob der Ressourcenmonitor zur Überwachung Ihres Kontos oder zur Überwachung einzelner Warehouses verwendet werden soll.

  5. Geben Sie einen Schwellenwert für mindestens eine der „Anhalten“-Aktionen ein. Sie können auch bis zu fünf Benachrichtigungsaktionen angeben, bei denen einfach nur Warnungen gesendet werden, ohne dass Warehouses angehalten werden.

SQL

Mit SQL wird diese Aufgabe in zwei Schritten ausgeführt:

  1. Führen Sie den Befehl CREATE RESOURCE MONITOR aus, geben Sie jedoch keine Eigenschaften für den Zeitplan an.

  2. Führen Sie den Befehl ALTER WAREHOUSE aus, um dem Ressourcenmonitor Warehouses zuzuweisen, oder den Befehl ALTER ACCOUNT, um den Ressourcenmonitor für das Konto festzulegen.

Beispiel:

  • So erstellen Sie einen Monitor, der sofort mit der Überwachung beginnt, der zu Beginn jedes Monats zurückgesetzt wird und der das zugewiesene Warehouse anhält, wenn die verbrauchten Credits 100 % des Credit-Kontingents erreicht haben:

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
      TRIGGERS ON 100 PERCENT DO SUSPEND;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    Die SUSPEND-Aktion wartet darauf, dass die aktuell ausgeführten Abfragen abgeschlossen sind, bevor das Warehouse angehalten wird. Das bedeutet, dass eine Abfrage, die vor dem Aktivieren des Triggers gestartet wurde, bis zur Fertigstellung ausgeführt wird, und das Warehouse dadurch auch nach Erreichen des Kontingents Credits verbraucht.

  • So erstellen Sie einen Monitor, der dem ersten Beispiel ähnelt, jedoch bei 90 % anhält und bei 100% sofort anhält, um zu verhindern, dass Warehouses des Kontos weiter Credits verbrauchen, nachdem das Kontingent erreicht wurde:

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
      TRIGGERS ON 90 PERCENT DO SUSPEND
               ON 100 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    In diesem Beispiel wird bei einer Nutzung von 90 % eine Benachrichtigung generiert, und die zugewiesenen Warehouses werden angehalten, wodurch das Warehouse an der Ausführung neuer Abfragen gehindert wird, aber aktuell ausgeführte Abfragen abgeschlossen werden können. Wenn die zugewiesenen Warehouses 100 % der Credits verbraucht haben, wird eine Benachrichtigung generiert, und die Warehouses werden sofort angehalten, wodurch alle aktuell ausgeführten Abfragen abgebrochen werden.

  • So erstellen Sie einen Monitor, der dem ersten Beispiel ähnelt, bei dem das zugewiesene Warehouse jedoch das Kontingent um 10 % überschreitet, und der auch zwei Benachrichtigungsaktionen enthält, mit denen Kontoadministratoren benachrichtigt werden, wenn die verbrauchten Credits die Hälfte und Dreiviertel des Kontingents erreicht haben:

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
       TRIGGERS ON 50 PERCENT DO NOTIFY
                ON 75 PERCENT DO NOTIFY
                ON 100 PERCENT DO SUSPEND
                ON 110 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    In diesem Beispiel:

    • In diesem Beispiel wird bei Erreichen von 50 % und 75 % der Nutzung eine Warnmeldung an alle Kontoadministratoren gesendet, die Benachrichtigungen aktiviert haben, aber es werden keine weiteren Aktionen ausgeführt.

    • Wenn die Nutzung 100 % erreicht hat, wird das zugewiesene Warehouse angehalten.

    • Wenn das Warehouse auch bei 110 % Nutzung noch aktiv ist, wird es sofort angehalten.

Erstellen eines Ressourcenmonitors mit einem kundenspezifischen Zeitplan

So erstellen Sie einen Ressourcenmonitor, der einen anderen als den Standardzeitplan verwendet:

Classic Console
  1. Verwenden Sie die Systemrolle ACCOUNTADMIN.

  2. Klicken Sie auf Account Account tab » Resource Monitors » Create Resource Monitor.

  3. Geben Sie einen Namen und ein Kontingent ein.

  4. Geben Sie an, ob der Ressourcenmonitor zur Überwachung Ihres Kontos oder zur Überwachung einzelner Warehouses verwendet werden soll.

  5. Klicken Sie im Feld Schedule auf den Link Customize, und geben Sie nach Bedarf eine oder mehrere der folgenden Eigenschaften an:

    • Verbrauchte Credits basierend auf der angegebenen Frequenz zurücksetzen.

    • Überwachung der Credit-Nutzung sofort oder zu einem späteren Zeitpunkt (Datum und Uhrzeit) starten.

    • Anhalten der Warehouses zum angegebenen Endzeitpunkt (Datum und Uhrzeit), unabhängig davon, ob der Schwellenwert für das Credit-Kontingent erreicht wurde.

  6. Geben Sie einen Schwellenwert für mindestens eine der „Anhalten“-Aktionen ein. Sie können auch bis zu fünf Benachrichtigungsaktionen angeben, bei denen einfach nur Warnungen gesendet werden, ohne dass Warehouses angehalten werden.

SQL

Führen Sie einen Befehl CREATE RESOURCE MONITOR mit einer oder mehreren der folgenden Zeitplaneigenschaften aus:

  • FREQUENCY

  • START_TIMESTAMP

  • END_TIMESTAMP

Beispiel:

  • So erstellen Sie einen Ressourcenmonitor auf Kontoebene, der sofort startet (basierend auf dem aktuellen Zeitstempel), der monatlich am selben Tag zurückgesetzt wird, der keinen Endzeitpunkt (Datum/Uhrzeit) hat und der das zugewiesene Warehouse anhält, wenn die verbrauchten Credits 100 % des Kontingents erreicht haben:

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
        FREQUENCY = MONTHLY
        START_TIMESTAMP = IMMEDIATELY
        TRIGGERS ON 100 PERCENT DO SUSPEND;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy
  • So erstellen Sie einen Ressourcenmonitor, der an einem Zeitpunkt (Datum/Uhrzeit) in der Zukunft startet, der wöchentlich am selben Tag zurückgesetzt wird, der keinen Endzeitpunkt (Datum/Uhrzeit) hat und der zwei verschiedene „Anhalten“-Aktionen mit unterschiedlichen Schwellenwerten für die beiden zugewiesenen Warehouses ausführt:

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=2000
        FREQUENCY = WEEKLY
        START_TIMESTAMP = '2019-03-04 00:00 PST'
        TRIGGERS ON 80 PERCENT DO SUSPEND
                 ON 100 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    ALTER WAREHOUSE wh2 SET RESOURCE_MONITOR = limit1;
    
    Copy

Bemerkung

Sie können den kundenspezifischen Zeitplan für einen Ressourcenmonitor nicht auf den Standardwert zurücksetzen. Sie müssen den Monitor löschen und einen neuen Monitor erstellen.

Ändern von Ressourcenmonitoren

Sie können die folgenden Eigenschaften für einen vorhandenen Ressourcenmonitor ändern:

  • Credit-Kontingent für den Monitor erhöhen oder verringern

  • Monitor auf Kontoebene in einen Monitor zur Überwachung eines einzelnen Warehouse umwandeln

  • Wenn der Monitor einzelne Warehouses überwacht:

    • Warehouse hinzufügen oder aus der Liste entfernen

    • Monitor umwandeln, um Konto zu überwachen

  • Zeitplan des Monitors anpassen (Frequenz, Startzeitstempel und Endzeitstempel)

  • Aktionen hinzufügen/entfernen oder Schwellenwert-Prozentsätze für vorhandene Aktionen ändern

Bemerkung

Das Ändern einer dieser Eigenschaften wirkt sich nicht auf die bis dato verbrauchten Credits für den Monitor aus. Alle Änderungen wirken sich erst auf die verbrauchten Credits aus, wenn die Änderungen gespeichert wurden.

Ressourcenmonitore können entweder über die Weboberfläche oder mit SQL geändert werden:

Classic Console

Mit der Systemrolle ACCOUNTADMIN:

  1. Klicken Sie auf Account Account tab » Resource Monitors.

  2. Klicken Sie auf den Ressourcenmonitor.

  3. Klicken Sie auf Edit.

SQL
  • So können Sie das Kontingent ändern, den Zeitplan anpassen oder Aktionen hinzufügen/entfernen/ändern:

    Verwenden Sie die Systemrolle ACCOUNTADMIN oder eine Rolle, der die Berechtigung MODIFY für den Ressourcenmonitor erteilt wurde, um einen ALTER RESOURCE MONITOR-Befehl auszuführen.

  • So ändern Sie die Überwachungsstufe:

    Führen Sie mit der Systemrolle ACCOUNTADMIN einen ALTER WAREHOUSE- oder ALTER ACCOUNT-Befehl aus.

    Beachten Sie, dass zum Ändern eines Warehouses die Rolle ACCOUNTADMIN auch über die MODIFY-Berechtigung für das Warehouse verfügen muss.

So erhöhen Sie beispielsweise das Credit-Kontingent für limit1 auf 3000:

ALTER RESOURCE MONITOR limit1 SET CREDIT_QUOTA=3000;
Copy

Bemerkung

Wenn ein Ressourcenmonitor einen kundenspezifischen Zeitplan hat, können Sie den Zeitplan nicht auf den Standardwert zurücksetzen. Sie müssen den Monitor löschen und einen neuen Monitor erstellen.

Einrichten eines Ressourcenmonitors für Ihr Konto

Ein Ressourcenmonitor für Ihr Konto kann entweder über die Weboberfläche oder mit SQL eingerichtet werden:

Classic Console

Der Vorgang ist derselbe wie beim Erstellen oder Ändern eines Ressourcenmonitors (siehe Anweisungen unter diesem Thema).

SQL

Mit SQL wird diese Aufgabe in zwei Schritten ausgeführt:

  1. Erstellen Sie den Ressourcenmonitor (falls noch nicht vorhanden) mit CREATE RESOURCE MONITOR.

  2. Legen Sie den von Ihnen erstellten Ressourcenmonitor mit dem Befehl ALTER ACCOUNT als Monitor für Ihr Konto fest.

Beispiel:

USE ROLE ACCOUNTADMIN;

CREATE RESOURCE MONITOR accountmax WITH CREDIT_QUOTA=10000
  TRIGGERS ON 100 PERCENT DO SUSPEND;

ALTER ACCOUNT SET RESOURCE_MONITOR = accountmax;
Copy

Um anzuzeigen, ob ein Ressourcenmonitor für Ihr Konto eingerichtet ist, verwenden Sie die Weboberfläche oder den Befehl SHOW RESOURCE MONITORS. In der Spalte LEVEL eines Ressourcenmonitors wird angezeigt, ob dieser für Ihr Konto oder für einzelne Warehouses festgelegt ist.

Wichtig

  • Ein Ressourcenmonitor auf Kontoebene überwacht nur das explizit in Ihrem Konto eingerichtete virtuelle Warehouse. Er überwacht nicht die Credit-Nutzung, die durch von Snowflake bereitgestellten Warehouses für serverlose Features erfolgt (z. B. für Snowpipe, Automatic Clustering und materialisierte Ansichten). Eine vollständige Liste der Features finden Sie unter Serverlose Features.

  • Ein Ressourcenmonitor auf Warehouse-Ebene kann die Credit-Nutzung durch Clouddienste überwachen, aber nicht anhalten. Der Monitor kann nur benutzerverwaltete virtuelle Warehouses anhalten, die in Ihrem Konto erstellt wurden. Nachdem ein benutzerverwaltetes virtuelles Warehouse angehalten wurde, können nachfolgende Abfragen auf diesem Warehouse immer noch zusätzliche Kosten für Clouddienste verursachen. Weitere Einzelheiten zur Credit-Nutzung für Clouddienste finden Sie unter Credit-Nutzung der Clouddienste.

Zuweisen von Warehouses zu Ressourcenmonitoren

Warehouses können einem Ressourcenmonitor entweder über die Weboberfläche oder mit SQL zugewiesen werden:

Nur Kontoadministratoren (Benutzer mit der Rolle ACCOUNTADMIN) können Warehouses zu Ressourcenmonitoren zuweisen. Die Rolle muss außerdem über die MODIFY-Berechtigung für jedes Warehouse verfügen.

Classic Console
  1. Klicken Sie auf Account Account tab » Resource Monitors.

  2. Klicken Sie auf den Ressourcenmonitor.

  3. Klicken Sie auf Edit.

  4. Fügen Sie auf Monitor Level die gewünschten Warehouses hinzu. Wenn dem Monitor noch kein Warehouse zugewiesen ist, wählen Sie zuerst Warehouse in der Liste und anschließend ein oder mehrere Warehouses aus.

SQL

Führen Sie einen ALTER WAREHOUSE-Befehl aus.

Weisen Sie beispielsweise dem Ressourcenmonitor aus einem vorherigen Beispiel (limit1) ein anderes Warehouse zu:

ALTER WAREHOUSE wh3 SET RESOURCE_MONITOR = limit1;
Copy

Anzeigen von Ressourcenmonitoren

Ressourcenmonitore können entweder über die Weboberfläche oder mit SQL angezeigt werden:

Classic Console

Mit der ACCOUNTADMIN-Rolle:

  1. Klicken Sie auf Account Account tab » Resource Monitors.

SQL

Verwenden Sie die Rolle ACCOUNTADMIN (oder eine Rolle, der die Berechtigung MONITOR oder MODIFY für den gewünschten Ressourcenmonitor zugewiesen wurde).

Führen Sie einen SHOW RESOURCE MONITORS-Befehl aus.

Darüber hinaus können Sie mit jeder Rolle den Befehl SHOW WAREHOUSES ausführen, um die Warehouses anzuzeigen, die sich im Eigentum der Rolle befinden (oder für die der Rolle die Berechtigung USAGE erteilt wurde). Die Ausgabe beinhaltet, falls vorhanden, den Ressourcenmonitor, dem das Warehouse zugewiesen ist.

Bemerkung

Für Anbieterkonten, die Leserkonten erstellt haben, bietet Snowflake eine zusätzliche Ansicht RESOURCE_MONITORS. Diese Ansicht kann zum Abfragen der Ressourcenmonitornutzung in den Leserkonten des Anbieters verwendet werden. Weitere Details dazu finden Sie unter Account Usage.