Monitoramento com ACCOUNT_USAGE

Gerenciamento, Governança e Colaboração no Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

O problema do monitoramento

  • Quais warehouses custaram mais no mês passado?
  • Houve queries descontroladas que deveriam ter sido pegas?
  • O storage está dentro do orçamento?
  • Ocorreu algum padrão de login incomum?

ACCOUNT_USAGE responde a isso

Estrutura de controle de custos.png

Gerenciamento, Governança e Colaboração no Snowflake

O que é ACCOUNT_USAGE?

  • Um schema no banco de dados do sistema SNOWFLAKE
  • Contém views com dados históricos da conta
  • Latência de até 3 horas
  • A maioria das views retém dados por 365 dias

Visão geral da conta.png

Gerenciamento, Governança e Colaboração no Snowflake

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Recurso ACCOUNT_USAGE INFORMATION_SCHEMA
Escopo Histórico da conta inteira, todos os bancos Estado atual do seu banco
Latência de dados Até 3 horas Baixa latência
Retenção Até 365 dias Até 6 meses (varia por view)
Objetos excluídos Incluídos Não incluídos
Caso de uso principal Auditoria histórica e análise de custos Estado atual e metadados
Gerenciamento, Governança e Colaboração no Snowflake

WAREHOUSE_METERING_HISTORY

  • Responde quais warehouses consumiram mais 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;
Gerenciamento, Governança e Colaboração no Snowflake

QUERY_HISTORY

  • Registra todas as queries na conta
    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;
    
Gerenciamento, Governança e Colaboração no Snowflake

STORAGE_USAGE

  • Acompanha quanto armazenamento a conta consome
    • armazenamento ativo e 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;
      
Gerenciamento, Governança e Colaboração no Snowflake

LOGIN_HISTORY

  • Registra toda tentativa de login na conta
    • Bem-sucedida ou não
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;
Gerenciamento, Governança e Colaboração no Snowflake

Vamos praticar!

Gerenciamento, Governança e Colaboração no Snowflake

Preparing Video For Download...