피드로 돌아가기
Dev.toDevOps
원문 읽기
Isolation Forest 최적화로 False Positive 80% 감소 및 이상 탐지 정밀도 개선
AI Anomaly Detection in Grafana: 3 Mistakes We Made
AI 요약
Context
200여 개의 정적 Threshold 기반 Prometheus 알림으로 인한 Alert Fatigue 발생 및 느린 메모리 누수 탐지 실패. 정적 수치 설정의 한계로 인한 탐지 공백을 해결하기 위해 AI 기반 Anomaly Detection 도입 추진.
Technical Solution
- Isolation Forest 모델을 Kubernetes Sidecar 형태로 배포하여 메트릭 스트림 실시간 스코어링 구조 설계
- 90일치 학습 데이터 확보 및 hour_of_week 피처 추가를 통한 요일/시간대별 트래픽 패턴 학습
- contamination 파라미터를 기본값 0.1에서 실제 사고 발생률 기반인 0.02로 조정하여 과탐지 억제
- Prometheus Recording Rule의 avg_over_time(5m)을 통한 raw score 평활화 및 transient spike 필터링
- Flask/Gunicorn 기반 /metrics 엔드포인트 구축으로 모델의 스코어 분포 및 Drift 상태 모니터링 체계 수립
- Kubernetes NetworkPolicy 적용을 통한 내부 메트릭 노출 경로 제한 및 보안 강화
실천 포인트
- ML 모델의 contamination 설정값이 실제 historical incident rate와 일치하는지 검토 - 단순 스코어 기반 알림 대신 시간 윈도우 기반의 Aggregation 필터를 적용하여 노이즈 제거 - 모델의 성능 저하를 감지하기 위해 Anomaly Rate가 0에 수렴하는 Silent Drift 모니터링 알림 설정 - 모델 서빙 엔드포인트에 대한 NetworkPolicy 기반 접근 제어 적용 여부 확인