Monitorowanie z ACCOUNT_USAGE

Zarządzanie, ład danych i współpraca w Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Problem z monitorowaniem

  • Które magazyny były najdroższe w ubiegłym miesiącu?
  • Czy wystąpiły niekontrolowane zapytania, które należało przerwać?
  • Czy przechowywanie danych mieści się w budżecie?
  • Czy pojawiły się nietypowe wzorce logowania?

ACCOUNT_USAGE odpowiada na te pytania

Struktura kontroli kosztów.png

Zarządzanie, ład danych i współpraca w Snowflake

Czym jest ACCOUNT_USAGE?

  • Schemat w systemowej bazie danych SNOWFLAKE
  • Zawiera widoki z historycznymi danymi konta
  • Opóźnienie danych do 3 godzin
  • Większość widoków przechowuje dane przez 365 dni

Przegląd konta.png

Zarządzanie, ład danych i współpraca w Snowflake

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Cecha ACCOUNT_USAGE INFORMATION_SCHEMA
Zakres Historia całego konta, wszystkich baz Bieżący stan bazy danych
Opóźnienie danych Do 3 godzin Niskie opóźnienie
Retencja Do 365 dni Do 6 miesięcy (zależnie od widoku)
Usunięte obiekty Uwzględnione Nieuwzględnione
Główne zastosowanie Audyt historyczny i analiza kosztów Bieżący stan i metadane
Zarządzanie, ład danych i współpraca w Snowflake

WAREHOUSE_METERING_HISTORY

  • Wskazuje, które magazyny zużyły najwięcej kredytów
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;
Zarządzanie, ład danych i współpraca w Snowflake

QUERY_HISTORY

  • Rejestruje każde zapytanie na koncie
    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;
    
Zarządzanie, ład danych i współpraca w Snowflake

STORAGE_USAGE

  • Śledzi zużycie przestrzeni dyskowej na koncie
    • aktywnej i w trybie Fail-safe
      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;
      
Zarządzanie, ład danych i współpraca w Snowflake

LOGIN_HISTORY

  • Rejestruje każdą próbę logowania do konta
    • Udaną lub nie
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;
Zarządzanie, ład danych i współpraca w Snowflake

Czas na ćwiczenia!

Zarządzanie, ład danych i współpraca w Snowflake

Preparing Video For Download...