Programmatisch mit Kostenanomalien arbeiten¶
Sie können die ANOMALY_INSIGHTS-Klasse verwenden, um programmatisch Kostenanomalien zu identifizieren und zu untersuchen. Die vollständig qualifizierte Instanz, die Sie für die Arbeit mit Anomalien verwenden, lautet SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS.
Sie müssen über die erforderlichen Berechtigungen verfügen, um die Klassenmethoden auszuführen.
Für einen Überblick über Kostenanomalien siehe Einführung in Kostenanomalien.
Kostenanomalien mit ANOMALY_INSIGHTS identifizieren¶
Snowflake erstellt eine Instanz der Klasse ANOMALY_INSIGHTS, die Sie verwenden können, um Kostenanomalien programmatisch zu identifizieren. Die Methode ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA gibt Verbrauchsdaten für ein Konto oder eine Organisation zusammen mit einem booleschen Wert zurück, der angibt, ob dieser Verbrauch eine Kostenanomalie darstellt.
Kostenanomalien auf Organisationsebene identifizieren¶
Benutzer rufen die Methode GET_DAILY_CONSUMPTION_ANOMALY_DATA über das Organisationskonto oder ein aktiviertes ORGADMIN-Konto auf, um Kostenanomalien auf Organisationsebene zu identifizieren. Um sich auf Kostenanomalien auf Organisationsebene zu konzentrieren, übergibt der Benutzer NULL als Argument anstelle des Namens eines Kontos.
- Beispiel: Kostenanomalie auf Organisationsebene
Um Kostenanomalien auf Organisationsebene zwischen dem 1. Januar 2024 und dem 31. März 2024 zu identifizieren, gehen Sie wie folgt vor:
Melden Sie sich bei dem Organisationskonto oder bei einem aktivierten ORGADMIN-Konto an.
Rufen Sie die Methode auf:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-01-01', '2024-03-31', NULL);
Suchen Sie in der Ausgabe nach Tagen, an denen der Wert der Spalte
is_anomaly
TRUE
ist.
Kostenanomalien auf Kontoebene identifizieren¶
Sie können die Methode GET_DAILY_CONSUMPTION_ANOMALY_DATA verwenden, um Kostenanomalien auf Kontoebene für das aktuelle Konto oder, wenn Sie am Organisationskonto oder einem aktivierten ORGADMIN-Konto angemeldet sind, für jedes Konto in der Organisation zu identifizieren.
- Beispiel: Kostenanomalien auf dem laufenden Konto
Um Kostenanomalien auf dem aktuellen Konto zwischen dem 1. Januar 2024 und dem 31. März 2024 zu identifizieren, rufen Sie die folgende Methode auf, wenn Sie auf dem Konto angemeldet sind.
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-01-01', '2024-03-31', CURRENT_ACCOUNT_NAME() );
Um die Ausgabe zur Identifizierung der Kostenanomalien zu verwenden, suchen Sie nach den Tagen, an denen der Wert der Spalte
is_anomaly
TRUE
lautet.- Beispiel: Kostenanomalien auf einem anderen Konto
Wenn Sie bei dem Organisationskonto oder einem aktivierten ORGADMIN-Konto angemeldet sind und Kostenanomalien in einem anderen Konto identifizieren möchten, geben Sie den Namen des Kontos an, wenn Sie die Methode GET_DAILY_CONSUMPTION_ANOMALY_DATA aufrufen.
Nehmen wir zum Beispiel an, Sie sind bei dem Organisationskonto
my_orgacct
angemeldet. Sie können Kostenanomalien auf dem Kontoprod_acct
zwischen dem 1. November 2024 und dem 31. Dezember 2024 feststellen, indem Sie den folgenden Befehl ausführen:CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-11-01', '2024-12-31', 'prod_acct');
Um die Ausgabe zur Identifizierung der Kostenanomalien zu verwenden, suchen Sie nach den Tagen, an denen der Wert der Spalte
is_anomaly
TRUE
lautet.
Kostenanomalien mit ANOMALY_INSIGHTS untersuchen¶
Die Klasse ANOMALY_INSIGHTS bietet Methoden, mit denen Sie untersuchen können, warum eine Kostenanomalie aufgetreten ist. Diese Methoden ermöglichen es Ihnen, Folgendes aufzuschlüsseln:
Verbrauch auf Kontoebene¶
Rufen Sie die Methode ANOMALY_INSIGHTS!GET_TOP_ACCOUNTS_BY_CONSUMPTION auf, um eine Liste der Konten mit der höchsten Veränderung des Verbrauchs an einem bestimmten Tag abzurufen. Die Veränderung des Verbrauchs wird durch den Vergleich des Verbrauchs an einem bestimmten Tag mit dem Verbrauch am Vortag ermittelt. Dies ist nützlich, um Kostenanomalien auf Organisationsebene zu untersuchen.
Wenn Sie beispielsweise ein Administrator sind, der die fünf wichtigsten Konten in Bezug auf die Veränderung des Verbrauchs im Vergleich zwischen dem 14. Dezember 2024 und dem 15. Dezember 2024 wissen möchte, führen Sie Folgendes über das Organisationskonto oder ein aktiviertes ORGADMIN-Konto aus:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_ACCOUNTS_BY_CONSUMPTION('2024-12-15', 5);
Verbrauch auf Warehouse-Ebene¶
Rufen Sie die Methode ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE auf, um eine Liste der Warehouses mit der höchsten Veränderung des Verbrauchs an einem bestimmten Tag abzurufen. Die Verbrauchsänderung wird ermittelt, indem der Verbrauch eines Warehouse an einem bestimmten Tag mit dem Verbrauch des Vortags verglichen wird. Sie können sich auf die wichtigsten Warehouses innerhalb eines bestimmten Kontos konzentrieren oder die wichtigsten Warehouses in der gesamten Organisation identifizieren.
- Beispiel: Wichtigste Warehouses in der Organisation identifizieren
Um die sechs wichtigsten Warehouses in der Organisation in Bezug auf die Verbrauchsänderung im Vergleich zwischen dem 9. August 2024 und dem 10. August 2024 zu ermitteln, melden Sie sich bei dem Organisationskonto oder einem aktivierten ORGADMIN-Konto an und führen Sie Folgendes aus:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-08-10', 6, NULL);
- Beispiel: Wichtigste Warehouses im aktuellen Konto identifizieren
Um die fünf wichtigsten Warehouses des aktuellen Kontos in Bezug auf die Verbrauchsänderung im Vergleich zwischen dem 8. Dezember 2024 und dem 9. Dezember 2024 zu finden, führen Sie Folgendes aus:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-12-09', 5, CURRENT_ACCOUNT_NAME());
- Beispiel: Wichtigste Warehouses in einem anderen Konto identifizieren
Um die drei wichtigsten Warehouses im Konto
my_acct
in Bezug auf die Verbrauchsänderung im Vergleich zwischen dem 8. November 2024 und dem 9. November 2024 zu finden, melden Sie sich bei dem Organisationskonto oder einem aktivierten ORGADMIN-Konto an und führen Sie Folgendes aus:CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-11-09', 5, 'my_acct');
Verbrauch auf Abfrageebene¶
Rufen Sie die Methode ANOMALY_INSIGHTS!GET_TOP_QUERIES_FROM_WAREHOUSE auf, um eine Liste der Abfragen abzurufen, die auf einem bestimmten Warehouse ausgeführt wurden, damit Sie feststellen können, welche Abfragen zu einem hohen Verbrauch geführt haben. Die zurückgegebenen Abfragen werden in der Reihenfolge des Verbrauchs aufgelistet, vom höchsten zum niedrigsten.
Sie verwenden eine Warehouse-ID, um anzugeben, welches Warehouse Sie untersuchen möchten. Sie finden die Warehouse-ID, indem Sie die Methode ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE aufrufen oder den Ansicht WAREHOUSE_METERING_HISTORY abfragen.
Um beispielsweise den Verbrauch eines Warehouse zu untersuchen, dessen Warehouse-ID 838
ist, führen Sie Folgendes aus, um die sechs Abfragen aufzulisten, die am 1. Dezember 2024 die meisten Credits verbraucht haben:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_QUERIES_FROM_WAREHOUSE(838, '2024-12-01', 6);
Stündlicher Verbrauch¶
Rufen Sie die Methode ANOMALY_INSIGHTS!GET_HOURLY_SPEND_FOR_ANOMALY auf, um den stündlichen Verbrauch für einen bestimmten Tag abzurufen. Sie können nur Daten für das Konto abrufen, bei dem Sie gerade angemeldet sind.
Um zum Beispiel den stündlichen Verbrauch am 17. Oktober 2024 zu ermitteln, führen Sie Folgendes aus:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_HOURLY_SPEND_FOR_ANOMALY('2024-10-17');