본문 바로가기
WIKI 기술 지식 베이스

예측 모니터

원문 보기 위키 갱신

Forecasting(예측)은 메트릭이 미래에 어디로 향하는지 예측할 수 있게 해주는 알고리즘 기능이에요. 강한 추세나 반복 패턴이 있는 메트릭에 특히 잘 맞아요. 예측 모니터는 디스크가 가득 차기 일주일 전에 알림을 보내 로그 순환 정책을 업데이트할 충분한 시간을 확보하게 해주지요.

출처: 문서

본문

개요

Forecasting은 메트릭이 미래에 어디로 향하는지 예측할 수 있게 해주는 알고리즘 기능이에요. 강한 추세나 반복 패턴이 있는 메트릭에 특히 잘 맞아요. 예를 들어 애플리케이션의 로깅 속도가 빨라지기 시작한다면, 예측은 디스크가 가득 차기 일주일 전에 알림을 보내 로그 순환 정책을 업데이트할 충분한 시간을 확보하게 해줘요. 또는 사용자 가입 같은 비즈니스 메트릭을 예측해 분기 목표 달성 진행 상황을 추적할 수도 있어요.

모니터 생성

Datadog에서 forecast monitor를 만들려면 메인 네비게이션을 사용하세요: Monitors –> New Monitor –> Forecast.

메트릭 정의

현재 Datadog에 보고되는 모든 메트릭을 모니터에 사용할 수 있어요. 자세한 내용은 Metric Monitor 페이지를 참고하세요.

메트릭을 정의한 후 예측 모니터는 에디터에서 두 개의 미리 보기 그래프를 제공해요.

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/editor_graphs.a1d1c9df005a088af151dc64cca20978.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/editor_graphs.a1d1c9df005a088af151dc64cca20978.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Editor graphs" /%}

  • Historical View는 서로 다른 시간 척도에서 과거 메트릭 데이터를 탐색할 수 있게 해줘요.
  • Evaluation Preview는 과거 및 예측 메트릭 데이터의 조합을 보여줘요.

알림 조건 설정

  • 예측 신뢰 구간(confidence bounds)의 가장자리가 above(위) 또는 below(아래)로 갈 때 알림을 트리거해요.
  • 다음 24 hours, 1 week, 1 month 등 내의 임계값, 또는 12시간에서 3개월 사이의 값을 설정하려면 custom.
  • Alert threshold: >= <NUMBER>
  • Warning threshold: >= <NUMBER>
  • Alert recovery threshold: < <NUMBER>
  • Warning recovery threshold: < <NUMBER>

고급 옵션

Datadog는 선택한 메트릭을 자동으로 분석하고 몇 가지 매개변수를 설정해줘요. 하지만 Advanced Options에서 편집할 수 있는 옵션들이 존재해요.

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/advanced_options.a246e9580498e15d9247b001212857fd.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/advanced_options.a246e9580498e15d9247b001212857fd.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Advanced options" /%}

옵션 설명
Algorithm 예측 알고리즘(linear 또는 seasonal)
Model linear 알고리즘의 예측 모델(default, simple, 또는 reactive)
Seasonality seasonal 알고리즘의 예측 계절성(hourly, daily, 또는 weekly)
Daylight savings daily 또는 weekly 계절성을 가진 seasonal 예측 모니터에서 사용 가능.
Rollup rollup 간격 — 점들 사이의 간격이 클수록 노이즈가 예측에 미치는 영향을 피할 수 있어요.
Deviations 예측 값 범위의 폭 — 값 1 또는 2는 일반적으로 대부분의 "정상" 점에 충분히 큰 편이에요.
알고리즘

사용 가능한 예측 알고리즘은 linear와 seasonal이에요.

{% tab title="Linear" %} 꾸준한 추세가 있지만 반복되는 계절 패턴이 없는 메트릭에는 linear 알고리즘을 사용하세요. linear 알고리즘의 레벨 이동에 대한 민감도를 제어하는 세 가지 다른 모델이 있어요.

모델 설명
Default 가장 최근 추세에 적응하고 최근 노이즈에 강건하면서 데이터를 외삽해요.
Simple 전체 이력을 통해 강건한 선형 회귀를 수행해요.
Reactive 노이즈, 급증, 또는 급락에 과적합될 위험을 감수하면서 최근 동작을 더 잘 외삽해요.

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_default.e98ad813b9be79870377107eea67d992.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_default.e98ad813b9be79870377107eea67d992.png?auto=format&fit=max&w=850&dpr=2 2x" alt="linear default" /%}

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_simple.689d912a331c8bf667a84c225216e9e3.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_simple.689d912a331c8bf667a84c225216e9e3.png?auto=format&fit=max&w=850&dpr=2 2x" alt="linear simple" /%}

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_reactive.3b14e6bb2dc78af4468b3e4e55baed5f.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/linear_reactive.3b14e6bb2dc78af4468b3e4e55baed5f.png?auto=format&fit=max&w=850&dpr=2 2x" alt="linear reactive" /%}

{% /tab %}

{% tab title="Seasonal" %} 반복 패턴이 있는 메트릭에는 seasonal 알고리즘을 사용하세요. 세 가지 다른 계절성(seasonality) 선택지가 있어요.

옵션 설명
Hourly 알고리즘은 정시 이후 같은 분이 과거의 정시 이후 분처럼 동작할 것으로 예상해요. 예: 5:15는 4:15, 3:15 등처럼 동작.
Daily 알고리즘은 오늘 같은 시각이 과거의 날들처럼 동작할 것으로 예상해요. 예: 오늘 오후 5시는 어제 오후 5시처럼 동작.
Weekly 알고리즘은 주어진 요일이 과거의 그 요일처럼 동작할 것으로 예상해요. 예: 이번 화요일은 과거의 화요일들처럼 동작.

참고: 이 알고리즘은 최소 두 개의 계절 이력이 필요하며, 예측을 위해 최대 여섯 개의 계절을 사용해요.

{% image source="https://docs.dd-static.net/images/monitors/monitor_types/forecasts/seasonal.697544e9f5c8149240f1601d49fb2774.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/monitor_types/forecasts/seasonal.697544e9f5c8149240f1601d49fb2774.png?auto=format&fit=max&w=850&dpr=2 2x" alt="seasonal" /%}

{% /tab %}

고급 알림 조건

고급 알림 옵션(no data, evaluation delay 등)에 대한 자세한 지침은 Monitor configuration 페이지를 참고하세요. 메트릭 특정 옵션인 full data window에 대해서는 Metric monitor 페이지를 참고하세요.

알림

Configure notifications and automations 섹션에 대한 자세한 지침은 Notifications 페이지를 참고하세요.

API

프로그래매틱하게 forecast 모니터를 만들려면 Datadog API reference를 참고하세요. Datadog는 API용 쿼리를 만들 때 모니터의 JSON을 내보내는 것을 강력히 권장해요. Datadog에서 모니터 생성 페이지를 사용하면 미리 보기 그래프와 자동 매개변수 튜닝을 활용해 잘못 구성된 모니터를 피할 수 있어요.

Forecast 모니터는 다른 모니터와 동일한 API로 관리되지만, query 속성의 내용은 추가 설명이 필요해요.

요청 본문의 query 속성은 다음 형식의 쿼리 문자열을 포함해야 해요.

<aggregator>(<query_window>):forecast(<metric_query>, '<algorithm>', <deviations>, interval=<interval>[, history='<history>'][, model='<model>'][, seasonality='<seasonality>']) <comparator> <threshold>
  • aggregator: 예측이 임계값 아래로 갈 때 알림이 트리거되도록 하려면 min을 사용하고, 예측이 임계값 위로 갈 때 알림이 트리거되도록 하려면 max를 사용해요.
  • query_window: 시간 범위. 예: next_4h 또는 next_7d.
  • metric_query: 표준 Datadog 메트릭 쿼리. 예: min:system.disk.free{service:database,device:/data}by{host}.
  • algorithm: linear 또는 seasonal
  • deviations: 1보다 크거나 같은 숫자. 이 매개변수는 신뢰 구간의 크기를 제어하여 모니터를 더 또는 덜 민감하게 만들 수 있어요.
  • interval: rollup 간격의 초 수를 나타내는 양의 정수.
  • history: 예측을 만드는 데 사용할 과거 데이터의 양을 나타내는 문자열. 예: 1w, 3d. 이 매개변수는 linear 알고리즘에서만 사용돼요.
  • model: 사용할 모델 유형: default, simple, 또는 reactive. 이 매개변수는 linear 알고리즘에서만 사용돼요.
  • seasonality: 사용할 계절성: hourly, daily, 또는 weekly. 이 매개변수는 seasonal 알고리즘에서만 사용돼요.
  • comparator: 예측이 임계값 아래로 갈 때 알림을 보내려면 <=를 사용하고, 예측이 임계값 위로 갈 때 알림을 보내려면 >=를 사용해요.
  • threshold: 예측의 신뢰 구간이 이 임계값에 도달하면 치명적 알림(critical alert)이 트리거돼요.

문제 해결

다음 함수는 forecast() 함수 호출 내부에 중첩될 수 없어요: anomalies, cumsum, integral, outliers, piecewise_constant, robust_trend, 또는 trend_line

더 알아보기 (Learn more)

추가로 도움이 되는 문서, 링크, 아티클: