본문 바로가기
WIKI 기술 지식 베이스

Error Tracking 모니터 (Error Tracking Monitors)

원문 보기 위키 갱신

Error Tracking 모니터에 대해 알아봐요. 웹, 모바일, 백엔드 애플리케이션의 이슈가 새로 생기거나, 영향이 크거나, 회귀하기 시작할 때 알림을 받을 수 있게 해 줘요.

출처: 문서

본문

개요 (Overview)

Datadog Error Tracking은 웹, 모바일, 백엔드 애플리케이션 전반의 모든 오류를 자동으로 이슈로 그룹화해요. 이슈로 그룹화된 오류를 보면 가장 영향력이 큰 문제를 우선순위화하고 찾는 데 도움이 되어, 서비스 다운타임을 최소화하고 사용자 불만을 줄이기 쉬워져요.

조직에 Error Tracking을 활성화하면 Error Tracking 모니터를 만들어 웹·모바일 애플리케이션이나 백엔드 서비스, 로그의 이슈가 새로 나타나거나 영향이 크거나 회귀하기 시작할 때 알림을 받을 수 있어요.

Error Tracking 모니터 만들기 (Create an Error Tracking monitor)

Datadog에서 Error Tracking 모니터를 만들려면 Monitors > New Monitor > Error Tracking으로 이동해요.

{% alert level="info" %} 계정당 Error Tracking 모니터의 기본 제한은 1000개예요. 이 제한을 늘리려면 지원팀에 문의하세요. {% /alert %}

알림 조건 선택하기 (Select the alerting condition)

Error Tracking 모니터로 구성할 수 있는 알림 조건에는 두 가지 유형이 있어요:

알림 조건 (Alerting condition) 설명 (Description)
새 이슈 (New Issue) 이슈가 처음 발생하거나 회귀가 발생할 때 알림을 보내요. 예를 들어 새 오류로 영향받는 사용자가 2명 이상일 때 서비스에 대해 알림을 보낼 수 있어요.
높은 영향 (High Impact) 영향받는 최종 사용자가 많은 이슈에 대해 알림을 보내요. 예를 들어 이 오류로 영향받는 사용자가 500명 이상일 때 서비스에 대해 알림을 보낼 수 있어요.

알림 조건 정의하기 (Define alert conditions)

{% tab title="New Issue" %}

알림 대상 이슈 (Issues to alert on)

새 이슈 모니터는 검토 대상(For Review) 상태에 있고 알림 조건을 충족하는 이슈에 대해 알림을 보내요. 회귀는 자동으로 검토 대상 상태로 전환되므로, 새 이슈 모니터에서 기본적으로 모니터링돼요. 상태에 대한 자세한 내용은 Issue States를 참고하세요.

All, Browser, Mobile 또는 Backend 이슈를 선택하고 이슈의 오류 발생에 대해 Error Tracking Explorer 검색과 동일한 논리로 검색 쿼리를 구성해요.

{% alert level="info" %} 새 이슈 모니터는 모니터가 생성되거나 마지막으로 편집된 후 생성되거나 회귀된 이슈만 고려해요. 이 모니터는 24시간 소급 기간을 가지며 그 기간만 조회해요. {% /alert %}

알림 임계값 정의하기 (Define alert threshold)

다음 옵션 중 하나를 선택해요:

{% collapsible-section %} 모든 새 이슈에 대해 알림 새 이슈가 감지되면(지난 하루 동안 오류 수가 0보다 크면) 모니터가 트리거돼요. {% /collapsible-section %}

{% collapsible-section %} 알림 메트릭 정의

  1. 모니터링할 메트릭을 선택해요. 가장 자주 사용되는 패싯에 접근하기 위한 추천 필터 옵션이 세 가지 있어요:

    • Error Occurrences: 오류 수가 above일 때 트리거돼요.
    • Impacted Users: 영향받는 사용자 이메일 수가 above일 때 트리거돼요.
    • Impacted Sessions: 영향받는 세션 ID 수가 above일 때 트리거돼요.

All 또는 Backend 이슈를 선택하면 Error Occurrences 옵션만 사용할 수 있어요.

모니터링에 사용할 커스텀 측정값(measure)을 지정할 수도 있어요. 커스텀 측정값을 선택하면 패싯의 고유 값 수가 above일 때 모니터가 알림을 보내요.

  1. 쿼리와 일치하는 각 이슈에 대해 알림을 내보내고, 필요한 다른 속성으로 결과를 그룹화해요(예: 쿼리와 일치하는 각 이슈, 그리고 각 환경에 대해 알림).

  2. 각 평가에서 지난 하루(기본값) 또는 다른 시간 창의 데이터를 쿼리해요.

  3. 모니터가 트리거될 임계값을 선택해요(기본 0 - 첫 발생 시 트리거).

{% /collapsible-section %}

프로그래매틱 관리 (Programmatic management)

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

{% /tab %}

{% tab title="High Impact" %}

알림 대상 이슈 (Issues to alert on)

높은 영향 모니터는 검토 대상(For Review) 또는 검토됨(Reviewed) 상태이고 알림 조건을 충족하는 이슈에 대해 알림을 보내요. Issue States에 대해 자세히 알아보세요.

All, Browser, Mobile 또는 Backend 이슈를 선택하고 이슈의 오류 발생에 대해 Error Tracking Explorer 검색과 동일한 논리로 검색 쿼리를 구성해요.

알림 임계값 정의하기 (Define alert threshold)

  1. 모니터링할 메트릭을 선택해요. 가장 자주 사용되는 패싯에 접근하기 위한 추천 필터 옵션이 세 가지 있어요:

    • Error Occurrences: 오류 수가 above일 때 트리거돼요.
    • Impacted Users: 영향받는 사용자 이메일 수가 above일 때 트리거돼요.
    • Impacted Sessions: 영향받는 세션 ID 수가 above일 때 트리거돼요.

All 또는 Backend 이슈를 선택하면 Error Occurrences 옵션만 사용할 수 있어요.

모니터링에 사용할 커스텀 측정값을 지정할 수도 있어요. 커스텀 측정값을 선택하면 패싯의 고유 값 수가 above일 때 모니터가 알림을 보내요.

  1. 쿼리와 일치하는 각 이슈에 대해 알림을 내보내고, 필요한 다른 속성으로 결과를 그룹화해요(예: 쿼리와 일치하는 각 이슈, 그리고 각 환경에 대해).

  2. 각 평가에서 지난 하루(기본값) 또는 다른 시간 창의 데이터를 쿼리해요.

  3. 모니터가 트리거될 임계값을 선택해요(기본 0 - 첫 발생 시 트리거).

프로그래매틱 관리 (Programmatic management)

Terraform이나 공개 API를 사용하는 커스텀 스크립트로 모니터를 관리한다면 모니터 쿼리에 일부 절을 지정해야 해요:

  • All, Browser, Mobile, Backend 이슈 중 대상으로 할 소스를 추가해요. 필터 바로 뒤에 "all", "browser", "mobile" 또는 "backend"를 사용하는 .source() 절을 사용해요. 참고: 한 번에 하나만 사용할 수 있어요.
  • 높은 영향 모니터에는 .impact() 절을 사용해야 해요.

예시:

error-tracking("{filter}").source("browser").impact().rollup("count").by("issue.id").last("1d") > 0

{% /tab %}

알림 (Notifications)

알림 제목에 트리거 태그를 표시하려면 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 섹션에 대한 자세한 내용은 알림 (Notifications)을 참고하세요.

이슈마다 알림을 받으려면 multi alert를 선택해요. 이는 Error Tracking 모니터의 의도된 경험 방식이에요.

모니터 음소거하기 (Muting monitors)

Error Tracking 모니터는 Issue States를 사용해 알림이 우선순위가 높은 문제에 집중되도록 하여 중요하지 않은 이슈로 인한 산만함을 줄여요.

무시(Ignored)된 이슈는 추가 조사나 조치가 필요 없는 오류예요. 이슈를 무시로 표시하면 이 이슈는 모니터 알림에서 자동으로 음소거돼요.

문제 해결 (Troubleshooting)

새 이슈 모니터는 이슈 연령을 고려하지 않아요 (New Issue monitors do not take into account issue age)

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 monitors are generating too much noise)

새 이슈 모니터는 알림 기준을 충족하는 검토 대상(For Review)으로 표시된 이슈에 대해 알림을 트리거해요. 이슈가 제대로 트리아지되지 않으면(Reviewed, Ignored, Resolved로 표시되지 않으면), 이슈가 OK와 ALERT 상태 사이를 오갈 때 새 이슈 모니터가 같은 이슈에 대해 두 번 이상 트리거할 수 있어요.

모니터가 노이즈를 너무 많이 생성한다면 다음 조정을 고려해 보세요:

  • 알림 트리아지: 적절할 때 이슈를 Reviewed, Ignored 또는 Resolved로 설정하세요
  • 평가 시간 창 확장: 기본 평가 창은 1일이에요. 오류가 드물게 발생하면(예: 격일로) 모니터가 OK와 ALERT 상태 사이를 오갈 수 있어요. 창을 확장하면 재트리거를 방지하고 모니터를 ALERT 상태로 유지하는 데 도움이 돼요.
  • 알림 임계값 증가: 기본 임계값은 0으로, 새 이슈의 첫 발생 시 알림이 울려요. 일회성 또는 산발적 오류의 노이즈를 줄이려면 오류가 여러 번 발생한 후에만 알림이 울리도록 임계값을 높이세요

더 알아보기 (Learn more)

도움이 되는 추가 문서, 링크, 아티클이에요: