System Design Interview Volume 2 (4)
지표 모니터링 및 경보 시스템
지표 (metrics) monitoring 및 경보 (alerting) system: Infra의상태를 선명하게 볼 수 있도록 하여 높은 가용성과 안정성을 달성하는 데 중추적 역할 수행
1단계: 문제 이해 및 설계 범위 확정
- 개략적 요구사항 및 가정
- 대규모 infra를 monitoring 해야 함
- 일간 능동 사용자 수 1억 명 (100 million)
- Server pool 1,000개, pool당 server 수 100개의 운영 지표 수집 가정
$\rightarrow$ Monitoring 지표의 수: 약 1,000만개 - Data 보관 기간: 1년
- 수집한 raw data 7일 보관
- 1분 단위 data로 변환 후 30일 보관
- 1시간 단위 data로 변환 후 1년 보관
- Monitoring 지표 예시
- CPU 사용률
- 요청 수
- Memory 사용량
- Message queue 내의 message 수
- 대규모 infra를 monitoring 해야 함
- 비기능 요구사항 및 제약사항
- 규모 확장성: 늘어나는 지표 수 및 경보 양에 맞게 확장 가능
- 낮은 응답 지연: Dashboard와 경보 (alert)를 신속하게 처리할 수 있도록 query에 대한 낮은 응답 지연 보장
- 안정성: 중요 경보를 놓치지 않도록 높은 안정성 보장
- 유연성: 기술 변화에 따라 유연한 통합 가능
- Log monitoring 또는 분산 (distributed) system 추적 (tracing)은 고려 X