Use Snowsight to work with cost anomalies

Use Snowsight to work with cost anomalies (Snowsight로 비용 이상 작업)

이 주제는 Snowsight를 사용해 비용 이상을 식별·조사하고, 사용자 지정 범위를 감시하는 이상 모니터를 만들고, 알림을 구성하는 방법을 설명해요.

출처: Use Snowsight to work with cost anomalies

본문

이 주제의 모든 작업은 Anomalies 탭에서 시작해요. 열려면:

  1. 필수 권한이 있는 사용자로 Snowsight에 로그인해요.
  2. 내비게이션 메뉴에서 Admin » Cost management를 선택하고 Anomalies를 선택해요.

Anomalies 탭이 열리고, 예상 범위와 감지된 이상이 있는 소비 차트와 그 이상들의 테이블이 표시돼요.

Snowsight로 비용 이상 식별·조사

1단계: 비용 이상 식별

  1. Anomalies 탭을 열어요.
  2. 필터로 시간 범위를 선택하고 검토할 것을 골라요.
    • 단일 계정: Account 필터에서 계정을 선택해요. 차트와 테이블이 그 계정의 계정 수준 이상을 보여줘요.
    • 전체 조직: Account 필터에서 All accounts를 선택해요. 차트와 테이블이 조직 수준 이상을 보여줘요.
    • 이상 모니터: Account 필터에서 현재 로그인한 계정을 선택하고, Monitors 필터에서 모니터를 선택해요. 모니터 필터는 현재 계정에만 나타나요. 자세한 내용은 Snowsight에서 이상 모니터 작업을 참고해요.
  3. 차트를 사용해 실제 소비를 시간에 따른 예상 범위와 대조하거나, 테이블을 사용해 시간 범위의 모든 이상을 나열·정렬해요.

2단계: 비용 이상 조사

사이드 패널(계정 수준·조직 수준 이상 지원) 또는 Cortex Code(이상 모니터도 지원)를 사용해 이상을 조사할 수 있어요.

사이드 패널로 조사

사이드 패널은 이상 모니터에는 사용할 수 없어요. 모니터가 감지한 이상을 조사하려면 Cortex Code를 사용해요.

사이드 패널을 열려면 차트의 표시기를 클릭하거나 테이블의 행을 선택해 비용 이상을 선택해요.

계정 수준 이상(특정 계정을 선택한 경우)에서는 다음으로 드릴다운할 수 있어요.

  • 상위 소비 동인: 계정 내 시간별 소비. 모든 서비스 유형 또는 그날 가장 많은 크레딧을 소비한 서비스 기준.
  • 상위 웨어하우스: 소비의 절대 변화가 가장 큰 웨어하우스.
  • 상위 쿼리: 소비 변화가 가장 큰 웨어하우스에서 가장 비싼 쿼리. 현재 로그인한 계정에만 사용 가능. 단일 웨어하우스에 집중하므로 계정의 가장 비싼 쿼리를 보여주지 않을 수 있어요. 쿼리 ID 근처의 Open in Worksheet 아이콘을 선택해 워크시트에서 열어요.

조직 수준 이상(All accounts를 선택한 경우)에서는 다음으로 드릴다운할 수 있어요.

  • 상위 계정: 소비의 절대 변화가 가장 큰 계정.
  • 상위 웨어하우스: 변화가 가장 큰 계정 내에서 변화가 가장 큰 웨어하우스. 단일 계정에 집중하므로 조직의 상위 웨어하우스를 보여주지 않을 수 있어요. 다른 계정이나 전체 조직의 상위 웨어하우스를 검색하려면 Programmatically work with cost anomalies를 참고해요.

팁

Anomalies 탭이 근본 원인을 식별하는 데 필요한 데이터를 제공하지 않으면 Consumption 탭을 선택해요.

Cortex Code로 조사

Cortex Code는 Snowflake 플랫폼에 통합된 AI 기반 지능형 에이전트예요. 소비 차트의 섹션을 강조하고 자연어 질문을 해 비용 이상을 조사할 수 있어요. Cortex Code는 이상 모니터가 감지한 것을 포함한 모든 종류의 이상에 대해 작동하므로, Cortex Code가 Snowsight에서 모니터의 이상을 조사하는 유일한 방법이에요.

Cortex Code를 사용하려면 Snowsight에서 접근에 필요한 권한이 있어야 해요.

  1. 조사하려는 소비 차트의 활동(예: 컴퓨팅 비용 급증)을 강조해요. Add to chat과 Explain 빠른 동작이 나타나요.
  2. 다음 빠른 동작 중 하나를 선택해요.
    • Explain: Cortex Code가 강조된 이상을 분석하고 무엇이 원인인지에 대한 설명을 소비에 대한 다른 인사이트와 함께 반환해요.
    • Add to chat: 강조된 이상을 컨텍스트로 Cortex Code 채팅을 시작하고, 여기서 직접 프롬프트를 입력할 수 있어요.
  3. Cortex Code가 발견 사항을 보고해요. 급증에 기여한 웨어하우스, 쿼리, 사용자를 식별하는 문장 같은 더 많은 정보를 수집하기 위해 SQL 문장을 실행하라고 요청할 수 있어요.

예시 프롬프트

다음 프롬프트는 다양한 유형의 분석을 다뤄요.

사용 사례 예시 프롬프트
비용 변경에 대한 일반 정보 수집 What changed in this highlighted window?
비용 급증의 원인 판단 Why did this cost spike occur?
비용 동인 식별 Which top warehouses contributed the most to this increase?
비용 절감 권장 사항 받기 What can I do to reduce these costs?
특정 비용 카테고리 조사 What queries caused this compute cost increase?

자세한 내용은 Cortex Code를 참고해요.

Snowsight에서 이상 모니터 작업

이상 모니터는 전체 계정이 아니라 객체 태그와 서비스 유형으로 정의한 범위를 봐요. Anomalies 탭의 필터로 범위를 구성하고, 그것이 만들어내는 이상을 검토한 뒤 명명된 모니터로 저장해요.

모니터는 단일 계정으로 범위가 정해지므로, 필터는 Account 필터가 현재 로그인한 계정으로 설정된 경우에만 나타나요.

다음 필터가 모니터의 범위를 제어해요.

필터 설명
Monitors 현재 계정의 모든 모니터를 나열. 하나를 선택해 검토하거나 새 범위를 시작.
Credit family 모니터가 추적하는 크레딧 family(Credits 또는 AI Credits) 선택. 이는 추가할 수 있는 서비스 유형을 결정하고, 태그 귀속 소비를 그 크레딧 family로 제한.
Tags 범위에 태그·값 쌍 추가. 일치하는 태그를 가진 리소스의 소비가 선택한 크레딧 family에 속하면 모니터에 귀속. 사용하려면 태그에 APPLYBUDGET 권한이 필요. Introduction to object tagging 참고.
Service types 범위에 계정 수준 서비스 유형 추가. 포함된 서비스 유형의 소비는 범위의 태그와 무관하게 전체 계정에 대해 완전히 귀속.

모니터 만들기

  1. Anomalies 탭에서 Account 필터에서 현재 로그인한 계정을 선택해요.
  2. Credit family 필터에서 모니터가 추적하게 할 크레딧 family를 선택해요.
  3. Tags 필터에서 하나 이상의 태그, Service types 필터에서 하나 이상의 서비스 유형, 또는 둘의 조합을 선택해 범위를 정의해요.
  4. 내 범위가 만들어내는 이상을 보여주도록 업데이트되는 차트와 테이블을 검토하고 필요에 따라 필터를 조정해요. Snowflake는 저장되지 않은 결과를 온디맨드로 계산하므로 저장된 모니터보다 나타나는 데 더 오래 걸리고, 세션이 끝나면 사라져요.
  5. Monitors 필터 옆의 캐럿을 선택하고 Create new monitor from config를 선택한 뒤 이름을 입력해요. 이름은 계정 내에서 고유해야 하고 대소문자를 구분하지 않아요.

모니터 관리

저장된 모니터를 보려면 Monitors 필터에서 선택해요. 차트와 테이블이 그 모니터의 소비, 예상 범위, 이상을 보여주도록 업데이트돼요.

선택한 모니터를 관리하려면 Monitors 필터 옆의 캐럿을 선택해요.

  • Save changes: Tags와 Service types 필터로 만든 범위 변경을 저장. Monitors 필터의 파란 점은 모니터에 저장되지 않은 변경이 있음을 나타내요. 모니터는 이름, 알림 목록, 이력을 유지해요. 하나 이상의 태그나 서비스 유형이 선택된 상태로 남아 있어야 해요.
  • Set as default: Anomalies 탭을 열 때 이 모니터를 자동으로 선택.
  • Edit monitor: 모니터 이름을 바꾸고 알림 수신자를 설정하는 대화상자를 열기.
  • Recalculate anomalies: 모니터의 이상 이력을 즉시 재계산.
  • Create new monitor from config: 원본을 그대로 두고 현재 범위를 새 모니터로 저장.
  • Delete monitor: 모니터 삭제.

경고

모니터 삭제는 그 구성, 이상 이력, 알림 목록을 영구히 제거해요. 삭제된 모니터는 복구할 수 없어요.

모니터 이름 바꾸기 또는 알림 수신자 설정

Edit monitor를 선택해 모니터의 이름과 알림 목록을 포함한 대화상자를 열어요.

각 모니터는 계정 수준·조직 수준 목록과 별개인 자체 이메일 알림 목록을 가져요. 이상을 감지하면 모니터의 목록에 있는 수신자만 알림을 받고, 각 주소는 사용자가 검증해야 해요.

모니터는 이메일 알림만 지원해요. 이상 알림을 Slack, SMS, 또는 웹훅으로 보내려면 계정 수준·조직 수준 이상에 적용되는 알림 통합을 사용해요.

모니터의 이상 재계산

Snowflake는 각 모니터를 매일 재계산하지만 어떤 리소스가 태그를 담고 있는지의 변경은 감지할 수 없어요. 태그를 추가·제거하거나 모니터의 범위를 변경하면 그 이력은 다음 일일 실행까지 오래될 수 있어요. 즉시 새로고침하려면 Recalculate anomalies를 선택해요. 재계산은 전체 소비 시계열을 재생성하고 어떤 이상도 계산하므로 저장된 결과를 로드하는 것보다 오래 걸리고, 새로고침된 결과는 저장돼요.

Snowsight로 알림 구성

Snowflake가 비용 이상을 식별하면 이메일 주소 목록으로 알림을 보내요. 비용 이상 알림을 받을 사람을 결정할 때, 이메일 알림은 계정이 얼마를 지출했는지에 대한 세부 정보를 포함할 수 있다는 점을 인지해야 해요.

각 계정은 계정 내 계정 수준 이상에 대한 알림 목록을 가질 수 있어요. 조직 수준 이상이 있을 때 누가 알림을 받을지 제어하기 위해 조직에 대한 별도 알림 목록을 정의할 수도 있어요.

각 이메일 주소는 사용자가 검증했어야 해요.

알림에 배포 목록 같은 그룹 이메일 주소를 사용할 수 있지만, 이 이메일 주소는 검증되어야 해요. 알림 목록에 그룹 이메일 주소를 추가하기 전에 검증할 수 있도록 그룹 이메일 주소로 새 Snowflake 사용자를 만들어야 할 수도 있어요.

참고

이메일 알림은 AWS Simple Email Service(SES)를 사용해 Snowflake의 Amazon Web Services(AWS) 배포를 통해 처리돼요. AWS를 사용해 보낸 이메일 메시지의 콘텐츠는 메시지 전달을 관리하기 위해 최대 30일 동안 Snowflake가 보관할 수 있어요. 이 기간이 지나면 메시지 콘텐츠는 삭제돼요.

계정 수준·조직 수준 이상의 수신자를 설정하려면 Anomalies 탭의 오른쪽 위 모서리에 있는 기어 아이콘을 선택하고, Notify for account anomalies와 Notify for organization anomalies 필드에 주소를 입력하고 Save changes를 선택해요.

이상 모니터는 Edit monitor로 설정하는 자체 목록을 가져요. Snowsight에서 이상 모니터 작업 참고.

더 알아보기