- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
산술을 사용한 쿼리를 기반으로 알림을 생성하는 것이 일반적입니다. 모니터의 세팅이 쿼리를 평가하는데 적절한지 확인하기 위한 몇 가지 도구와 동작이 있습니다.
분모가 희소 또는 0 메트릭의 경우 일부 결과가 거부될 수 있습니다.
다음 메트릭 값을 고려하세요:
A = (10, 10, 10)
B = (0, 1, -)
공식 a/b
에 대해 모니터는 다음과 같이 평가합니다:
10/0 + 10/1 + 10/NaN = 10
평가 창이 “null” 버킷 (10/NaN + 10/Nan + … + 10/Nan)을 많이 포함하고 있는 경우 평가가 이루어지지 않습니다. 이를 해결하기 위해 메트릭을 조정하거나 아래 방법 중 하나를 사용하시기 바랍니다.
.fill()
모든 타임 버킷이 유효값을 가지고 있는지 확인하려면 .fill()
기능을 적용합니다. 게이지 메트릭 유형의 기본 보간은 선형 또는 5분 동안의 .fill(linear)
입니다. *카운트 및 레이트 유형 메트릭 유형의 기본값은 보간을 사용하지 않는 .fill(null)
입니다. Datadog은 일반적으로 모니터의 카운트/레이트 메트릭에 보간을 사용하지 않도록 권장합니다.
원본:sum:my_metric.has_gaps.gauge{env:a} by {timer,env}
| Timestamp | timer:norm,env:a | timer:offset,env:a |
|:--------------------|:-----------------|:-------------------|
| 2019-03-29 12:00:00 | 1 | |
| 2019-03-29 12:05:00 | | 1 |
| 2019-03-29 12:10:00 | 0 | |
| 2019-03-29 12:15:00 | | 1 |
| 2019-03-29 12:20:00 | 1 | |
| 2019-03-29 12:25:00 | | 1 |
| 2019-03-29 12:30:00 | 1 | |
my_metric.has_gaps.gauge
는 게이지 메트릭 유형이므로 5분 동안 기본 선형 보간이 있습니다. 그러나 메트릭이 10분마다 보고를 한다고 가정할 때 이 쿼리를 사용해 보세요:
sum(last_30m):sum:my_metric.has_gaps.gauge{timer:norm,env:a} / sum:my_metric.has_gaps.gauge{timer:offset,env:a}
대체로 “건너뜀"이라는 평가를 보게 될 것입니다.
경로 | 평가 | 결과 |
---|---|---|
classic_eval_path | 1/Nan + Nan/1 + … + 1/Nan + Nan/1 | N/A |
보간을 조정하여 모든 시간 간격에 메트릭이 있는지 확인할 수 있습니다.
수정됨: sum:my_metric.has_gaps.gauge{env:a} by {timer,env}.fill(last,900)
| Timestamp | timer:norm,env:a | timer:offset,env:a |
|:--------------------|:-----------------|:-------------------|
| 2019-03-29 12:00:00 | 1 | (1) |
| 2019-03-29 12:05:00 | 1 | 1 |
| 2019-03-29 12:10:00 | 0 | 1 |
| 2019-03-29 12:15:00 | 0 | 1 |
| 2019-03-29 12:20:00 | 1 | 1 |
| 2019-03-29 12:25:00 | 1 | 1 |
| 2019-03-29 12:30:00 | 1 | 1 |
수정된 쿼리:
sum(last_30m):sum:my_metric.has_gaps.gauge{timer:norm,env:a}.fill(last,900) / sum:my_metric.has_gaps.gauge{timer:offset,env:a}.fill(last,900)
.fill(last,900)
를 사용한 새로운 결과:
경로 | 평가 | 결과 |
---|---|---|
classic_eval_path | (1)/1 + 1/1 + 0/1 + 0/1 + 1/1 + 1/1 + 1/1 | 5 |
짧은 평가 창에 분할이 있는 모니터에서 타이밍 문제가 발생할 수 있습니다. 모니터 쿼리가 1분의 평가 창에 분할을 요구하는 경우 분자와 분모는 몇 초 정도의 시간 버킷을 나타냅니다. 쿼리 시간에 분자 및 분모에 대한 메트릭을 모두 사용할 수 없는 경우 원치 않는 평가 값을 얻을 수 있습니다.
| Timestamp | sum:my_num{*} | sum:my_denom{*} |
| :-------------------- | :------------------ | :------------------ |
| ... | ... | ... |
| 2019-03-29 13:30:50 | 900 | 1000 |
| 2019-03-29 13:30:52 | 900 | 1000 |
| 2019-03-29 13:30:54 | 900 | 1000 |
| 2019-03-29 13:30:56 | 120 (inc) | 850 (inc) |
min(last_1m):sum:my_num{*}/sum:my_denom{*}
와 같은 쿼리는 최소값이 왜곡되어 의도치 않게 모니터를 트리거 할 수 있습니다.
따라서 짧은 평가 창에 대한 분할이 있는 쿼리에 30-60초의 짧은 평가 지연을 추가하는 것을 고려해 볼 수 있습니다. 또는 5분 평가 창으로 변경하는 것이 도움이 될 수 있습니다.
이 부분과 관련하여 궁금한 점이 있으시면 Datadog 고객 지원팀에 문의해 주세요.