Monitoren met ACCOUNT_USAGE

Snowflake-beheer, -governance en -samenwerking

Emily Melhuish

Technical Curriculum Developer, Snowflake

Het monitoringsprobleem

  • Welke warehouses kostten vorige maand het meest?
  • Waren er runaway-queries die gemist zijn?
  • Blijft opslag binnen budget?
  • Waren er ongebruikelijke inlogpatronen?

ACCOUNT_USAGE beantwoordt deze vragen

Kostenbeheerkader.png

Snowflake-beheer, -governance en -samenwerking

Wat is ACCOUNT_USAGE?

  • Een schema in de SNOWFLAKE-systeemdatabase
  • Bevat views met historische accountdata
  • Latentie tot 3 uur
  • Meeste views bewaren data 365 dagen

Accountoverzicht.png

Snowflake-beheer, -governance en -samenwerking

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Functie ACCOUNT_USAGE INFORMATION_SCHEMA
Scope Historie van hele account, alle databases Huidige staat van je database
Datalatentie Tot 3 uur Lage latentie
Retentie Tot 365 dagen Tot 6 maanden (verschilt per view)
Verwijderde objecten Inbegrepen Niet inbegrepen
Primair gebruik Historische audit en kostenanalyse Huidige staat en metadata
Snowflake-beheer, -governance en -samenwerking

WAREHOUSE_METERING_HISTORY

  • Beantwoordt welke warehouses de meeste credits verbruikten
SELECT warehouse_name,
       SUM(credits_used) AS total_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE start_time >= DATEADD('day', -30, CURRENT_TIMESTAMP())
GROUP BY warehouse_name
ORDER BY total_credits DESC;
Snowflake-beheer, -governance en -samenwerking

QUERY_HISTORY

  • Registreert elke query in het account
    SELECT query_text,
         warehouse_name,
         execution_time,
         bytes_scanned
    FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
    WHERE start_time >= DATEADD('day', -7, CURRENT_TIMESTAMP())
    ORDER BY execution_time DESC
    LIMIT 10;
    
Snowflake-beheer, -governance en -samenwerking

STORAGE_USAGE

  • Volgt hoeveel opslag het account verbruikt
    • zowel actieve als Fail-safe opslag
      SELECT usage_date,
         ROUND(storage_bytes / POWER(1024, 3), 2) AS storage_gb,
         ROUND(failsafe_bytes / POWER(1024, 3), 2) AS failsafe_gb
      FROM SNOWFLAKE.ACCOUNT_USAGE.STORAGE_USAGE
      ORDER BY usage_date DESC
      LIMIT 30;
      
Snowflake-beheer, -governance en -samenwerking

LOGIN_HISTORY

  • Registreert elke inlogpoging op het account
    • Geslaagd of niet
SELECT user_name,
       event_timestamp,
       reported_client_type,
       error_code,
       error_message
FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
WHERE error_code IS NOT NULL
  AND event_timestamp >= DATEADD('day', -7, CURRENT_TIMESTAMP())
ORDER BY event_timestamp DESC;
Snowflake-beheer, -governance en -samenwerking

Laten we oefenen!

Snowflake-beheer, -governance en -samenwerking

Preparing Video For Download...