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.

Ressourcenmonitore können verwendet werden, um die Anzahl der Credits zu begrenzen, die verbraucht werden durch:

  • Benutzerverwaltete virtuelle Warehouses

  • Virtuelle Warehouses, die von Clouddiensten verwendet werden

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

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

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 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, sondern basieren auf der vollumfängliche Nutzung der Clouddienste. 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 Anzeigen der Credit-Nutzung durch Clouddienste.

Ü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 und zur angegebenen Startzeit 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 und diese Uhrzeit, um zu bestimmen, wann die verbrauchten Credits basierend auf der angegebenen Frequenz zurückgesetzt werden sollen. Beispiel für den Start am 15. Juli 2019 (Montag) um 8:00 Uhr:

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

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

Wenn Sie den letzten Tag eines Monats als Startdatum angeben, setzt Snowflake die verbrauchten Credit 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 zur angegebenen Uhrzeit 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 mehrere Warehouses zugewiesen werden, wodurch die Credit-Nutzung für jedes ihm zugewiesene Warehouse kontrolliert wird. Beachten Sie jedoch, dass jedes Warehouse nur einem einzigen Ressourcenmonitor 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 kontrolliert 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 Kontoressourcenmonitor oder der Warehouse-Ressourcenmonitor den festgelegten Schwellenwert erreicht hat und eine „Anhalten“-Aktion definiert wurde, wird das Warehouse angehalten.

Dies ermöglicht die Kontrolle der globalen Credit-Nutzung und bietet gleichzeitig eine fein abgestufte Kontrolle jedes einzelnen Warehouse.

Darüber hinaus kontrolliert ein Ressourcenmonitor auf Kontoebene nicht die Credit-Nutzung durch die von Snowflake bereitgestellten Warehouses (die für Snowpipe, automatisches Reclustering und materialisierte Ansichten verwendet werden). Der Monitor kontrolliert nur die in Ihrem Konto erstellten virtuellen Warehouses.

Anhalten und Fortsetzen von Warehouses

Die genutzten Credits eines Ressourcenmonitors spiegeln die Summe aller Credits wider, die von allen zugewiesenen Warehouses im angegebenen Intervall verbraucht 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.

Wichtig

Benachrichtigungen werden von den Kontoadministratoren über die 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 Weboberfläche aktivieren.

  • 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.

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.

Snowflake unterstützt jedoch die Möglichkeit, dass andere Benutzer bei Bedarf die Berechtigung zum Anzeigen und Ändern von Ressourcenmonitoren erhalten dürfen. Diese Funktionalität wird über die folgenden Zugriffssteuerungsrechte implementiert, die auf bestimmten Ressourcenmonitoren für bestimmte Rollen erteilt werden können:

  • MONITOR

  • MODIFY

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

Aktivieren des Empfangs von Benachrichtigungen

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

So aktivieren Sie Benachrichtigungen über die Weboberfläche:

  1. Stellen Sie sicher, dass Sie die ACCOUNTADMIN-Rolle verwenden. 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. Wenn Sie Email oder All ausgewählt, aber noch keine validierte E-Mail-Adresse haben, müssen Sie eine E-Mail-Adresse eingeben.

  4. Wenn Sie eine E-Mail-Adresse eingeben, müssen Sie die Adresse bestätigen, indem Sie den Anweisungen auf dem Bildschirm folgen.

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 in Ihren Einstellungen auf der Weboberfläche 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):

Weboberfläche
  1. Stellen Sie sicher, dass Sie die ACCOUNTADMIN-Rolle verwenden.

  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 einen Befehl CREATE RESOURCE MONITOR aus, geben Sie jedoch keine Eigenschaften für den Zeitplan an.

  2. Führen Sie einen Befehl ALTER WAREHOUSE aus, um dem Ressourcenmonitor Warehouses zuzuweisen, oder einen 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;
    

    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;
    

    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;
    

    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 benutzerdefinierten Zeitplan

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

Weboberfläche
  1. Stellen Sie sicher, dass Sie die ACCOUNTADMIN-Rolle verwenden.

  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 und zu derselben Uhrzeit 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;
    
  • So erstellen Sie einen Ressourcenmonitor, der an einem Zeitpunkt (Datum/Uhrzeit) in der Zukunft startet, der wöchentlich am selben Tag und zur selben Uhrzeit 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;
    

Bemerkung

Sie können den benutzerdefinierten 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:

Weboberfläche
  1. Stellen Sie sicher, dass Sie die Rolle ACCOUNTADMIN verwenden (oder eine Rolle, der die Berechtigung MODIFY für den gewünschten Ressourcenmonitor zugewiesen wurde).

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

  3. Klicken Sie auf den Ressourcenmonitor.

  4. Klicken Sie auf Edit.

SQL

Die von Ihnen verwendeten SQL-Befehle hängen von der Änderung ab, die Sie vornehmen:

  • Führen Sie den Befehl ALTER RESOURCE MONITOR aus, um das Kontingent zu ändern, den Zeitplan anzupassen oder Aktionen hinzuzufügen, zu entfernen oder zu ändern.

  • Führen Sie den Befehl ALTER WAREHOUSE oder ALTER ACCOUNT aus, um die Überwachungsebene zu ändern.

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

ALTER RESOURCE MONITOR limit1 SET CREDIT_QUOTA=3000;

Bemerkung

Wenn ein Ressourcenmonitor einen benutzerdefinierten 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:

Weboberfläche

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 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;

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 kontrolliert nur das explizit in Ihrem Konto eingerichtete virtuelle Warehouse. Er kontrolliert nicht die Credit-Nutzung der von Snowflake bereitgestellten Warehouses (für Snowpipe, Automatic Clustering und materialisierte Ansichten).

Zuweisen von Warehouses zu Ressourcenmonitoren

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

Weboberfläche
  1. Stellen Sie sicher, dass Sie die Rolle ACCOUNTADMIN verwenden (oder eine Rolle, der die Berechtigung MODIFY für den gewünschten Ressourcenmonitor zugewiesen wurde).

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

  3. Klicken Sie auf den Ressourcenmonitor.

  4. Klicken Sie auf Edit.

  5. Fügen Sie in 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;

Anzeigen von Ressourcenmonitoren

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

Weboberfläche
  1. Stellen Sie sicher, dass Sie die Rolle ACCOUNTADMIN verwenden (oder eine Rolle, der die Berechtigung MONITOR oder MODIFY für den gewünschten Ressourcenmonitor zugewiesen wurde).

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

SQL

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.