- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
",t};e.buildCustomizationMenuUi=t;function n(e){let t='
",t}function s(e){let n=e.filter.currentValue||e.filter.defaultValue,t='${e.filter.label}
`,e.filter.options.forEach(s=>{let o=s.id===n;t+=``}),t+="${e.filter.label}
`,t+=`일반 메트릭 모니터링은 단일 메트릭이 특정 임계값 수치를 초과하면 알림을 트리거합니다. 예를 들어, 디스크 사용량이 80%를 초과하면 알림을 트리거하도록 설정할 수 있습니다. 이러한 접근 방식은 대부분의 사례에서 효율적이지만 임계값이 절대적 수치가 아닌 번수인 경우에는 어떻게 될까요?
Watchdog 기반 모니터링(예: 이상 항목 및 이상값은 메트릭이 정상 범위를 벗어났다는 명시적 정의가 없는 경우 특히 유용합니다. 그러나 가능하면 특정 사용 사례에 맞게 알림 조건을 맞춤 설정한 일반 모니터를 사용해 정밀도를 최대화하고 알림 시간을 최소화하는 것이 좋습니다.
본 지침에서는 비고정 임계값 알림에 대한 일반 사용 사례를 다룹니다.
내가 이커머스 웹사이트를 담당하는 팀 리더이고, 다음 작업을 하려고 한다고 합시다.
웹사이트의 트래픽은 밤과 낮, 주중과 주말에 따라 달라집니다. ‘예기치 않게 낮음’이 무엇을 뜻하는지 정량화할 수 있는 절대적인 수치는 없습니다. 그러나 트래픽은 예측 가능한 패턴을 따르기 때문에, 10%의 차이는 공공 인터넷 제공업체에 영향을 미치는 로컬 인시던트와 같은 문제를 나타내는 신뢰할 수 있는 지표로 간주할 수 있습니다.
우리 팀은 nginx.requests.total_count
메트릭으로 NGINX 웹 서버의 연결 수를 측정한다고 하겠습니다.
요청은 다음 세 부분으로 구성됩니다.
그런 다음 시간 집계를 결정합니다.
average
(또는 sum
)이 적절합니다.하단의 스크린샷에 표시된 임계값은 첫 번째 쿼리(현재)와 두 번째 쿼리(일주일 전)의 값 사이에 10%의 차이를 허용하도록 0.9로 설정되어 있습니다.
{
"name": "[Seasonal threshold] Amount of connection",
"type": "query alert",
"query": "sum(last_10m):sum:nginx.requests.total_count{env:prod} by {datacenter} / week_before(sum:nginx.requests.total_count{env:prod} by {datacenter}) <= 0.9",
"message": "The amount of connection is lower than yesterday by {{value}} !",
"tags": [],
"options": {
"thresholds": {
"critical": 0.9
},
"notify_audit": false,
"require_full_window": false,
"notify_no_data": false,
"renotify_interval": 0,
"include_tags": true,
"new_group_delay": 60,
"silenced": {}
},
"priority": null,
"restricted_roles": null
}
내가 이커머스 웹사이트의 결제 프로세스를 담당하는 QA 팀 리더라고 합시다. 고객이 좋은 경험을 하고 제품을 문제 없이 구매할 수 있게 하고 싶습니다. 이를 나타내는 한 가지 지표가 바로 오류율입니다.
트래픽의 양은 하루에도 동일하지 않습니다. 예를 들어, 금요일 저녁의 분당 50건 오류보다 일요일 아침의 분당 50건 오류가 더 심각한 문제입니다. 오류 자체보다는 오류율을 모니터링하여 정상 및 비정상 메트릭이 어떻게 나타나는지 신뢰할 수 있는 시각 정보를 얻을 수 있습니다.
오류율이 높을 때뿐만 아니라 방문 수가 매우 높을 때도 알림을 받습니다.
총 3개의 모니터링을 생성합니다.
첫 번째 모니터는 성공 및 실패를 포함한 총 방문수를 추적합니다. 해당 모니터는 오류율에 따라 알림을 트리거할지 여부를 결정합니다.
{
"name": "Number of hits",
"type": "query alert",
"query": "sum(last_5m):sum:shopist.checkouts.failed{env:prod} by {region}.as_count() + sum:shopist.checkouts.success{env:prod} by {region}.as_count() > 4000",
"message": "There has been more than 4000 hits for this region !",
"tags": [],
"options": {
"thresholds": {
"critical": 1000
},
"notify_audit": false,
"require_full_window": false,
"notify_no_data": false,
"renotify_interval": 0,
"include_tags": true,
"new_group_delay": 60
}
}
두 번째 모니터는 오류율을 계산합니다. 오류의 수를 총 방문수로 나눈 쿼리를 생성하여 오류율 a / a+b
를 구합니다.
{
"name": "Error Rate",
"type": "query alert",
"query": "sum(last_5m):sum:shopist.checkouts.failed{env:prod} by {region}.as_count() / (sum:shopist.checkouts.failed{env:prod} by {region}.as_count() + sum:shopist.checkouts.success{env:prod} by {region}.as_count()) > 0.5",
"message": "The error rate is currently {{value}} ! Be careful !",
"tags": [],
"options": {
"thresholds": {
"critical": 0.5
},
"notify_audit": false,
"require_full_window": false,
"notify_no_data": false,
"renotify_interval": 0,
"include_tags": true,
"new_group_delay": 60
}
}
마지막 모니터는 복함 모니터입니다. 앞의 두 모니터 모두 경고 상태인 경우에만 알림을 전송합니다.
추가 유용한 문서, 링크 및 기사: