데이터 관측 가능성 모니터
Data Observability 모니터는 계절성, 추세, 사용자 피드백을 학습하는 이상 징후 감지를 사용해 지연된 데이터, 불완전한 로드, 예상치 못한 값 변화를 다운스트림 대시보드, AI 애플리케이션, 또는 비즈니스 결정에 영향을 주기 전에 잡아내요. 데이터와 코드의 종단 간 계보(lineage)와 결합하면, 이 모니터들은 팀이 문제를 조기에 발견하고 다운스트림 영향을 평가하며 적절한 담당자에게 라우팅할 수 있게 도와줘요.
출처: 문서
본문
{% callout %}
다음 Datadog 사이트 사용자를 위한 중요 안내: app.ddog-gov.com, us2.ddog-gov.com
{% alert level="danger" %} 이 제품은 선택한 Datadog 사이트에서는 지원되지 않아요. ({% placeholder "user-datadog-site-name" /%}). {% /alert %}
{% /callout %}
개요
Data Observability 모니터는 계절성, 추세, 사용자 피드백을 학습하는 이상 징후 감지를 사용해 지연된 데이터, 불완전한 로드, 예상치 못한 값 변화를 다운스트림 대시보드, AI 애플리케이션, 또는 비즈니스 결정에 영향을 주기 전에 잡아내요. 종단 간 데이터 및 코드 계보와 결합하면, 이 모니터들은 팀이 문제를 조기에 발견하고, 다운스트림 영향을 평가하며, 올바른 담당자에게 라우팅하는 데 도움이 돼요.
Data Observability 모니터는 다음 메트릭 유형을 지원해요.
테이블 수준 메트릭 유형:
| 메트릭 유형 | 설명 |
|---|---|
| Freshness | 테이블이 마지막으로 업데이트된 이후 경과된 시간을 추적해요. |
| Row Count | 테이블 또는 뷰의 행 수를 추적해요. |
| Custom SQL | SQL 쿼리가 반환한 커스텀 메트릭 값을 추적해요. |
컬럼 수준 메트릭 유형:
| 메트릭 유형 | 설명 |
|---|---|
| Freshness | datetime 컬럼에서 보이는 가장 최근 날짜를 추적해요. |
| Uniqueness | 고유 값의 백분율을 추적해요. |
| Nullness | null 값의 백분율을 추적해요. |
| Cardinality | 고유한 값(distinct values)의 수를 추적해요. |
| Percent Zero | 0과 같은 값의 백분율을 추적해요. |
| Percent Negative | 음수 값의 백분율을 추적해요. |
| Min / Max / Mean / Sum / Standard Deviation | 컬럼 값들에 걸친 통계적 측정을 추적해요. |
Datadog는 사용 가능할 때 웨어하우스 시스템 메타데이터(예: INFORMATION_SCHEMA)에서 행 수, 신선도 같은 메트릭을 수집해요. 이는 웨어하우스에 대해 쿼리를 실행하는 것을 피해 컴퓨팅 비용을 줄여줘요. 모든 웨어하우스가 시스템 메타데이터를 노출하는 것은 아니에요. 시스템 메타데이터에서 수집할 수 없는 메트릭의 경우, 모니터가 웨어하우스에 직접 쿼리를 실행해 값을 계산해요.
Data Observability 모니터는 Quality Monitoring이 최소 하나 이상의 지원 웨어하우스(예: Snowflake, Databricks, 또는 BigQuery)로 설정되어 있어야 해요.
Data Observability는 모니터 생성 흐름의 첫 단계에서 선택되는 네 가지 모니터 유형을 제공해요.
| 모니터 유형 | 모니터링 대상 |
|---|---|
| Data quality | 테이블과 컬럼의 Freshness, Row Count, 컬럼 수준 메트릭. |
| Source to target | 소스 자산과 타겟 자산 간의 동일 메트릭 차이. |
| Schema change | 웨어하우스에서 추가, 제거, 이름 변경, 또는 유형 변경된 필드. |
| Job | 실패한 작업 실행. |
별도로 명시되지 않는 한, 아래 섹션들은 data quality 모니터 유형을 설명해요.
모니터 생성
Datadog에서 Data Observability 모니터를 만들려면 Data Observability > Monitors > New Monitor 또는 Monitors > New Monitor > Data Observability로 이동하세요. 기존 Data Observability 모니터를 모두 보려면 Data Observability Monitors 페이지를 참고하세요.
모니터링할 데이터 선택
먼저 Table(테이블) 또는 Column(컬럼) 수준을 모니터링할지 선택하세요.
{% image source="https://docs.dd-static.net/images/monitors/monitor_types/data_observability/entity_type_selection_and_aastra.9d03b241f22cfc4058a091c594a08a02.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/data_observability/entity_type_selection_and_aastra.9d03b241f22cfc4058a091c594a08a02.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Choose data to monitor: entity type selector, query input, and lineage relationship filter" /%}
그런 다음 Edit 탭을 사용해 검색 필드에 key:value 필터를 입력해 테이블, 뷰, 또는 컬럼을 검색하세요.
이름 또는 위치로 필터링:
| 필터 | 예시 | 설명 |
|---|---|---|
| Name | name:USERS* |
이름으로 매칭. * 와일드카드를 지원해요. |
| Schema | schema:PROD |
스키마로 매칭. |
| Database | database:ANALYTICS_DB |
데이터베이스로 매칭. |
| Account | account:my_account |
계정으로 매칭. |
태그로 필터링:
데이터 자산에 적용된 모든 태그를 태그 키를 필터 키로 사용해 필터링할 수 있어요. 예를 들어 자산이 owner, platform, 또는 environment 태그로 태그되어 있다면, 그 태그들을 직접 검색하세요.
| 예시 | 설명 |
|---|---|
owner:data-platform-team |
owner:data-platform-team으로 태그된 자산 매칭. |
platform:snowflake |
platform:snowflake로 태그된 자산 매칭. |
environment:production |
environment:production으로 태그된 자산 매칭. |
태그 필터는 이름 필터와 동일한 * 와일드카드와 따옴표를 지원해요. 예: owner:data-* 또는 platform:"Snowflake Prod".
계산된 속성으로 필터링:
자체 태그 외에도 Datadog는 데이터 자산에 대해 필터링할 수 있는 속성을 계산해요. 사용 가능한 계산된 속성은 다음과 같아요.
| 속성 | 값 | 설명 |
|---|---|---|
lineage_score |
0.00, 0.10, 0.30, 0.50, 0.70, 0.90, 또는 1.00 |
계보 그래프에서 자산이 얼마나 연결되어 있는지에 대한 상대적 측정으로, 같은 유형의 다른 자산에 비해 얼마나 많은 다운스트림 자산이 그것에 의존하는지에 기반해요. 값이 높을수록 다운스트림 소비자가 의존하는 테이블, 뷰, 컬럼을 식별해요. |
lineage_score는 연속 값이 아니라 위에 나열된 개별 등급으로 버켓팅되므로, 그 정확한 값 중 하나로 필터링해야 해요. 단일 등급을 매칭하거나 OR로 등급을 결합할 수 있어요. 예를 들어 lineage_score:1.00은 가장 많이 의존되는 자산을 반환하고, lineage_score:(0.90 OR 1.00)은 상위 두 등급을 반환해요.
이 필터들을 AND 또는 OR로 결합하고, 괄호로 조건을 그룹화하며, -를 접두사로 붙여 제외할 수 있어요.
예시:
| 목표 | 쿼리 |
|---|---|
| PROD 스키마의 모든 테이블, 임시 테이블 제외 | schema:PROD AND -name:TEMP* |
| 모든 타임스탬프 컬럼 | name:*_AT OR name:*_TIMESTAMP |
| 특정 데이터베이스의 PROD 또는 STAGING 테이블 | database:ANALYTICS_DB AND (schema:PROD OR schema:STAGING) |
| 특정 팀이 소유한 테이블 | owner:data-platform-team |
| 데이터베이스에서 가장 많이 의존되는 테이블 | database:ANALYTICS_DB AND lineage_score:1.00 |
계보 관계로 필터링:
선택 범위를 계보 그래프에서 다른 자산과 연결된 자산으로 좁히려면 Add Relation Filter를 클릭하세요. Upstream of 또는 Downstream of를 선택한 다음, 특정 자산을 선택하거나 동일한 key:value 필터를 사용해 자산 집합을 매칭하세요. 예를 들어 중요한 대시보드의 업스트림에 있는 모든 테이블, 또는 특정 소스 테이블의 다운스트림에 있는 모든 컬럼을 모니터링할 수 있어요.
계층 관계로 필터링:
선택 범위를 계보 그래프에서 다른 자산의 부모 또는 자식인 자산으로 좁히려면 Add Relation Filter를 클릭하세요. Parent of 또는 Child of를 선택한 다음, 특정 자산을 선택하거나 동일한 key:value 필터를 사용해 자산 집합을 매칭하세요. 예를 들어 revenue 컬럼을 가진 모든 테이블, 또는 중요 스키마 내의 모든 테이블을 모니터링할 수 있어요.
단일 모니터는 최대 5,000개의 테이블, 뷰, 또는 컬럼을 추적할 수 있어요. 이 제한은 늘릴 수 없어요. 쿼리가 더 많은 항목을 매칭하면 여러 모니터로 나누세요.
메트릭 유형 선택
추적하려는 데이터 품질 신호에 기반해 메트릭 유형을 선택하세요. 각 모니터는 하나의 메트릭 유형을 추적해요.
{% tab title="Freshness" %} Freshness 메트릭 유형은 데이터가 예상 시간 창 내에 업데이트되지 않았을 때 감지해요. 지연된 데이터가 다운스트림 보고서나 모델에 영향을 주기 전에 잡는 데 사용해요.
- 테이블 신선도(table freshness) 는 테이블이 마지막으로 업데이트된 이후 경과된 시간을 추적해요. 테이블 신선도는 뷰 또는 시스템 메타데이터에서 테이블의 업데이트 타임스탬프를 제공하지 않는 데이터 웨어하우스에는 사용할 수 없어요. 이 경우 컬럼 수준 신선도를 사용하세요.
- 컬럼 신선도(column freshness) 는 datetime 컬럼에서 보이는 가장 최근 날짜를 추적해요.
{% /tab %}
{% tab title="Row Count" %} Row Count 메트릭 유형은 테이블의 행 수 변화를 추적해요. 파이프라인 실패나 업스트림 문제를 나타낼 수 있는 예상치 못한 데이터 감소나 급증을 감지하는 데 사용해요. {% /tab %}
{% tab title="Column Metric" %} 컬럼 메트릭 유형은 컬럼 수준 메트릭을 추적해 데이터 드리프트 또는 품질 저하를 감지해요. 다음 중에서 선택하세요.
| 메트릭 | 설명 |
|---|---|
| Uniqueness | 컬럼에서 고유한 값의 백분율. |
| Nullness | 컬럼에서 null인 값의 백분율. |
| Cardinality | 컬럼에서 고유한 값(distinct values)의 수. |
| Percent Zero | 컬럼에서 0과 같은 값의 백분율. |
| Percent Negative | 컬럼에서 음수인 값의 백분율. |
| Min | 컬럼의 모든 값 중 최솟값. |
| Max | 컬럼의 모든 값 중 최댓값. |
| Mean | 컬럼의 모든 값의 평균. |
| Standard Deviation | 컬럼 값들 내 변동의 측정. |
| Sum | 컬럼의 모든 값의 합계. |
{% alert level="info" %} 일부 컬럼 메트릭은 특정 컬럼 유형에서만 사용할 수 있어요. 숫자 메트릭(Percent Zero, Percent Negative, Min, Max, Mean, Standard Deviation, Sum)은 숫자 컬럼이 필요해요. {% /alert %}
{% /tab %}
{% tab title="Custom SQL" %} Custom SQL 메트릭 유형은 사용자가 정의한 SQL 쿼리가 반환한 커스텀 메트릭 값을 추적해요. 기본 메트릭 유형이 사용 사례를 다루지 못할 때, 예를 들어 비즈니스별 데이터 품질 규칙을 모니터링할 때 사용해요.
- 쿼리가 반환하는 값을 설명하는 모델 유형을 선택하세요.
- Default: 쿼리가 스칼라 값을 반환해요. 대부분의 경우 이것을 사용해요.
- Freshness: 쿼리가 현재 시각과 이벤트가 마지막으로 발생한 시각 사이의 차이(초 단위)를 반환해요.
- Percentage: 쿼리가 0에서 100 사이의 백분율 값을 반환해요.
dd_value라는 별칭으로 단일 값을 반환하는 SQL 쿼리를 작성하세요. 예:SELECT COUNT(*) as dd_value FROM ANALYTICS_DB.PROD.ORDERS WHERE STATUS = 'FAILED'- Validate를 클릭해 쿼리 구문을 확인하세요.
SQL 쿼리에 GROUP BY 절이 포함되어 있으면, Group by 필드에 그룹화된 컬럼을 쉼표로 구분해 나열하세요(예: column_a, column_b). 각 그룹은 독립적으로 평가돼요.
참고: 각 Custom SQL 모니터는 청구 목적으로 개별 모니터링 테이블로 계산돼요.
{% image source="https://docs.dd-static.net/images/monitors/monitor_types/data_observability/custom_sql_example.def9e4decd735a9f1f69cf086eedf358.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/data_observability/custom_sql_example.def9e4decd735a9f1f69cf086eedf358.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Input field for custom SQL monitor creation." /%}
{% /tab %}
모니터 구성
감지 방법
감지 방법을 선택하세요:
- Anomalies: 메트릭이 예상 패턴에서 벗어나면 알림을 보내요. 임계값은 필요하지 않아요. 이상 징후 모델은 기반 데이터가 업데이트되는 빈도에 따라 학습에 3~7일(주말 포함)이 필요해요. 학습 기간 동안 모니터는 알림을 트리거하지 않으며 파란색으로 시각화돼요. 학습이 완료되면 정상 상태에서는 초록색, 이상 상태에서는 빨간색으로 표시돼요.
- Thresholds: 메트릭이 고정 값을 넘으면 알림을 보내요. 비교 연산자(
above,above or equal to,below,below or equal to,equal to, 또는not equal to)를 설정하고 Critical 임계값(필수)과 선택적으로 Warning 임계값을 정의하세요. 자세한 내용은 Configure Monitors를 참고하세요.
WHERE 절
WHERE 절을 추가해 모니터가 평가하는 데이터를 필터링하세요. 데이터의 특정 세그먼트나 최근 레코드만 모니터링할 때 유용해요. 예:
created_at >= DATEADD(day, -7, CURRENT_TIMESTAMP())— 지난 주의 행만 모니터링.region = 'US'— 특정 지역의 데이터만 모니터링.
Group by
Group by 절을 추가해 단일 모니터를 여러 그룹으로 분할할 수 있으며, 각 그룹은 독립적으로 평가돼요. 예를 들어 행 수 모니터를 REGION 컬럼으로 그룹화하면 지리별로 별도의 알림이 생성돼요.
{% image source="https://docs.dd-static.net/images/monitors/monitor_types/data_observability/group_by_column_selection.19e6abc4c77a12ec85d2e2689e658574.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/data_observability/group_by_column_selection.19e6abc4c77a12ec85d2e2689e658574.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Input field for selecting GROUP BY dimensions." /%}
기본 제한은 모니터당 500개 그룹이에요. 이 제한을 늘리려면 Support에 문의하세요.
누락 데이터
If data is missing to evaluate 드롭다운 메뉴에서 평가에 사용할 수 있는 데이터가 없을 때 모니터가 보고하는 것을 선택하세요.
모델 구성
{% callout %}
다음 Datadog 사이트 사용자를 위한 중요 안내: app.datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, app.datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com
{% callout %}
미리 보기(Preview)
다음 모델 구성 설정은 미리 보기 상태예요. 조직에 대해 활성화하려면 Datadog 담당자에게 문의하세요. {% /callout %}
{% /callout %}
Anomalies 감지 방법을 사용하는 모니터의 경우 Model configuration을 확장해 모델이 작동하는 방식을 세밀하게 조정하세요.
| 설정 | 설명 |
|---|---|
| Alert after N consecutive anomalies | 모니터가 알림을 보내기 전 연속 실패 평가 수. 고립된 급증을 억제하도록 이 설정을 구성해요. |
| Minimum upper bound size | 모델이 상단에서 데이터를 얼마나 밀접하게 추적하는지 제약해요. |
| Minimum lower bound size | 모델이 하단에서 데이터를 얼마나 밀접하게 추적하는지 제약해요. |
| Sensitivity | 예상 경계의 폭을 제어해요. 슬라이더를 Fewer alerts 쪽으로 이동하면 경계가 넓어지고, More alerts 쪽으로 이동하면 경계가 좁아져요. 구성된 최소 경계 크기는 여전히 적용돼요. |
모니터 일정
모니터가 데이터를 평가하는 빈도를 설정하세요.
- Scheduled: 모니터가 고정 주기로 실행돼요. Run this monitor에서 Hourly, Every 3 hours, Every 6 hours, Every 12 hours, Daily, 또는 Custom schedule을 선택하세요.
- Manual (Preview): 모니터는 프로그래밍 방식으로 트리거될 때만 실행돼요. 모델링이 유용할 만큼 충분한 이력 데이터를 축적하도록 Data Observability API를 사용해 일정에 따라 이 모니터를 트리거하세요. UI는 행 수 및 신선도 같은 기본 메트릭을 지원하지 않으므로, 이 워크플로는 커스텀 또는 컬럼 수준 메트릭에 적용돼요.
자체 주기를 정의하려면 Custom schedule을 선택하고 cron 표현식을 제공하세요. 커스텀 일정은 최소 15분마다 실행될 수 있어요. Preview times는 다음 몇 번의 실행을 현지 시간대로 나열하므로, 저장하기 전에 표현식을 확인할 수 있어요.
알림 조건 설정
집계 유형을 선택하세요.
- Simple Alert: 모니터링되는 테이블 또는 컬럼 중 하나라도 조건을 충족하면 단일 알림을 보내요.
- Multi Alert: 조건을 충족하는 각 그룹에 대해 알림을 보내요. 그룹화할 차원(예:
table,schema,database)을 커스터마이즈해 알림 세분성을 제어할 수 있어요. 예를 들어schema로 그룹화하면 스키마당 하나의 알림만 보내, 영향을 받는 모든 테이블을 함께 묶어 노이즈를 줄여요.
예시 알림
{% tab title="Threshold" %}
{{#is_alert}}
Data quality issue detected on {{database.name}}.{{schema.name}}.{{table.name}}:
current value {{value}} has breached the threshold of {{threshold}}.
{{/is_alert}}
{{#is_recovery}}
Data quality issue on {{database.name}}.{{schema.name}}.{{table.name}} has recovered.
Current value {{value}} is within the threshold of {{threshold}}.
{{/is_recovery}}
{% /tab %}
{% tab title="Anomaly" %}
{{#is_alert}}
Anomaly detected on {{database.name}}.{{schema.name}}.{{table.name}}:
observed value {{observed}} is outside the expected range of {{lower_bound}} to {{upper_bound}}
(predicted: {{predicted}}).
{{/is_alert}}
{{#is_recovery}}
{{database.name}}.{{schema.name}}.{{table.name}} has recovered.
Observed value {{observed}} is within the expected range.
{{/is_recovery}}
{% /tab %}
소스 대 타겟 모니터
{% alert level="info" %} Source to target 모니터는 미리 보기 상태예요. 접근을 요청하려면 Datadog 담당자 또는 support에 문의하세요. {% /alert %}
소스 대 타겟(source to target) 모니터는 두 데이터 자산에서 동일한 메트릭을 비교하고, 두 값이 벌어질 때 알림을 보내요. 다른 Data Observability 모니터는 단일 자산이 신선한지 또는 완전한지 추적해요. 소스 대 타겟 모니터는 대상에 도착한 복사본이 소스에서 나간 것과 일치하는지 추적해요.
파이프라인이 시스템 간에 데이터를 이동할 때 부분 실패는 거의 실패처럼 보이지 않아요. 100,000행이 소스 테이블을 떠나고 99,850행이 대상에 도착한다면, 대상 단독의 행 수 모니터는 그럴듯한 값을 봐요. 두 자산을 비교하면 그 격차가 드러나요.
소스 대 타겟 모니터를 다음 용도로 사용하세요.
- Postgres에서 Databricks로의 복제를 검증.
- 동일한 Snowflake 계정 내 두 데이터베이스(예: 품질 데이터베이스와 프로덕션)를 조정.
- 컷오버 전에 Redshift에서 BigQuery로의 마이그레이션을 검증. 두 시스템을 나란히 실행하고 일치하는지 확인.
- 변환이 입력과 출력 사이에서 행을 떨어뜨리지 않는지 확인.
소스 대 타겟 모니터는 GovCloud를 제외한 모든 지역에서 사용할 수 있어요.
소스 대 타겟 모니터 만들기
- Monitors > New Monitor로 이동해 Source to Target을 선택하세요.
- Choose source에서 소스 데이터를 보유한 웨어하우스를 선택한 다음, 비교할 데이터를 선택하세요.
- Choose target에서 대상에 대해 동일하게 수행하세요. 소스와 타겟은 서로 다른 데이터 웨어하우스 또는 같은 웨어하우스에 있을 수 있어요.
- Select your metric type에서 비교할 메트릭을 선택하세요. 소스 대 타겟 모니터는 행 수, 신선도, nullness, uniqueness, cardinality, Custom SQL을 포함해 다른 Data Observability 모니터와 동일한 메트릭 유형을 지원해요.
- 비교가 표현되는 방식을 제어하도록 Format을 설정하세요.
- Difference: 타겟 값에서 소스 값을 뺀 값. 음수 값은 타겟이 소스보다 적다는 뜻이에요.
- % Difference: 소스 값의 백분율로 표현된 동일한 차이.
- Configure monitor에 설명된 대로 감지 방법, 일정, 알림을 구성하세요.
Preview Monitor Evaluation 패널은 식별된 소스와 타겟, 그리고 선택한 메트릭의 미리 보기를 보여줘요.
모니터링되는 자산은 타겟이므로, 모니터는 타겟의 상태 페이지에 나타나요.
커스텀 메트릭 비교
메트릭 유형이 Custom SQL이면 소스용 쿼리 하나와 타겟용 쿼리 하나를 제공하세요. 이 메트릭 유형에는 WHERE 절이 허용되지 않아요. 각 쿼리에 필터링을 포함하세요.
평가
소스와 타겟의 차이는 자체 메트릭으로 기록되므로, 소스 대 타겟 모니터는 이상 징후 감지를 포함해 다른 Data Observability 모니터와 동일한 감지 방법으로 평가돼요. 양쪽 모두 동기화된 일정으로 측정되므로, 각 웨어하우스의 기본 수집 주기를 따르는 대신 두 값이 동시에 캡처돼요.
스키마 변경 모니터
{% alert level="info" %} Schema change 모니터는 미리 보기 상태예요. {% /alert %}
스키마 변경 모니터는 내용이 변할 때가 아니라 데이터의 구조가 변할 때 알림을 보내요. 컬럼이 삭제, 이름 변경, 또는 다른 데이터 유형으로 전환되는 것처럼 다운스트림 파이프라인이나 대시보드를 깨기 전에 업스트림 변경을 잡는 데 사용해요.
스키마 변경 모니터는 데이터베이스, 스키마, 테이블, 컬럼에 걸쳐 네 가지 변경 유형을 감지해요.
| 변경 유형 | 설명 |
|---|---|
| Added | 데이터베이스, 스키마, 테이블, 또는 컬럼이 생성됨. |
| Removed | 데이터베이스, 스키마, 테이블, 또는 컬럼이 삭제됨. |
| Renamed | 테이블 또는 컬럼의 이름이 변경됨. |
| Type changed | 컬럼의 데이터 유형이 변경됨. 예: INTEGER에서 STRING으로. |
스키마 변경은 Snowflake, BigQuery, Databricks, Redshift에서 감지돼요.
스키마 변경 모니터 만들기
- Monitors > New Monitor > Schema Change로 이동하세요.
- Choose data to monitor에서 감시할 웨어하우스를 선택하세요.
- Configure monitor에 설명된 대로 알림을 구성하세요.
스키마 변경 모니터는 측정된 값이 경계를 넘는 것이 아니라 구조적 변경에 대해 알리기 때문에 메트릭 유형이나 감지 방법을 사용하지 않아요.
감지된 스키마 변경 찾아보기
모니터를 만들지 않고 Datadog가 감지한 변경을 보려면 Data Observability > Schema Changes로 이동하세요. 플랫폼, 계정, 데이터베이스, 스키마, 또는 변경 유형으로 필터링하고, 항목을 확장해 영향을 받은 컬럼과 그 데이터 유형을 확인하세요.
변경은 Datadog가 다음에 웨어하우스에서 스키마 메타데이터를 수집할 때 현재 구조를 이전에 수집된 구조와 비교해 감지돼요.
예시 모니터
{% tab title="Row count drop" %} 파이프라인 실패나 데이터 누락을 나타낼 수 있는 행 수의 상당한 감소를 감지해요.
- Table > Row Count를 선택하고 대상 테이블을 선택하세요(예:
ANALYTICS_DB.PROD.EVENTS). - 감지 방법으로 Anomalies를 선택하세요. 행 수가 역사적 기준선에서 벗어나면 모니터가 트리거돼요.
{% /tab %}
{% tab title="Stale table" %} 중요 테이블이 예상 시간 창 내에 업데이트되지 않았을 때 알림을 보내요.
- Table > Freshness를 선택하고 대상 테이블을 선택하세요(예:
ANALYTICS_DB.PROD.ORDERS). - 감지 방법으로 Thresholds를 선택하세요.
- Alert 임계값을 6 hours로 설정하고, 선택적으로 Warning 임계값을 4 hours로 설정하세요.
{% /tab %}
{% tab title="Null percentage spike" %} 컬럼의 null 백분율이 정상 수준을 초과할 때 감지해요. 데이터 수집 문제를 나타낼 수 있어요.
- Column > Nullness를 선택하고 대상 컬럼을 선택하세요(예:
ANALYTICS_DB.PROD.USERS.EMAIL). - 감지 방법으로 Anomalies를 선택하세요.
{% /tab %}
{% tab title="Rows lost between source and target" %} 복제 또는 마이그레이션 후 소스 테이블과 대상 사이에서 떨어진 행을 감지해요.
- Source to Target을 선택한 다음, 소스 테이블(예:
POSTGRES_DB.PUBLIC.ORDERS)과 타겟 테이블(예:ANALYTICS_DB.PROD.ORDERS)을 선택하세요. - 메트릭 유형으로 Row Count를 선택하고 Format을 Difference로 설정하세요.
- 감지 방법으로 Anomalies를 선택하세요.
{% /tab %}
경계 주석 달기
Anomaly 감지 방법을 사용하는 모니터의 경우 경계 범위에 주석을 달아 피드백을 제공하고 시간이 지남에 따라 모델을 개선할 수 있어요. 인프라 메트릭과 달리 데이터 품질 메트릭은 종종 비즈니스별이므로, 주석을 사용해 데이터에서 어떤 동작이 정상인지 모델에 가르쳐주세요.
{% image source="https://docs.dd-static.net/images/monitors/monitor_types/data_observability/annotate_bounds.42e16328fdd525848c44241c1b7a7a68.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/data_observability/annotate_bounds.42e16328fdd525848c44241c1b7a7a68.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Hover menu for annotating a monitor bound." /%}
모니터의 상태 페이지에서 Annotate Bounds를 클릭하고, 차트에서 시간 범위를 선택한 다음, 다음 주석 중 하나를 선택하세요.
| 주석 | 설명 |
|---|---|
| Expected | 표시된 동작을 포함하도록 경계를 영구적으로 확장해요. |
| Reset for now | 동작을 OK로 표시하지만, 다시 발생하면 알림을 보내요. |
| Missed alert | 이 동작에 대해 알리도록 경계를 축소해요. |
| Ignore | 경계를 모델링할 때 주석이 달린 데이터를 제외해요. |
더 알아보기 (Learn more)
추가로 도움이 되는 문서, 링크, 아티클: