Giám sát với ACCOUNT_USAGE

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Bài toán giám sát

  • Kho dữ liệu nào tốn kém nhất tháng trước?
  • Có truy vấn chạy quá mức cần được phát hiện không?
  • Lưu trữ có trong ngân sách không?
  • Có mẫu đăng nhập bất thường không?

ACCOUNT_USAGE có thể trả lời các câu hỏi này

Khung kiểm soát chi phí.png

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

ACCOUNT_USAGE là gì?

  • Một schema trong cơ sở dữ liệu hệ thống SNOWFLAKE
  • Chứa các view công bố dữ liệu lịch sử tài khoản
  • Độ trễ tối đa 3 giờ
  • Hầu hết view giữ dữ liệu 365 ngày

Tổng quan tài khoản.png

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Tính năng ACCOUNT_USAGE INFORMATION_SCHEMA
Phạm vi Lịch sử toàn bộ tài khoản, mọi CSDL Trạng thái hiện tại của CSDL của bạn
Độ trễ dữ liệu Tối đa 3 giờ Độ trễ thấp
Lưu giữ Tối đa 365 ngày Tối đa 6 tháng (tùy view)
Đối tượng đã xóa Bao gồm Không bao gồm
Trường hợp sử dụng chính Kiểm toán lịch sử và phân tích chi phí Trạng thái hiện tại và metadata
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

WAREHOUSE_METERING_HISTORY

  • Trả lời kho dữ liệu nào dùng nhiều credit nhất
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;
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

QUERY_HISTORY

  • Ghi lại mọi truy vấn trong tài khoản
    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;
    
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

STORAGE_USAGE

  • Theo dõi dung lượng lưu trữ tài khoản đang dùng
    • gồm lưu trữ hoạt động và 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;
      
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

LOGIN_HISTORY

  • Ghi lại mọi lần đăng nhập vào tài khoản
    • Thành công hoặc thất bại
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;
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Ayo berlatih!

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Preparing Video For Download...