SQL을 사용한 SLI, SLO 및 오류 예산 모니터링
서비스 수준 지표(SLI)는 사용자 경험의 결과를 측정합니다. 서비스 수준 목표(SLO)는 정의된 기간 동안 해당 지표에 대한 목표를 설정합니다. 오류 예산은 목표에 의해 암시되는 허용된 실패의 양입니다.
API 요청, 체크아웃, 작업 또는 웹훅 전달과 같은 제한된 애플리케이션 결과로 시작하세요. 인프라 가용성은 유용한 컨텍스트이지만 건강한 호스트가 고객 워크플로의 성공을 증명하지는 않습니다.
이벤트 계약 정의
요청 기반 가용성 SLI의 경우 다음을 사용하여 하나의 터미널 이벤트를 내보냅니다.
event_id;timestamp_utc;service및route_template;status및status_code;latency_ms;environment및release;- 제어된
error_type; - 충격 분석을 위한 옵션 안전
account_id.
서류 적격성. 상태 확인, 합성 트래픽, 취소된 요청 및 예상되는 클라이언트 오류는 분모에 속할 수도 있고 속하지 않을 수도 있습니다. 결정은 쿼리, 대시보드 및 알림 전반에서 일관되어야 합니다.
가용성 준수 계산
SLO 가용성 SQL 레시피는 적격 요청, 양호한 요청, 잘못된 요청 및 규정 준수 비율을 구분합니다. 완전한 관찰 창 및 검토된 양호한 이벤트 정의와 함께 사용하십시오.
99.9% 목표의 경우 허용되는 불량 비율은 0.001입니다. 요청에서 측정되는 오류 예산은 다음과 같습니다.
eligible_requests * (1 - objective)
백분율 옆에 숫자를 유지하세요. 두 요청의 실패율이 50%이고 요청 백만 건의 실패율이 2%이면 다른 해석이 필요합니다.
연소율 모니터링
연소율은 관찰된 불량 이벤트 비율과 허용된 불량 비율을 비교합니다. 1의 소진율은 정확히 계획된 비율로 예산을 소비합니다. 1 이상의 연소율은 너무 빨리 소모됩니다.
오류 예산 소진 레시피는 시간 버킷에 따른 값을 계산합니다. 빠른 인시던트를 감지하는 짧은 창과 시끄러운 버킷 하나가 팀을 호출하는 것을 방지하는 긴 창을 결합합니다.
쿼리가 부분 데이터를 명시적으로 설명하지 않는 한 최신 불완전 시간 버킷에 대해 알림하지 마세요. 트리거하기 전에 최소 적격 볼륨과 지속적인 평가 포인트가 필요합니다.
지연 시간 및 워크플로 SLI 추가
가용성은 사용자에게 표시되는 하나의 속성일 뿐입니다. 허용할 수 없는 지연 후에 요청이 성공할 수 있습니다. 지연 시간 SLI를 검토된 임계값 미만의 적격 요청 비율로 정의하거나 API 지연 시간 백분위수 레시피를 사용하여 p95 및 p99를 검사합니다.
백그라운드 작업 및 웹후크의 경우 개별 시도보다는 최종 비즈니스 결과를 중심으로 성공을 정의하세요. 복구된 재시도는 터미널 오류로 계산되지 않고 대기 시간 예산을 소모할 수 있습니다. SLI 분모를 확장하지 않고도 시도 수준 진단을 계속 사용할 수 있습니다.
대시보드 및 알림 경로 구축
다음 뷰를 함께 배치하세요.
- 적격한 요청량 및 데이터 최신성.
- 전체 롤링 기간에 대한 SLO 준수.
- 단기 및 장기 연소율.
- 경로, 릴리스, 오류 유형별 실패 분석입니다.
- 고객 영향 조사를 위한 최근 이벤트 테이블입니다.
소유자, 목표, 분모, 제외 항목 및 대응 조치를 지정하는 운영 메모를 추가합니다. 평가 행동은 경보 가이드를, 조사 흐름은 사고 대응 가이드를 따르세요.
페이징 전 유효성 검사
알려진 성공, 실패, 제외된 이벤트 및 불완전한 최신 버킷이 있는 픽스쳐를 재생합니다. 정확한 적격 수, 허용된 실패, 규정 준수 및 소진율을 확인하세요. 그런 다음 통화 중 응답을 첨부하기 전에 알림 없이 알림을 관찰하세요.