M365Con 2027 – 무료 온라인 컨퍼런스 · 11–22 Jan 2027 · 120 sessions→ m365con.net

블로그 · Mirko Peters

Microsoft Fabric 모니터링의 4가지 기둥 완벽 이해하기

By ·

팟캐스트 블로그에 다시 오신 것을 환영합니다! 이번 글에서는 데이터 엔지니어를 밤잠 설치게 만드는 주제를 깊이 다룹니다. 끝없이 이어지는 사후 대응식 장애 처리에서 벗어나, 선제적이고 스스로 복구되는 데이터 아키텍처로 전환하는 방법입니다. 사무실에 출근하거나 Teams에 접속했을 때 "어제 중요한 대시보드가 왜 완전히 최신 상태가 아닌가요?"라는 달갑지 않은 메시지를 받은 적이 있다면, 이 가이드가 바로 여러분을 위한 것입니다. 잘못된 경보를 쫓는 데서 벗어나 데이터 환경을 체계적이고 예측 가능한 방식으로 관리하는 방법을 함께 살펴보겠습니다.

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering the 4 Pillarsof Microsoft Fabric…M365.FM
Titelbild: Mastering the 4 Pillars of Microsoft Fabric Monitoring

팟캐스트 블로그에 다시 오신 것을 환영합니다! 이번 글에서는 데이터 엔지니어를 밤잠 설치게 만드는 주제를 깊이 다룹니다. 끝없이 이어지는 사후 대응식 장애 처리에서 벗어나, 선제적이고 스스로 복구되는 데이터 아키텍처로 전환하는 방법입니다. 사무실에 출근하거나 Teams에 접속했을 때 "어제 중요한 대시보드가 왜 완전히 최신 상태가 아닌가요?"라는 달갑지 않은 메시지를 받은 적이 있다면, 이 가이드가 바로 여러분을 위한 것입니다. 잘못된 경보를 쫓는 데서 벗어나 데이터 환경을 체계적이고 예측 가능한 방식으로 관리하는 방법을 함께 살펴보겠습니다.

솔직히 말해 현대의 데이터 플랫폼은 복잡합니다. 여러 도메인에 걸친 파이프라인을 관리하고, 다양한 API에서 데이터를 가져오며, 미션 크리티컬 시맨틱 모델에 데이터를 공급하기 전에 데이터 레이크에 적재하다 보면 모니터링은 금세 건초 더미에서 바늘을 찾는 일처럼 느껴질 수 있습니다. 하지만 꼭 그래야 하는 것은 아닙니다. 체계적인 프레임워크를 적용하면 무엇이 고장 났는지만이 아니라, 왜 고장 났는지, 어디에 영향을 주었는지, 그리고 이미 스스로 어떻게 복구되고 있는지까지 알려주는 모니터링 파이프라인을 구축할 수 있습니다. 자세한 내용은 팟캐스트 에피소드 Monitor Microsoft Fabric Data Pipelines의 오디오 심층 분석도 함께 들어 보시기 바랍니다.

4가지 기둥(도구를 늘리는 것이 아니라 시스템으로 생각하기)

관찰 가능성 전략을 제대로 익히려면 접근 방식의 뿌리를 네 가지 기본 기둥에 두어야 합니다. 이를 현대 데이터 신뢰성 엔지니어링의 '철의 삼각형에 하나를 더한 것'으로 생각하시면 됩니다.

성능 지표(SLI -> SLO -> 알림)

  • 추적: 파이프라인 기간, 액티비티 기간, 대기 시간, 처리된 행/바이트 수, 성공률, 재시도율, 동시 실행 수, 컴퓨팅 사용률을 추적합니다.
  • 설계: 파이프라인과 액티비티별로 각 지표의 기준선(baseline)을 설정합니다. 임의로 정한 고정 임곗값에 의존하기보다, z-점수나 백분위 드리프트를 이용해 정상 범위에서 벗어난 편차에 대해 알림을 설정합니다.
  • 결과: 작업 적체, 편향된 파티션, 컴퓨팅 할당 부족이 전면 장애로 번지기 전에 조기 경고를 받을 수 있습니다.

오류 로깅(빨간 신호에서 근본 원인까지)

  • 수집: 오류 코드, 액티비티 이름, 상관 관계 ID와 실행 ID, 입력 및 출력 데이터 세트 이름, 행 수, 스키마 버전, 워터마크 타임스탬프를 수집합니다.
  • 정규화: 로그를 정규화하여 모든 알림에 여섯 가지 질문, 즉 무엇이 실패했는지, 어디서 발생했는지, 언제 발생했는지, 어떤 데이터에 영향을 주었는지, 다음에 무엇을 시도해야 하는지를 담도록 합니다.

데이터 계보(영향 범위 파악)

  • 유지 관리: 소스에서 브론즈, 실버, 골드 계층을 거쳐 시맨틱 모델, 최종 사용자 보고서까지 이어지는 엔드 투 엔드 데이터 계보를 끊김 없이 유지합니다.
  • 분석: 계보를 활용해 테이블 X가 지연되거나 손상되었을 때 어떤 하위 데이터 세트, 보고서, SLA 소비자가 영향을 받는지 즉시 파악합니다.

자동 복구(자가 치유 플레이북)

  • 자동화: 지수 백오프와 재시도, 잘못된 파일 건너뛰기 및 격리, 스키마 호환성 검사, 워터마크 기반 부분 재실행, 영향을 받은 골드 테이블 자동 재계산, 하위 새로 고침 일시 중지, 대상 재실행 등 일반적인 패턴을 구현합니다.
  • 표준화: 반복되는 오류 패턴마다 관련 런북과 자동화 레시피를 갖추어야 합니다. 처음에는 반자동이라도 괜찮습니다.

참조 아키텍처(Fabric 우선, 도구 중립)

견고한 모니터링 생태계를 구축하려면 명확한 참조 아키텍처가 필요합니다. 환경 안에서 이를 다음과 같이 구성할 수 있습니다.

  • 수집: 모니터링 허브(파이프라인 및 액티비티 실행), 데이터 세트 및 모델 새로 고침 기록, 이벤트 로그에서 텔레메트리를 수집합니다. 이렇게 수집한 구조화된 텔레메트리는 레이크하우스 관찰 가능성 스키마와 같은 중앙 테이블에 바로 저장합니다.
  • 보강: 파이프라인과 데이터 세트에 system, tier, RTO, RPO, owner, business_critical 플래그 같은 메타데이터 속성을 태그로 지정합니다.
  • 분석: 파이프라인, 액티비티, 시간대(hour-of-day)별로 P50 및 P95 임곗값을 기준으로 한 롤링 기준선을 포함하는 상태 시맨틱 모델을 구축합니다.
  • Alert: 역할 기반 필터링으로 알림을 Teams, 이메일 또는 ITSM 도구로 지능적으로 라우팅하여, 엔지니어에게는 원시 진단 정보를, 비즈니스 분석가에게는 데이터 최신성과 SLA 영향을 보여 줍니다.
  • Act: 상관 관계 ID를 활용해 자동 복구 흐름을 트리거하고, 수행된 모든 관리 작업과 자동화 작업을 로그로 남기십시오.
  • Review: 매주 운영 리뷰를 진행하여 주요 인시던트, MTTD 및 MTTR 추세, 노이즈가 많은 알림을 분석하고, 이를 바탕으로 규칙을 지속적으로 개선하거나 폐기하십시오.

바로 복사해 쓸 수 있는 SLI/SLO

무엇이 좋은 상태인지 추측하지 마십시오. 아래 서비스 수준 지표(SLI)와 목표(SLO)를 운영 헌장에 바로 복사해 넣으십시오.

  • 최신성 SLI: now() - last_success_time. (SLO: 일일 피드는 60분 미만, 스트리밍 데이터는 10분 미만)
  • 성공률 SLI: 24시간 기간 동안 성공한 실행의 비율. (SLO: 99% 이상)
  • 지연 시간 SLI: activity_duration_p95를 기준선과 비교. (SLO: 최근 14일 중앙값 대비 ±25% 이내)
  • 품질 SLI: null 제약 조건, 범위 검사, 참조 무결성 같은 검증을 통과한 행의 비율. (SLO: 99.5% 이상)
  • 비용/효율 SLI: bytes_processed를 output_bytes로 나눈 값으로 계산하며, 100회 실행당 재시도 횟수와 함께 확인합니다.

노이즈를 줄이는 알림 패턴

알림 피로는 모니터링 프로그램을 망치는 가장 큰 원인입니다. 모든 항목이 새벽 3시에 호출된다면 팀은 곧 Slack 채널과 이메일 알림을 무시하는 법을 배우게 됩니다. 이를 해결하려면 더 똑똑한 알림 패턴을 적용하십시오.

  • 동적 임계값: 지표가 과거 기준값에서 3 표준편차를 넘어서거나, 해당 요일과 시간대의 95 백분위수를 넘을 때만 알림을 발생시키십시오.
  • 연쇄 알림: 원본 피드가 지연되면 하위 데이터셋의 오래됨(stale) 알림을 자동으로 억제하고, 계보(lineage) 목록이 포함된 하나의 통합된 근본 원인 인시던트를 발생시키십시오.
  • 중복 제거: 동일한 오류 코드와 실행 패턴이 반복되는 경우, 15~30분의 짧은 시간 창 안에서 하나로 묶으십시오.
  • 가드레일: 연속으로 일정 횟수 이상 이상 징후가 발생한 경우에만 호출하고, 첫 번째 이벤트는 노이즈가 적은 운영 채널에 조용히 게시되도록 하십시오.

런북과 자동화(자가 치유 레시피)

장애가 발생하더라도 사람이 노트북을 열기 전에 시스템이 먼저 대응할 수 있어야 합니다.

  1. 스로틀링과 429 오류: 2초에서 8초까지 늘어나고 최대 60초로 제한되는 자동 백오프 루틴을 구성하고, 최대 7회까지 재시도하도록 설정하십시오. 실행 일정을 분산하고, 병렬 처리를 줄이며, 지원되는 경우 대량(bulk) API로 전환하십시오.
  2. 스키마 드리프트: 처리 전 단계에 스키마 검사(probe)를 도입하십시오. 예상치 못한 열이 감지되면 페이로드를 격리 영역으로 자동 라우팅하고, 데이터 소유자에게 알림을 보내며, 안전한 추가 항목은 자동으로 매핑하고, 파괴적인 변경은 전면 차단하십시오.
  3. 불량 레코드: 행 단위 검증을 적용하십시오. 실패한 행은 파일 ID와 실행 ID를 포함하여 quarantine.bad_rows 테이블에 바로 기록하고, 임계값이 허용되면 기본 로드는 계속 진행하도록 하며, 오류율이 허용 오차를 넘을 때만 티켓을 여십시오.
  4. 부분 재실행: 수정 타임스탬프 기반의 워터마크를 활용하십시오. 실패 시 영향을 받은 시간 창만 다시 실행하고, 자연 비즈니스 키를 사용해 멱등성을 추적하십시오.
  5. 하위 계층 보호: 실버 테이블이 의심 상태로 표시되면 골드 계층 새로 고침을 자동으로 일시 중지하고, 시맨틱 모델을 성능 저하 상태로 표시하여 사용자에게 배너를 보여 주십시오. 백필이 모든 검증을 통과하면 자동으로 재개하십시오.

계보 기반 영향 분석

테이블이 실패했다는 사실을 아는 것은 절반의 해결일 뿐입니다. 누가 영향을 받는지 알아야 합니다. 모든 데이터셋과 파이프라인에 명시적인 상위 및 하위 참조를 포함하면, 인시던트가 발생했을 때 영향 범위를 즉시 계산할 수 있습니다. 이를 통해 영향을 받은 테이블, 모델, 보고서를 추적하고, 다음 정상 새로 고침의 예상 완료 시각을 정확히 제시하면서 해당 비즈니스 소유자에게 알릴 수 있습니다.

실제로 사용되는 대시보드

데이터 대시보드는 아무도 찾지 않는 빈 공간이 되어서는 안 됩니다. 모니터링 대시보드를 관련성 있고 실행 가능한 상태로 유지하려면 대상 독자별로 나누십시오.

    • 운영 및 엔지니어 보기: 시간대별 파이프라인 히트맵, 액티비티 P95 기간 추세, 재시도 및 속도 제한 빈도, 실패가 많은 상위 액티비티, 컴퓨팅 비용에 초점을 맞춥니다.
    • 분석가 뷰: 도메인별 데이터 최신성 타일, 다음 새로 고침 예상 시간, 데이터 품질 통과율, 예약된 유지 관리 기간을 표시합니다.
    • 관리자 뷰: 전체 SLA 달성률, 인시던트 건수, MTTR 추세, 주요 근본 원인, 기술 부채 감소 진행 상황을 요약합니다.

페이지를 모듈식으로 구성하고, 단일 화면에는 핵심 KPI를 6~8개로 제한하십시오. 그리고 모든 타일을 정확한 실행 ID와 로그가 포함된 드릴다운 페이지에 직접 연결하십시오.

태깅 및 소유권(핵심 연결고리)

거버넌스가 없으면 모니터링은 무너집니다. 워크스페이스 전체에 필수 메타데이터 속성을 적용하십시오. 소유자, 온콜 그룹, 시스템 이름, 비즈니스 도메인, 아키텍처 계층, SLA 시간(분), 연락 방법, 허용 변경 기간에 대한 태그를 요구하십시오. 필수 소유권이나 SLA 태그가 없으면 파이프라인 승격을 차단하는 엄격한 "태그 없으면 배포 없음" 정책을 시행하십시오.

데이터 품질 게이트(가볍지만 효과적인 방식)

잘못된 데이터가 골드 모델에 도달하기 전에 걸러내십시오. 수집 및 변환 파이프라인에 가볍지만 효과가 큰 데이터 품질 검사를 직접 구현하십시오.

    • 핵심 비즈니스 필드에 대한 NULL 및 빈 문자열 검사
    • 도메인 검증: 유효한 열거형 값, 숫자 범위, ID에 대한 정규 표현식 검사
    • 참조 무결성 검사: 브론즈 영역과 실버 영역 사이에서 외래 키가 존재하는지 확인
    • 볼륨 드리프트 분석: 행 수 또는 바이트 크기가 최근 중앙값 대비 ±30% 범위를 벗어나는지 확인

사소한 이상에는 경고와 격리를 동반한 페일 오픈(fail-open) 방식을, 치명적인 데이터 계약 위반에는 페일 클로즈드(fail-closed) 방식을 적용하도록 게이트를 구성하십시오.

주기 및 위생 관리

모니터링은 "설정 후 방치"하는 프로젝트가 아닙니다. 엄격한 검토 주기를 통해 운영 상태를 유지하십시오.

    • 매일: 빨간색 및 노란색 인시던트와 튜닝 백로그를 검토합니다.
    • 매주: 실패가 많은 상위 작업, 노이즈가 많은 알림, 새로 발견된 계보(lineage) 공백을 분석합니다.
    • 매월: 공식 SLA 및 SLO 검토를 진행하고, 비용 이상 여부를 점검하며, 용량을 적정 수준으로 조정하고, 오래된 파이프라인을 폐기합니다.
    • 분기별: 원본 장애와 스키마 변경을 시뮬레이션하는 재해 복구 훈련을 실시하고, 모든 운영 런북을 감사합니다.

흔한 함정(및 해결 방법)

Microsoft Fabric 모니터링 프레임워크를 설계할 때 다음과 같은 전형적인 함정을 피하십시오.

    • 모든 것이 P1: 엄격한 등급 정의를 도입하고, 호출(paging) 알림은 실제 P1 장애에만 사용하며, 알려진 근본 원인과 연결된 하위 알림은 자동으로 억제하십시오.
    • 정적 임계값: 하드코딩된 한도를 버리고, 시간대별 및 주간 계절성을 반영한 동적 기준선을 채택하십시오.
    • 고아 알림: 문서화된 런북 및 책임 있는 소유자 그룹과 연결되지 않은 알림이 발생하지 않도록 하십시오.
    • 사후 분석만 수행: MTTD와 MTTR 지표를 적극적으로 추적하고, 반복되는 모든 문제에 대해 예방적 기술 수정을 의무화하십시오.
    • 계보 부재: 보여주기식 성능 지표를 수집하기보다 명확한 데이터 계보를 구축하는 것을 우선하십시오. 계보가 없으면 영향 분석이 불가능합니다.

10단계 빠른 시작(2~3일)

바로 시작할 준비가 되셨습니까? 다음 10단계 로드맵을 따라 며칠 안에 모니터링 기반을 가동하십시오.

    1. 기존 파이프라인과 데이터 세트를 목록화하고, 즉시 소유자, SLA, 계층 메타데이터로 태그를 지정하십시오.
    2. 최근 14~30일간의 과거 데이터를 기준선으로 삼아 계층별 SLI와 SLO를 정의하십시오.
    3. 기본 레이크하우스 관측성 스키마 안에 텔레메트리를 중앙 집중화하십시오.
    4. 상태 모델을 구축하고, 운영, 분석가, 관리자를 위한 핵심 대시보드 3종을 배포하십시오.
    5. 역할 기반 알림 라우팅과 함께 동적이고 편차 기반인 알림을 구성하십시오.
    6. 최소 두 개의 자동 복구 런북을 구현하되, 처음에는 조절(throttling)과 스키마 드리프트에 집중하십시오.
    7. NULL, 값 도메인, 볼륨 드리프트를 다루는 기본 데이터 품질 게이트를 추가하십시오.
    8. 가장 중요한 상위 20개 파이프라인에 대한 엔드 투 엔드 계보를 채우고, 영향 분석 쿼리를 테스트하십시오.
    9. 초기 온콜 순환 근무 체계를 수립하고, 인시던트 템플릿을 게시한 뒤 MTTD와 MTTR 측정을 시작하십시오.
    10. 모의 장애 게임데이(game-day)를 실행하고, 팀의 대응 워크플로에서 가장 느린 부분을 개선하십시오.

복사해서 붙여 넣는 인시던트 템플릿

인시던트가 실제로 발생하면, 다음의 간결한 형식을 사용하여 커뮤니케이션을 표준화하십시오.

    • 제목: [도메인] [파이프라인] [증상]
    • 발생 시점: UTC 기준 감지 타임스탬프와 최초 실패 실행 ID.
    • 영향: 현재 위험에 처한 영향받은 테이블, 시맨틱 모델, 보고서 및 관련 SLA입니다.
    • 근본 원인(초기): 수집된 오류 코드 또는 메시지와 최근 시스템 변경 사항을 함께 확인합니다.
    • 조치(자동/수동): 실행된 복구 단계와 현재 상태입니다.
    • 정상 상태 복구 예상 시점(ETA): 다음 성공적인 새로 고침까지 예상되는 일정입니다.
    • 후속 조치: 영구적인 예방 조치, 담당자, 목표 완료 기한입니다.

자주 묻는 질문

현재 성공/실패 로깅만 있다면 어떻게 시작해야 하나요?
먼저 담당자와 SLA를 지정하고, 실행 메트릭을 레이크하우스에 중앙 집중식으로 모은 다음, 가장 중요한 상위 10개 파이프라인을 대상으로 기간과 최신성(freshness)에 대한 편차 기반 알림을 구현하는 것부터 시작하십시오.

동적 임계값을 조정하는 데 시간이 너무 오래 걸리지 않을까요?
전혀 그렇지 않습니다. 2~4주치 과거 데이터만으로 메트릭의 기준선을 설정한 다음, 운영하면서 점차 개선하면 됩니다. 고정된 정적 한도와 비교하면 잘못된 양성 알림을 크게 줄일 수 있습니다.

스트리밍 및 실시간 워크로드는 어떻게 하나요?
스트리밍 데이터의 경우 엔드 투 엔드 지연 시간, 이벤트 지연(event lag), 소비자 백로그 깊이를 추적하십시오. 절댓값에만 의존하지 말고, 항상 지연이 증가하는 속도를 기준으로 알림을 설정하십시오.

대시보드가 방치된 채 쌓이지 않게 하려면 어떻게 해야 하나요?
엄격한 원칙을 유지하십시오. 대상 독자별로 대시보드 하나만 두고, 모든 타일에 이름이 지정된 담당자를 배정하며, 매월 정비 검토를 실시합니다. 실행 가능한 결정으로 이어지지 않는 타일은 삭제하십시오.

데이터 파이프라인을 안정적으로 유지하는 실제 시나리오, 팁, 그리고 더 깊이 있는 아키텍처 분석에 대해 더 듣고 싶다면 함께 제공되는 팟캐스트 에피소드 Monitor Microsoft Fabric Data Pipelines를 꼭 들어 보십시오. 다음 시간까지, 데이터 흐름을 계속 유지하고 파이프라인이 스스로 복구되도록 관리하시기 바랍니다.

Entities in this article

Microsoft Fabric Semantic model Dashboards Data quality Observability Data lineage Telemetry Referential integrity Schema drift Throttling

Related articles

RSS