노트북 사용량 및 비용 모니터링

노트북은 구성된 가상 웨어하우스 또는 :ref:`컴퓨팅 풀<label-spcs_working_with_compute_pools_default_compute_pools_for_notebooks>`을 통해 컴퓨팅 리소스를 사용합니다. 비용을 관리하고 효율적인 운영을 보장하려면 개별 노트북, 사용자, 기본 컴퓨팅 인프라 전반의 사용량을 모니터링하는 것이 중요합니다. 이러한 가시성은 효율적인 운영을 보장하고 환경 전체에서 비용 책임을 지원하는 데 도움이 됩니다.

Snowflake는 ACCOUNT_USAGE 뷰 및 시스템 테이블을 통해 자세한 사용 데이터에 대한 액세스를 제공합니다. 이 데이터는 다음과 같은 질문에 답하는 데 도움이 될 수 있습니다.

  • 노트북당 시간당 크레딧 사용량은 얼마입니까?

  • 지난 한 주 동안 노트북이 얼마나 자주 실행되었습니까?

  • 지난 달에 노트북을 실행한 사용자는 누구입니까?

  • 지난 한 주 동안 노트북은 어떤 컴퓨팅 풀 또는 웨어하우스를 사용했습니까?

  • 특정 컴퓨팅 리소스를 사용하는 노트북의 총 크레딧 비용은 얼마입니까?

컴퓨팅 관련 비용 관리에 대한 광범위한 개요는 컴퓨팅 비용 살펴보기 섹션을 참조하세요.

예제 쿼리

Snowflake의 ACCOUNT_USAGE 뷰를 쿼리하여 노트북의 크레딧 사용량에 대한 인사이트를 얻을 수 있습니다. 이러한 뷰는 노트북, 사용자 또는 컴퓨팅 풀 수준별로 일별 또는 시간별로 비용을 세분화합니다.

사용법

다음 예제에서 각 행은 단일 노트북 실행을 나타내며 실행 타임스탬프, 노트북을 실행한 사용자, 런타임 환경(웨어하우스 또는 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

Container Runtime의 비용 모니터링

다음 쿼리는 계정에서 노트북의 크레딧 사용량을 모니터링하는 데 도움이 됩니다. 이러한 쿼리를 사용하여 노트북 사용 패턴을 분석하고, 비용을 추정하며, 개별 노트북이 컴퓨팅 풀 비용에 기여하는 방식을 이해할 수 있습니다.

쿼리: 노트북별 시간당 크레딧 사용량

이 쿼리는 크레딧 사용 및 실행 타임스탬프를 포함하여 특정 노트북의 런타임 기록을 검색합니다. 이 데이터를 사용하여 노트북이 실행되는 빈도와 기간을 파악하고 시간별 크레딧 사용량의 패턴이나 급증을 식별합니다.

SELECT * FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>';
Copy
쿼리: 특정 노트북 실행 비용

이 쿼리는 특정 노트북에서 소비한 총 크레딧을 보여줍니다. 이를 사용하여 노트북의 비용을 추정하고 고가의 노트북을 식별합니다.

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
쿼리: 노트북당 총 컴퓨팅 풀 비용

이 쿼리는 특정 컴퓨팅 풀에서 실행 중인 각 노트북에서 소비한 총 크레딧을 보여줍니다. 이를 사용하여 노트북별로 컴퓨팅 사용량을 분석하면 컴퓨팅 풀의 전체 비용에 가장 큰 영향을 미치는 노트북을 식별하는 데 도움이 될 수 있습니다.

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
쿼리: 특정 노트북을 실행한 사용자 식별

이 쿼리는 특정 노트북을 실행한 사용자 목록을 반환합니다. 이를 사용하여 사용 패턴을 이해하거나 공유 노트북의 공동 작업자 및 컨슈머를 식별합니다.

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

추가 참고 사항

쿼리 비용은 기본 웨어하우스와 관련이 있습니다. 웨어하우스의 작동 방식에 대한 자세한 내용은 가상 웨어하우스 크레딧 사용 섹션을 참조하세요.