Skip to main content
이 문서는 데이터 엔지니어링 섹션의 일부입니다.

왜 모니터링이 중요한가?

데이터 파이프라인은 “실행되고 있다”는 것만으로는 충분하지 않습니다. 제시간에 완료되었는지, 데이터 품질은 괜찮은지, 비용은 예산 내인지 를 지속적으로 확인해야 합니다. 모니터링이 없으면 장애를 사후에야 발견하게 되고, 이는 SLA 위반과 비즈니스 손실로 이어질 수 있습니다.
💡 모니터링의 3대 축: (1) 장애 감지— 실패를 빠르게 발견하고 대응합니다. (2) 성능 추적— 실행 시간 변화를 관찰하여 잠재적 문제를 예방합니다. (3) 비용 관리— 리소스 사용량과 비용을 추적하여 최적화합니다.

Job Run 상태 및 생명주기

Job Run은 다음과 같은 생명주기를 거칩니다.

상태별 설명

Result State (최종 결과)


실행 이력 확인

Workflows UI

API로 실행 이력 조회


알림 설정 상세

알림 이벤트

Webhook 연동

Slack, Microsoft Teams, PagerDuty 등 외부 서비스와 Webhook으로 연동할 수 있습니다. Slack Webhook 설정 절차:
  1. Databricks Workspace → SettingsNotifications destinationsAdd destination
  2. Destination type: Slack 선택
  3. Slack Webhook URL 입력
  4. 테스트 메시지 발송 확인
  5. Job 설정에서 해당 Webhook ID 참조

시스템 테이블 활용

Databricks는 Job 실행 이력, 비용, 클러스터 메트릭을 시스템 테이블 에 자동으로 기록합니다. SQL로 분석하여 커스텀 대시보드를 만들 수 있습니다.
💡 시스템 테이블(System Tables) 은 Databricks가 자동으로 수집하는 운영 메타데이터입니다. system 카탈로그 아래에 위치하며, Unity Catalog를 통해 접근합니다.

주요 시스템 테이블

실행 이력 분석 쿼리

실패 패턴 분석 쿼리


비용 추적 및 분석

Job별 비용 확인

비용 추이 분석

비용 최적화 기회 발견


로그 확인 방법

Driver Log

각 태스크의 Driver Log에서 에러 메시지, 스택 트레이스를 확인할 수 있습니다.

Spark UI 활용


실습: 모니터링 대시보드 쿼리

아래 쿼리들을 Databricks SQL 대시보드에 배치하면 종합적인 모니터링 환경을 구축할 수 있습니다.

대시보드 패널 1: 실행 현황 요약

대시보드 패널 2: 실행 시간 이상 감지

대시보드 패널 3: 일별 성공률 추이


트러블슈팅 체크리스트

Job이 실패했을 때

Job이 느려졌을 때

Job이 시작되지 않을 때


모범 사례 요약


참고 링크