모니터 평가에서의 as_count()

개요

as_count(), as_rate() 수정자를 사용하는 쿼리는 모니터링 평가에서 다양한 결과를 산출할 수 있는 방식으로 계산됩니다. 산술 프로세스와 하나 이상의 as_count() 수정자가 포함된 모니터링은 산술 프로세스 및 시간 집계가 수행되는 순서를 변경하는 별도의 평가 경로를 활용합니다.

오류율 예시

메트릭, requests.error, requests.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    |

계산하는 2가지 방법

쿼리를 **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()

다음과 같이 경로에 따른 평가 결과를 비교합니다.

경로동작확장 표현식결과
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

대개 avg 시간 집계를 **.as_rate()**와 함께 사용하는 것이 합리적이지만, 오류율을 위해 **.as_count()**와 함께 sum 집계를 사용할 것을 권장합니다. sum 외의 집계 방법을 **.as_count()**와 같이 사용하는 것은 타당하지 않으며 이를 같이 사용할 수도 없습니다.

궁금한 점이 있으시다면 Datadog 지원 팀으로 문의해 주세요.