희소 메트릭 모니터링하기
희소 메트릭 모니터링하기 (Monitoring Sparse Metrics)
데이터를 자주 보고하지 않는 모니터는 예상치 못한 결과가 나올 수 있고, 쿼리가 의도한 대로 평가되지 않을 수 있어요. 모니터의 설정이 데이터와 예상 평가에 적합한지 확인하는 데 사용할 수 있는 도구와 동작이 있어요.
이 가이드는 희소(sparse) 데이터가 있는 모니터를 문제 해결하고 구성하는 다음 방법을 다뤄요:
- 희소 메트릭이 있는지 판단하기
- 모니터의 소스 고려하기 → 메트릭 기반 모니터, 이벤트 기반 모니터
- 모니터가 스케줄에 따라 실행되나요?
출처: 문서
본문
희소 메트릭이 있는지 판단하는 방법 (How to determine whether you have a sparse metric)
대시보드 위젯, 노트북, 또는 기존 모니터의 히스토리 그래프를 사용하고 데이터 포인트 위에 마우스를 올리면, 각 포인트 사이의 간격을 채우는 직선이 아니라 데이터 포인트가 연속적인지 확인할 수 있어요.
노트북이나 위젯에서 Bars 표시 옵션을 선택하면 데이터 포인트와 그 빈도를 볼 수 있어요.
위젯에 표시된 메트릭은 이렇게 보일 수 있어요:
{% image source="https://docs.dd-static.net/images/monitors/guide/sparse_metrics/line_graph_sparse.7defd507bcf7f5943028cebc58519e57.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/sparse_metrics/line_graph_sparse.7defd507bcf7f5943028cebc58519e57.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Metric graph with Line graph display going up and down in straight lines" /%}
하지만 Bars 스타일이 적용되면 이렇게 보여요:
{% image source="https://docs.dd-static.net/images/monitors/guide/sparse_metrics/bar_graph_sparse.a96c47e82d7f610d279e8a0d1f0723b9.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/sparse_metrics/bar_graph_sparse.a96c47e82d7f610d279e8a0d1f0723b9.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Same data as the Metric Line graph above, except with bars for each datapoint, highlighting gaps in between bars of sparse metrics" /%}
막대 그래프 표시를 사용하면 데이터 포인트 사이의 간격을 더 명확하게 시각화할 수 있어요.
그래프 편집기에 그래프 스타일을 바꿀 수 있는 옵션이 여러 개 없다면, 메트릭에 default_zero() 함수를 적용해 데이터의 간격을 드러낼 수 있어요. 이 함수에 대한 자세한 내용은 인터폴레이션(Interpolation) 문서를 참고해요.
메트릭 기반 모니터 (Metric-based monitor)
이것이 메트릭, 체인지, 이상, 예측(forecast), 또는 아웃라이어(outlier) 모니터인가요? 다음 설정을 조정해요:
- Advanced options 아래에서 Do not require a full window of data를 평가를 위해 선택해요.
- 데이터가 자주 지연되나요? 모니터 평가 지연에 시간(초)을 추가하는 것을 고려해요. Advanced options 아래의 Delay monitor evaluation by X seconds 필드에 값을 추가해요.
- 예상 빈도에 맞춰 평가(avg by, max by, min by, sum by)를 조정해요. 기본 평가는 avg by인데, 이는 희소 메트릭에 적합하지 않을 수 있어요.
- avg by 집계자를 사용한다면, 메트릭의 간격이 0으로 평가되도록
default_zero()같은 인터폴레이션 함수 추가를 고려해요. - 쿼리에서 산술 연산을 사용한다면, 추가 지침을 위해 모니터 산술 연산과 희소 메트릭을 살펴봐요.
이벤트 기반 모니터 (Event-based monitor)
이것이 로그, 이벤트, 감사 추적(audit trail), 또는 오류 추적(error tracking) 모니터인가요? 다음을 살펴봐요:
- "Missing data" 설정이 예상 모니터 동작(Evaluate as zero, Show NO DATA, Show NO DATA and notify, 또는 Show OK)과 일치하는지 확인해요. {% image source="https://docs.dd-static.net/images/monitors/guide/sparse_metrics/data_is_missing.0cd29b76e0d676c37226ca809c00fd4f.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/sparse_metrics/data_is_missing.0cd29b76e0d676c37226ca809c00fd4f.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Selection options for missing data in the 'Set alert conditions' section of monitor configurations" /%}
- 평가 기간을 조정해요. 데이터 포인트가 30분마다 제공될 것으로 예상된다면 평가 기간도 이를 반영해야 해요.
스케줄 기반 모니터링 (Schedule-based monitoring)
하루, 일주일, 또는 한 달 중 특정 시간에 발생해야 하는 이벤트를 모니터링하고 있나요? 백업 작업이나 익스포트 같은 CRON 작업인가요? Custom Schedules을 사용하는 것을 고려해보세요. 모니터가 언제 평가하고 알릴지 정의하는 RRULES를 설정할 수 있어요.
문제 해결 (Troubleshooting)
희소 데이터 모니터링에 대해 궁금한 점이 있다면 Datadog 지원 팀에 문의해요.