모니터 평가에서의 as_count()

개요

as_count()as_rate() 모디파이어를 사용하는 쿼리는 모니터 평가에서 다른 결과를 산출할 수 있는 방식으로 계산됩니다. 산술 및 하나 이상의 as_count() 모디파이어가 포함된 모니터는 별도의 평가 경로를 사용하는데 이는 산술 및 시간 집계가 수행되는 순서를 변경합니다.

오류율 예

requests.errorrequests.total 메트릭을 사용하여 5분 동안의 오류율을 모니터링한다고 가정해 봅시다. 5분 동안 다음과 같이 정렬된 시계열 지점을 사용하여 단일 평가를 수행하는 것을 고려합니다:

분자: sum:requests.error{*}

| Timestamp           | Value |
|:--------------------|:------|
| 2018-03-13 11:00:30 | 1     |
| 2018-03-13 11:01:30 | 2     |
| 2018-03-13 11:02:40 | 3     |
| 2018-03-13 11:03:30 | 4     |
| 2018-03-13 11:04:40 | 5     |

분모: sum:requests.total{*}

| Timestamp           | Value |
|:--------------------|:------|
| 2018-03-13 11:00:30 | 10    |
| 2018-03-13 11:01:30 | 10    |
| 2018-03-13 11:02:40 | 10    |
| 2018-03-13 11:03:30 | 10    |
| 2018-03-13 11:04:40 | 10    |

두 가지 계산 방법

이 쿼리를 **classic_eval_path**로 간주합니다:

sum(last_5m): sum:requests.error{*}.as_rate() / sum:requests.total{*}.as_rate()

그리고 이 쿼리를 **as_count_eval_path**로 간주합니다:

sum(last_5m): sum:requests.error{*}.as_count() / sum:requests.total{*}.as_count()

경로에 따라 평가 결과를 비교합니다:

경로Behavior확장식결과
classic_eval_path나누기 집계 함수 적용(1/10 + 2/10 + 3/10 + 4/10 + 5/10)1.5
as_count_eval_path나누기 집계 함수 적용(1+2+3+4+5) / (10+10+10+10+10)0.3

위의 두 평가 모두 수학적으로 정확합니다. 가장 적절한 방법을 선택하세요.

classic_eval_path 를 다음과 같이 시각화하는 것이 도움이 될 수 있습니다:

sum(last_5m):error/total

그리고 as_count_eval_path를 다음과 같이 시각화합니다:

sum(last_5m):error
-----------------
sum(last_5m):total

일반적으로 **.as_rate()**를 사용한 avg 시간 집계가 합리적이지만 오류율에 대해서는 .as_count() 를 사용한 sum 집계가 권장됩니다. sum 이외의 집계 방법은 **.as_count()**와 함께 사용할 수 없습니다.

궁금한 점이 있으시면 Datadog 지원팀에 문의하세요.