Monitoramento de uso e custos de notebooks

Um notebook consome recursos de computação por meio de seus warehouses virtuais ou pools de computação configurados. Para gerenciar os custos e garantir operações eficientes, é importante monitorar o uso dos notebooks individuais, dos usuários e da infraestrutura de computação subjacente. Essa visibilidade ajuda a garantir operações eficientes e auxilia no controle de custos de todo o seu ambiente.

O Snowflake concede acesso a dados de uso detalhados por meio das exibições de ACCOUNT_USAGE e das tabelas do sistema. Esses dados podem ajudar a responder a perguntas como:

  • Qual é o consumo de crédito por hora, por notebook?

  • Com que frequência os notebooks foram executados na semana passada?

  • Quais usuários executaram notebooks no mês passado?

  • Quais pools de computação ou warehouses os notebooks usaram na semana passada?

  • Qual é o custo total de crédito de notebooks que usam um recurso de computação específico?

Para uma visão geral mais ampla do gerenciamento de custos relacionados à computação, consulte Exploração do custo de computação.

Consulta de exemplo

Você pode consultar as exibições ACCOUNT_USAGE do Snowflake para obter informações sobre o consumo de crédito de um notebook. Essas exibições dividem o custo por nível de notebook, usuário ou pool de computação diariamente ou por hora.

Uso

No exemplo a seguir, cada linha representa uma única execução de notebook e inclui detalhes, como carimbo de data/hora da execução, usuário que executou o notebook e ambiente de tempo de execução (Warehouse ou Container Runtime).

-- Warehouse Runtime
SELECT query_text, t1.user_name, credits_attributed_compute as total_warehouse_credits
FROM snowflake.account_usage.query_history t1
INNER JOIN snowflake.account_usage.query_attribution_history t2
ON t1.query_id = t2.query_id

-- Add your notebook name
AND t1.query_text ILIKE 'execute notebook% <example_nb_name>'
;

-- Container Runtime
SELECT
  start_time, notebook_name, user_name, SUM(credits) AS total_container_runtime_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>'
GROUP BY ALL;
Copy

Monitoramento de custos no Container Runtime

As consultas a seguir ajudam você a monitorar o consumo de crédito dos notebooks em sua conta. Use-as para analisar os padrões de uso dos notebooks, estimar os custos e entender como os notebooks individuais contribuem para as despesas do pool de computação.

Consulta: consumo de crédito por hora, por notebook

Essa consulta recupera o histórico de tempo de execução de um notebook específico, incluindo uso de crédito e carimbos de data/hora da execução. Use esses dados para entender com que frequência e por quanto tempo um notebook é executado, assim como identificar padrões ou picos no consumo de crédito por hora.

SELECT * FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>';
Copy
Consulta: custo para executar um notebook específico

Essa consulta mostra o total de créditos consumidos por um notebook específico. Use-a para estimar o custo de um notebook e identificar notebooks de alto custo.

SELECT
  notebook_name,
  SUM(credits) AS total_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>'
GROUP BY notebook_name;
Copy
Consulta: custo total do pool de computação por notebook

Essa consulta mostra o total de créditos consumidos por cada notebook executado em um pool de computação específico. Use-a para detalhar o uso de computação por notebook, o que pode ajudar a identificar quais deles contribuem mais para o custo geral do pool de computação.

SELECT
  notebook_name,
  SUM(credits) AS total_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE compute_pool_name = '<example_cp_name>'
GROUP BY notebook_name;
Copy
Consulta: identificação de usuários que executaram um notebook específico

Essa consulta retorna uma lista de usuários que executaram um notebook específico. Use-a para entender padrões de uso ou identificar colaboradores e consumidores de notebooks compartilhados.

SELECT
  DISTINCT user_name
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>';
Copy

Notas adicionais

Os custos de consulta estão associados ao warehouse subjacente. Para obter informações sobre como funcionam os warehouses, consulte Uso de crédito do warehouse virtual.