주요 컨텐츠로 이동
제품

SQL 알림으로 데이터 및 KPI 모니터링 자동화

수동 데이터 검사를 문제가 발생하는 즉시 감지하는 자동 모니터링으로 전환하세요

작성자: Srilekha Dornadula

많은 조직에서 데이터 모니터링은 여전히 수동적이고 반복적인 작업입니다. 매일 아침 같은 대시보드를 열고, 같은 쿼리를 다시 실행하고, 이상 징후를 검색합니다. 누군가 "이 지표가 왜 떨어졌지?"라고 묻기도 전에, 이미 몇 시간 또는 며칠 동안 잘못되었을 가능성이 높으며, 보통 이해 관계자나 이미 잘못된 숫자를 전달한 다운스트림 보고서에 의해 플래그가 지정됩니다. 수정 작업 또한 수동적인 의식입니다. 이는 작동할 때는 괜찮지만, 팀, 환경 또는 프로덕션 워크로드 전반에 걸쳐 확장할 수 없으며 모니터링 비용은 계속 증가합니다.

오늘 저희는 Databricks SQL Alerts가 일반적으로 사용 가능(GA)하며, 4,000명 이상의 고객이 이미 프로덕션에서 Alerts를 사용하고 있음을 발표합니다. SQL Alerts는 이러한 수동적인 작업을 안정적이고 자동화된 모니터링으로 전환합니다. SQL에서 메트릭 또는 조건을 한 번 정의하고, 예약에 따라(또는 데이터를 생성하는 파이프라인과 함께) 평가하고, 임계값을 초과하면 올바른 담당자에게 알립니다. 비즈니스 KPI(예: 수익)를 추적하든, 파이프라인 신선도와 같은 운영 상태를 추적하든, 데이터 품질 문제를 추적하든, SQL Alerts는 문제를 조기에 감지하고, 수동적인 점검을 줄이며, 사용량이 증가함에 따라 모니터링을 일관되게 유지하는 데 도움이 됩니다.

“이상 탐지 서비스에 SQL Alerts를 구현함으로써 관찰 가능성이 훨씬 간단해졌습니다. 모니터링 인프라를 유지 관리하는 대신, 이제 Alerts를 사용하여 문제를 검색하고 사용자에게 알릴 수 있습니다. 단순화된 인터페이스와 사용자 정의 가능한 경험은 저희 팀의 수동적인 노력을 줄여 문제를 더 빨리 식별하는 데 도움이 되었습니다.” —Enrique Olivares, Big Data Software Development Engineer, Zillow

SQL Alerts 개요

SQL Alerts란 무엇인가요?

SQL Alert는 SQL 쿼리, 평가 조건, 예약 및 알림 대상을 묶습니다. 쿼리 결과가 예약된 실행에서 조건을 초과하면 Databricks는 구성한 채널을 통해 올바른 담당자에게 알립니다.

SQL Alerts로 팀이 할 수 있는 일:

  • 비즈니스 지표 드리프트를 조기에 감지합니다. 수익이 주 대비 5% 이상 감소하거나, 일일 전환율이 목표치 이하로 떨어지거나, 주요 지역의 일일 활성 사용자가 감소하면 알림을 보냅니다.
  • 파이프라인을 신뢰할 수 있게 유지합니다. 테이블이 지난 한 시간 동안 새로 고쳐지지 않았거나, 행 수가 예상 기준치 이하로 떨어지거나, 작업이 부분적인 데이터를 로드하면 알림을 보냅니다.
  • 대시보드가 중단되기 전에 사용자 정의 데이터 품질 문제를 감지합니다. Null 비율이 임계값을 초과하거나, 중복 키가 나타나거나, 분포가 예상 범위를 벗어나면 알림을 보냅니다.

    일정 및 알림 구성

GA에서 무엇을 사용할 수 있나요?

SQL Alerts GA에는 프로덕션에서 알림을 작성, 운영 및 확장하는 데 필요한 모든 것이 포함됩니다.

  • SQL 편집기에서 알림을 작성합니다. 쿼리, 평가 조건, 예약 및 알림을 한 흐름으로 정의합니다. Genie Code를 사용하여 Databricks SQL의 전체 기능을 활용하여 쿼리를 작성할 수 있습니다.
  • 필요한 곳에서 알림을 실행합니다. 자체 예약에 따라 실행되는 독립형 SQL Alerts를 사용하거나, 데이터를 생성하는 파이프라인과 함께 조건을 평가하기 위해 SQL Alert 작업을 Lakeflow Job에 추가합니다.
  • 올바른 사람에게 올바른 방식으로 알립니다. 이메일, Slack, PagerDuty, Microsoft Teams 또는 웹훅을 통해 알림 평가 기록이 포함된 풍부한 템플릿으로 알림을 보내 수신자가 더 빨리 분류할 수 있도록 합니다.
  • 알림을 프로덕션 코드로 관리합니다. Git에서 알림 정의를 버전 관리하고, 선언적 자동화 번들을 통해 배포하고, API,Terraform 및 SDK를 통해 생성 및 업데이트를 자동화합니다.
  • 알림을 대규모로 관찰합니다. 새로운 Alerts 시스템 테이블(비공개 미리 보기) - `system.alert.alerts` 및 `system.alert.alert_evaluation_history` - 는 작업 공간 전반의 구성 및 평가 데이터를 제공하므로 팀은 알림을 감사하고, 추세를 분석하고, 대규모로 워크로드를 관리할 수 있습니다.
“기본 Databricks 통합은 Alerts를 정의하기 쉽게 만들고 운영하기에 안정적으로 만듭니다. Git을 통해 버전 관리되는 단일 위치에서 Alert 로직, 예약 및 알림을 관리함으로써 모니터링을 표준화하고 수동 노력을 훨씬 적게 들이면서 문제를 더 빨리 감지하는 데 도움이 되었습니다.” —Tom Potash, Software Engineering Manager at DoubleVerify

SQL Alerts를 사용한 예시

이제 SQL Alerts의 가치를 보여주는 예제를 살펴보겠습니다. 일반적인 비즈니스 모니터링 요구 사항은 최근 기준선 대비 예상치 못한 수익 감소를 감지하는 것입니다. 이 예제는 어제 수익을 7일 평균과 비교하는 알림을 생성하고, 5%를 초과하는 감소가 발생하면 올바른 사람들에게 알리는 방법을 보여줍니다.

1단계: SQL 편집기에서 쿼리 작성

이 쿼리는 어제 수익을 계산하고 7일 평균과 비교합니다.

출력: 알림이 평가하는 단일 열인 `revenue_pct_change`입니다. 이 알림은 수익 감소가 5%를 초과하므로 트리거됩니다.

2단계: 조건 및 알림 구성

편집기에서 조건을 revenue_pct_change -5로 설정하고 알림 수신자를 추가합니다. 또한 풍부한 마크다운 편집기를 사용하여 알림 템플릿을 사용자 정의하여 알림에 더 많은 컨텍스트나 다음 단계를 추가할 수 있습니다.

조건 구성

3단계: 예약

평가를 위한 빈도를 선택합니다. 예를 들어, 비즈니스에 중요한 KPI의 경우 매일 평가하면 24시간 이내에 변경 사항이 감지됩니다.

알림이 트리거되면 수신자는 알림 평가 상태, 결과, 알림 링크 및 최근 실행 기록이 포함된 알림을 받습니다. 즉시 조사를 시작할 수 있습니다.

알림 이메일 예제 트리거

SQL Alerts에는 전체 실행 기록이 포함된 포괄적인 알림 세부 정보 페이지도 포함되어 있어 각 평가가 언제 실행되었는지, 알림이 트리거되었는지 여부, 알림을 받은 대상 등을 보여줍니다. 이를 통해 팀은 모니터링이 예상대로 실행되고 있는지 확인하고 알림이 트리거되기 시작한 시점을 보여줌으로써 더 빨리 분류할 수 있습니다.

수익 알림 예제

Genie Code로 알림 만들기 (출시 예정)

Genie Code를 사용하면 위의 단계별 안내가 한 번의 프롬프트로 완료됩니다. 자연어로 원하는 알림을 설명하면("주간 대비 일일 수익이 5% 이상 감소하면 알려줘"), Genie Code가 알림을 처음부터 끝까지 자동으로 생성해 줍니다. 언제든지 Genie에게 수정을 요청하거나 알림 UI를 열어 직접 수정할 수 있습니다.

Writing alerts with Genie CodeGenie Code support for alerts

Lakeflow 작업 내에서 알림 실행

독립형 SQL 알림은 파이프라인과 별개로 자체 일정에 따라 실행됩니다. 이는 많은 모니터링 사용 사례에 적합합니다. 즉, 업스트림 데이터가 언제 도착하는지 신경 쓰지 않는 모든 경우에 해당합니다.

하지만 일부 검사는 데이터를 생성하는 파이프라인 내부에 있어야 합니다. 예를 들어, '이 로드가 완료된 데이터를 모두 로드했는가?', '게시하기 전에 이 지표가 정상인가?', '다음 단계를 실행해야 하는가?'와 같은 경우입니다. 이러한 검사를 독립형 예약 알림으로 실행하면 알림이 데이터 생성 파이프라인과 별개의 자체 일정에 따라 실행되며, 그 결과는 파이프라인에서 다음에 발생하는 일에 영향을 줄 수 없습니다.

이제 Lakeflow 작업의 새로운 SQL 알림 작업(Public Preview)을 사용하면 정확히 이 작업을 수행할 수 있습니다. 동일한 알림 객체를 이제 작업의 일부로 파이프라인 내에서 실행할 수 있습니다. 또한 평가 상태(OK, TRIGGERED 또는 ERROR)를 작업의 출력 값으로 노출하여 다운스트림에서 참조할 수 있습니다.

Alerts in Lakeflow Jobs

예시: 거래 데이터가 도착하는 즉시 사기 급증 감지

파이프라인은 매시간 신용카드 거래 내역을 로드합니다. 로드 후 사기율이 급증하면 사기 운영팀은 즉시 조사해야 합니다.

로드 단계 바로 뒤에 SQL 알림 작업을 추가하여 사기 플래그 비율이 임계값을 초과하는지 확인합니다. 그런 다음 {{tasks.Alert-FraudRateCheck.output.alert_state}} == "TRIGGERED" 조건을 가진 If/Else 작업을 추가합니다. 알림이 OK를 반환하면 파이프라인은 일반 BI 보고로 계속 진행됩니다. TRIGGERED이면 판매자 카테고리 및 지역별 분석을 생성하고 사기 운영팀에 이메일을 보내는 진단 노트북으로 라우팅됩니다. 동일한 알림 객체가 파이프라인 흐름을 제어할 수 있습니다!

Fraud spike alert example

운영 환경에서 알림을 안정적으로 관리

알림이 여러 팀과 환경에 걸쳐 확장됨에 따라, 알림 생성에서 시간이 지남에 따라 안정적으로 관리하는 것으로 과제가 전환됩니다. SQL 알림은 다음과 같은 기능을 통해 프로덕션 워크플로우를 처리하도록 구축되었습니다.

  • Git 통합: 알림 정의는 Git에 저장되며, 프로덕션 코드의 나머지 부분과 함께 버전 관리 및 검토됩니다.
  • 선언적 자동화 번들: 개발에서 프로덕션으로의 반복적인 승격을 지원하며, 다른 작업 공간 리소스와 함께 알림을 정의하고 배포하는 구조화된 방법을 제공합니다.
  • API, Terraform 및 SDK: API 및 Databricks SDK를 통해 프로그래밍 방식으로 알림을 생성하고 관리합니다.

이미 SQL 알림을 사용하고 있는 4,000개 이상의 고객과 함께하세요. 첫 알림 설정은 단 5분이면 충분합니다. SQL 알림 설명서를 읽고 수동으로 주기적으로 확인하던 모니터링 쿼리로 시작해 보세요!

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.