추측이 아닌 데이터로: 3개 서비스 27개 SLO와 54개 모니터를 설정하고 배포 자동화까지 구축한 2주의 집중 작업
데브옵스
추측이 아닌 데이터로: 3개 서비스 27개 SLO와 54개 모니터를 설정하고 배포 자동화까지 구축한 2주의 집중 작업
두줄요약
3개 서비스에 맞는 SLO와 모니터를 데이터 기반으로 표준화하고, 배포 중 Error Budget이 소진되지 않도록 자동화했습니다. 오탐을 줄이고 실제 비즈니스 실패를 더 정확히 탐지하는 운영 체계를 구축했습니다.
문제 상황
- 3개 서비스의 성격이 달라 공통 기준의 모니터링 적용이 어려운 상태
- HTTP 상태 코드 기반 SLO가 오탐을 만들고 실제 비즈니스 실패를 놓치는 측정 오류
- 정기 배포 때마다 일시적 오류가 Error Budget을 소진해 SLO가 깨지는 문제
원인 분석
- 성공 판정 기준을 HTTP 2xx로만 두어 클라이언트 오류와 서버 장애를 구분하지 못한 점
- 배포 중 발생하는 계획된 지연을 장애로 취급해 누적 지표가 왜곡된 점
- 경험 기반 임계값 설정으로 실제 응답 시간 분포와 어긋난 수치가 들어간 점
해결 방법
- APM error 태그 기반으로 성공률 측정 방식 전환
- 90일 APM 데이터 분석으로 임계값과 Burn Rate를 데이터 기반 설정
- ArgoCD Hook과 Datadog API로 SLO Correction을 배포 시작/종료에 맞춰 자동화
성능/운영 포인트
- 3개 서비스에 27개 SLO, 54개 모니터 표준화
- 오탐 알림 0건 달성, 배포 중 Error Budget 자동 보호
- 장애 분석 시간과 오탐 대응 시간, 온보딩 시간 절감
적용해볼 점
- 측정 정확도를 먼저 점검하고 필요하면 지표 정의부터 재설계
- 추측 대신 운영 데이터를 기반으로 임계값 설정
- 배포와 관측 도구를 연동해 계획된 작업의 지표 왜곡 자동 보정