Error Tracking 모니터(Error Tracking Monitors)
Error Tracking 모니터에 대해 알아보고 새롭거나 영향력 있는 이슈를 알림 받아요.
출처: 문서
본문
개요
Datadog Error Tracking은 웹, 모바일, 백엔드 애플리케이션 전반의 모든 오류를 자동으로 이슈로 그룹화해요. 이슈로 그룹화된 오류를 보면 가장 영향력 있는 문제를 우선순위를 정하고 찾는 데 도움이 되어 서비스 다운타임을 최소화하고 사용자 불만을 줄이기 쉬워져요.
조직에 Error Tracking이 활성화되면 웹 또는 모바일 애플리케이션, 백엔드 서비스 또는 로그의 이슈가 새롭거나, 높은 영향을 주거나, 회귀하기 시작할 때 알림을 주는 Error Tracking 모니터를 만들 수 있어요.
Error Tracking 모니터 만들기
Datadog에서 Error Tracking 모니터를 만들려면 Monitors > New Monitor > Error Tracking으로 이동하세요.
계정당 Error Tracking 모니터의 기본 한도는 1000개예요. 이 한도를 늘리려면 지원팀에 문의하세요.
알림 조건 선택
Error Tracking 모니터로 구성할 수 있는 알림 조건은 두 가지 유형이 있어요.
| 알림 조건 | 설명 |
|---|---|
| New Issue | 이슈가 처음 발생하거나 회귀가 발생할 때 알림. 예를 들어 새 오류에 2명 이상의 사용자가 영향을 받을 때마다 서비스에 대해 알림. |
| High Impact | 많은 수의 영향을 받은 최종 사용자가 있는 이슈에 대해 알림. 예를 들어 이 오류에 500명 이상의 사용자가 영향을 받을 때마다 서비스에 대해 알림. |
알림 조건 정의
New Issue
알림할 이슈
New Issue 모니터는 For Review 상태이고 알림 조건을 충족하는 이슈에 대해 알림해요. 회귀는 자동으로 For Review 상태로 전환되므로 기본적으로 New Issue 모니터로 모니터링돼요. 상태에 대한 자세한 내용은 이슈 상태를 참고하세요.
All, Browser, Mobile 또는 Backend 이슈를 선택하고 이슈의 오류 발생에 대해 Error Tracking 탐색기 검색과 같은 논리로 검색 쿼리를 구성하세요.
New Issue 모니터는 모니터가 생성되거나 마지막으로 편집된 후 생성되거나 회귀된 이슈만 고려해요. 이 모니터는 24시간 소급 기간을 가져요.
알림 임계값 정의
다음 옵션 중 하나를 선택하세요.
전체 새 이슈에 알림
새 이슈가 감지되면(지난 하루 동안 오류 수가 0보다 큼) 모니터가 트리거돼요.
알림 메트릭 정의
-
모니터링할 메트릭을 선택하세요. 가장 자주 사용되는 페이셋에 접근하는 제안된 필터 옵션이 세 가지 있어요.
- 오류 발생 수(Error Occurrences): 오류 수가
above일 때 트리거. - 영향을 받은 사용자(Impacted Users): 영향을 받은 사용자 이메일 수가
above일 때 트리거. - 영향을 받은 세션(Impacted Sessions): 영향을 받은 세션 ID 수가
above일 때 트리거.
- 오류 발생 수(Error Occurrences): 오류 수가
All 또는 Backend 이슈를 선택하면 Error Occurrences 옵션만 사용할 수 있어요.
모니터링에 사용할 커스텀 측정값을 지정할 수도 있어요. 커스텀 측정값을 선택하면 페이셋의 고유 값 수가 above일 때 모니터가 알림해요.
-
쿼리와 일치하는 각 이슈에 대한 알림을 받고, 결과를 필요한 다른 속성으로 그룹화하세요(예: 쿼리와 일치하는 각 이슈와 각 환경에 대한 알림).
-
각 평가에서 지난 하루(기본) 또는 다른 시간 창의 데이터를 쿼리하세요.
-
모니터가 트리거할 임계값을 선택하세요(기본 0-첫 발생 시 트리거).
프로그래밍 방식 관리
Terraform 또는 공개 API를 사용하는 커스텀 스크립트로 모니터를 관리한다면 모니터 쿼리에 일부 절을 지정해야 해요.
- All, Browser, Mobile, Backend 이슈 사이에서 대상으로 삼을 소스를 추가하세요. 필터 바로 뒤에
"all","browser","mobile"또는"backend"와 함께.source()절을 사용하세요. 참고: 한 번에 하나만 사용할 수 있어요. - 새 이슈 모니터에는
.new()절을 사용해야 해요.
예제:
error-tracking("{filter}").source("backend").new().rollup("count").by("issue.id").last("1d") > 0
High Impact
알림할 이슈
High Impact 모니터는 For Review 또는 Reviewed이고 알림 조건을 충족하는 이슈에 대해 알림해요. 이슈 상태에 대해 자세히 읽어 보세요.
All, Browser, Mobile 또는 Backend 이슈를 선택하고 이슈의 오류 발생에 대해 Error Tracking 탐색기 검색과 같은 논리로 검색 쿼리를 구성하세요.
알림 임계값 정의
-
모니터링할 메트릭을 선택하세요. 가장 자주 사용되는 페이셋에 접근하는 제안된 필터 옵션이 세 가지 있어요.
- 오류 발생 수(Error Occurrences): 오류 수가
above일 때 트리거. - 영향을 받은 사용자(Impacted Users): 영향을 받은 사용자 이메일 수가
above일 때 트리거. - 영향을 받은 세션(Impacted Sessions): 영향을 받은 세션 ID 수가
above일 때 트리거.
- 오류 발생 수(Error Occurrences): 오류 수가
All 또는 Backend 이슈를 선택하면 Error Occurrences 옵션만 사용할 수 있어요.
모니터링에 사용할 커스텀 측정값을 지정할 수도 있어요. 커스텀 측정값을 선택하면 페이셋의 고유 값 수가 above일 때 모니터가 알림해요.
-
쿼리와 일치하는 각 이슈에 대한 알림을 받고, 결과를 필요한 다른 속성으로 그룹화하세요(예: 쿼리와 일치하는 각 이슈와 각 환경에 대한 알림).
-
각 평가에서 지난 하루(기본) 또는 다른 시간 창의 데이터를 쿼리하세요.
-
모니터가 트리거할 임계값을 선택하세요(기본 0-첫 발생 시 트리거).
프로그래밍 방식 관리
Terraform 또는 공개 API를 사용하는 커스텀 스크립트로 모니터를 관리한다면 모니터 쿼리에 일부 절을 지정해야 해요.
- All, Browser, Mobile, Backend 이슈 사이에서 대상으로 삼을 소스를 추가하세요. 필터 바로 뒤에
"all","browser","mobile"또는"backend"와 함께.source()절을 사용하세요. 참고: 한 번에 하나만 사용할 수 있어요. - High Impact 모니터에는
.impact()절을 사용해야 해요.
예제:
error-tracking("{filter}").source("browser").impact().rollup("count").by("issue.id").last("1d") > 0
알림
알림 제목에 트리거링 태그를 표시하려면 Include triggering tags in notification title을 클릭하세요.
일치 속성 변수 외에도 다음 Error Tracking 전용 변수를 알림 메시지에 사용할 수 있어요.
{{issue.attributes.error.type}}{{issue.attributes.error.message}}{{issue.attributes.error.stack}}{{issue.attributes.error.file}}{{issue.attributes.error.is_crash}}{{issue.attributes.error.category}}{{issue.attributes.error.handling}}
Configure notifications and automations 섹션에 대한 자세한 내용은 알림을 참고하세요.
이슈별 알림을 받으려면 다중 알림(multi alert)을 선택하세요. 이것이 Error Tracking 모니터의 의도된 경험이에요.
모니터 음소거
Error Tracking 모니터는 이슈 상태를 사용해 알림이 높은 우선순위 문제에 집중하고, 중요하지 않은 이슈의 방해를 줄이도록 해요.
Ignored 이슈는 추가 조사나 조치가 필요 없는 오류예요. 이슈를 Ignored로 표시하면 이 이슈는 모니터 알림에서 자동으로 음소거돼요.
트러블슈팅
New Issue 모니터가 이슈 연령을 고려하지 않음
issue.age와 issue.regression.age는 놓친 알림을 유발할 수 있으므로 기본으로 추가되지 않아요. 예를 들어 이슈가 env:staging에서 처음 나타나고 일주일 후 env:prod에서 처음 나타나면, 이슈는 일주일 된 것으로 간주되어 env:prod에서 처음으로 알림을 트리거하지 않아요.
결과적으로 Datadog는 issue.age와 issue.regression.age 사용을 권장하지 않아요. 다만 상태 기반 모니터 동작이 적합하지 않다면 이 필터를 수동으로 지정해 여전히 사용할 수 있어요.
참고: 모니터에서 issue.age와 issue.regression.age를 사용할 계획이라면 이 필터 키는 제품 간에 일관되지 않아요. 예를 들어 @issue.age 또는 issue.age일 수 있어요.
New Issue 모니터가 너무 많은 노이즈를 생성함
New Issue 모니터는 알림 기준을 충족하는 For Review로 표시된 이슈에 대해 알림을 트리거해요. 이슈가 제대로 트라이지되지 않으면(Reviewed, Ignored 또는 Resolved로 표시), 이슈가 OK와 ALERT 상태 사이에서 변동하면 New Issue 모니터가 같은 이슈에 대해 두 번 이상 트리거될 수 있어요.
모니터가 너무 많은 노이즈를 생성한다면 다음 조정을 고려하세요.
- 알림 트라이지: 적절할 때 이슈를 Reviewed, Ignored 또는 Resolved로 설정하세요.
- 평가 시간 창 확장: 기본 평가 창은 1일이에요. 오류가 자주 발생하지 않으면(예: 격일로) 모니터가 OK와 ALERT 상태 사이를 전환할 수 있어요. 창을 확장하면 재트리거를 방지하고 모니터를 ALERT 상태로 유지하는 데 도움이 돼요.
- 알림 임계값 증가: 기본 임계값은
0으로 설정되어 있어 새 이슈의 첫 발생에 알림이 울려요. 일회성 또는 산발적 오류의 노이즈를 줄이려면 오류가 여러 번 발생한 후에만 알림이 울리도록 임계값을 높이세요.
더 알아보기 (Learn more)
추가로 도움이 되는 문서, 링크, 아티클: