Überwachen von Budgets

In diesem Thema wird beschrieben, wie Sie die Budgetausgaben überwachen und das Budget identifizieren können, das die Credit-Nutzung einer bestimmten Ressource verfolgt.

Erstellen einer kundenspezifischen Rolle zum Überwachen von Budgets

Sie können die Budgetüberwachung delegieren, indem Sie eine kundenspezifische Rolle erstellen, die von Benutzern, die keine Administratoren sind, zur Überwachung von Budgets verwendet werden kann.

Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen

Sie können eine kundenspezifische Rolle erstellen, die es Benutzern, die keine Kontoadministrator sind, ermöglicht, das Kontobudget zu überwachen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zugewiesen werden müssen, um das Kontobudget zu überwachen, finden Sie unter Rollen und Berechtigungen für Budgets.

Beispiel

Bemerkung

Die Anweisungen in diesem Beispiel können nur von einem Kontoadministrator ausgeführt werden.

Erstellen Sie z. B. die Rolle account_budget_monitor, und weisen Sie der Rolle die Berechtigung zu, die Credit-Nutzung für das Kontobudget einzusehen:

USE ROLE ACCOUNTADMIN;

CREATE ROLE account_budget_monitor;
 
GRANT APPLICATION ROLE SNOWFLAKE.BUDGET_VIEWER TO ROLE account_budget_monitor;

GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE account_budget_monitor;
Copy

Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen

Sie können eine kundenspezifische Rolle erstellen, die es Benutzern, die keine Kontoadministrator sind, ermöglicht, kundenspezifische Budgets zu überwachen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zum Überwachen eines kundenspezifischen Budgets zugewiesen werden müssen, finden Sie unter Rollen und Berechtigungen für Budgets.

Beispiel

Bemerkung

Die Anweisungen in diesem Beispiel können nur von einem Budgeteigentümer (eine Rolle mit der Berechtigung OWNERSHIP) ausgeführt werden.

Verwenden Sie die Budgeteigentümerrolle, um der kundenspezifischen Rolle budget_monitor die Berechtigung zuzuweisen, das Budget my_budget im Schema budgets_db.budgets_schema zu überwachen und zu ändern:

USE ROLE custom_budget_owner;

GRANT USAGE ON DATABASE budgets_db TO ROLE budget_monitor;

GRANT USAGE ON SCHEMA budget_db.budgets_schema TO ROLE budget_monitor;

GRANT SNOWFLAKE.CORE.BUDGET ROLE budgets_db.budgets_schema.my_budget!VIEWER
  TO ROLE budget_monitor;

GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE budget_monitor;
Copy

Überwachen der Budgets

Sie können Budgets mit Snowsight oder SQL überwachen.

Verwenden Sie Snowsight zur Überwachung von Budgets

Auf der Seite Budgets in Snowsight können Sie aktuelle und historische Budgetausgaben anzeigen.

Bemerkung

Nur ein Benutzer mit der Rolle ACCOUNTADMIN oder einer Rolle, die über die erforderlichen Berechtigungen und die entsprechende Rolle verfügt, kann Budgets mit Snowsight überwachen.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

In der Ansicht Current Month für ein Budget können Sie die Credit-Nutzung pro Tag bis zum aktuellen Tag überprüfen. Sie können sehen, ob Sie Ihr Budget für den Monat möglicherweise überschreiten. Das Balkendiagramm wird bis zum Ende des Monats fortgesetzt und zeigt Ihre voraussichtliche Credit-Nutzung auf Grundlage Ihrer tatsächlichen Credit-Nutzung in diesem Monat. Die Spending limit-Linie gibt das Ausgabenlimit an, bei der eine Budgetbenachrichtigung ausgelöst wird.

Wählen Sie Uhr-Symbol (anzuzeigende Monate) aus, um die Ansicht nach Current Month (aktueller Monat) oder längeren Zeiträumen zu filtern.

Sie können Spend (aktuelle Credit-Nutzung) mit Interval (verbleibende Zeit im aktuellen Monat) vergleichen, um festzustellen, ob Ihre Ausgaben Ihr monatliches Budget übersteigen.

Sie können die Ansicht filtern, indem Sie Budgets-Symbol Budgets oder Ressourcen-Symbol Resources auswählen.

  • Sie können in der Ansicht Budgets ein kundenspezifisches Budget auswählen, um Details zu einem bestimmten Budget zu erhalten.

    Bemerkung

    Die Liste Service Type für ein kundenspezifisches Budget enthält den Typ Unused Resources. Dieser Diensttyp wird angezeigt, wenn für ein Objekt in einem Budget keine Daten zur Credit-Nutzung angezeigt werden können. Dies kann passieren, wenn das Objekt keine Credit-Nutzung für Computekosten hat oder wenn Sie ein Objekt erst kürzlich zu einem Budget hinzugefügt haben und die serverlose Hintergrundaufgabe noch nicht ausgeführt wurde.

  • In der Ansicht Resources können Sie nach Service Type (Diensttyp), Objekt Name und Credit Usage (Credit-Nutzung) filtern und sortieren.

Verwenden Sie SQL-Befehle zur Überwachung von Budgets

Um das Kontobudget zu überwachen, müssen Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen.

Verwenden Sie die Rolle account_budget_monitor, um den Ausgabenverlauf für das Kontobudget anzuzeigen:

USE ROLE account_budget_monitor;

CALL snowflake.local.account_root_budget!GET_SPENDING_HISTORY(
  TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
  TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Sie können den Ausgabenverlauf nach Diensttyp überwachen. Um den Ausgabenverlauf des Kontobudgets der vergangenen acht Monate für das serverlose Suchoptimierungs-Feature anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE account_budget_monitor;

SELECT *
   FROM table(snowflake.local.account_root_budget!GET_SERVICE_TYPE_USAGE_V2(
         '2025-05', '2025-12'))
   WHERE service_type = 'SEARCH_OPTIMIZATION';
Copy

Um ein kundenspezifisches Budget zu überwachen, müssen Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.

Verwenden Sie die Rolle budget_monitor, um den Ausgabenverlauf für ein kundenspezifisches Budget anzuzeigen. Um beispielsweise den Ausgabenverlauf für das kundenspezifische Budget na_finance_budget im Schema budgets_db.budgets_schema anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE budget_monitor;

CALL budgets_db.budgets_schema.na_finance_budget!GET_SPENDING_HISTORY(
  TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
  TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Sie können den Ausgabenverlauf nach Diensttyp überwachen. Um beispielsweise den Ausgabenverlauf über ein Jahr für die im Budget enthaltenen materialisierten Ansichten anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE budget_monitor;

SELECT *
   FROM table(budgets_db.budgets_schema.na_finance_budget!GET_SERVICE_TYPE_USAGE_V2(
         '2025-05', '2025-12'))
   WHERE service_type = 'MATERIALIZED_VIEW';
Copy

Weitere Informationen dazu finden Sie unter Budgetmethoden.

Identifizieren der Budgets, die eine Ressource verfolgen

Wenn Sie feststellen möchten, welche Budgets eine Ressource verfolgen, können Sie die Funktion SYSTEM$SHOW_BUDGETS_FOR_RESOURCE aufrufen.

Beispiel:

SELECT SYSTEM$SHOW_BUDGETS_FOR_RESOURCE('TABLE', 'my_db.my_schema.my_table');
Copy
+-----------------------------------------------------------------------+
| SYSTEM$SHOW_BUDGETS_FOR_RESOURCE('TABLE', 'MY_DB.MY_SCHEMA.MY_TABLE') |
|-----------------------------------------------------------------------|
| [BUDGETS_DB.BUDGETS_SCHEMA.MY_BUDGET]                                 |
+-----------------------------------------------------------------------+

Die Funktion gibt das Budget zurück, dem die Ressource hinzugefügt wurde. Sie enthält Budgets, die die Ressource aus einem der folgenden Gründe enthalten:

  • Die Ressource wurde direkt dem Budget hinzugefügt.

  • Die Ressource hat die Kombination aus Tag und Wert, die dem Budget hinzugefügt wurde.

  • Die Ressource gehört zu einem Objekt (z. B. einer Datenbank), das dem Budget hinzugefügt wurde.