Supervisión con ACCOUNT_USAGE

Gestión, gobierno y colaboración en Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

El problema de la supervisión

  • ¿Qué almacenes costaron más el mes pasado?
  • ¿Hubo consultas desbocadas que deberían haberse detectado?
  • ¿El almacenamiento está dentro del presupuesto?
  • ¿Se dieron patrones de inicio de sesión inusuales?

ACCOUNT_USAGE puede responder a estas preguntas

Marco de control de costos.png

Gestión, gobierno y colaboración en Snowflake

¿Qué es ACCOUNT_USAGE?

  • Un esquema dentro de la base de datos del sistema SNOWFLAKE
  • Contiene vistas con datos históricos de la cuenta
  • Latencia de hasta 3 horas
  • La mayoría de vistas conservan datos 365 días

Resumen de la cuenta.png

Gestión, gobierno y colaboración en Snowflake

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Característica ACCOUNT_USAGE INFORMATION_SCHEMA
Alcance Historial de toda la cuenta, todas las bases de datos Estado actual de tu base de datos
Latencia de datos Hasta 3 horas Baja latencia
Retención Hasta 365 días Hasta 6 meses (según vista)
Objetos eliminados Incluidos No incluidos
Caso de uso principal Auditoría histórica y análisis de costos Estado actual y metadatos
Gestión, gobierno y colaboración en Snowflake

WAREHOUSE_METERING_HISTORY

  • Responde qué almacenes consumieron más créditos
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;
Gestión, gobierno y colaboración en Snowflake

QUERY_HISTORY

  • Registra cada consulta de la cuenta
    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;
    
Gestión, gobierno y colaboración en Snowflake

STORAGE_USAGE

  • Controla el almacenamiento consumido por la cuenta
    • tanto activo como 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;
      
Gestión, gobierno y colaboración en Snowflake

LOGIN_HISTORY

  • Registra cada intento de inicio de sesión en la cuenta
    • Exitoso o no
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;
Gestión, gobierno y colaboración en Snowflake

¡Vamos a practicar!

Gestión, gobierno y colaboración en Snowflake

Preparing Video For Download...