서버 모니터링은 서버의 건강 상태와 성능 문제를 사전에 감지하고 장애를 예방하는 데 필수적입니다. IT 업계에서 가장 중요하게 보는 핵심 지표는 흔히 **4가지 황금 신호등(The Four Golden Signals)**이라고 불리며, 서버의 용량, 속도, 오류, 가동 여부를 총체적으로 파악하게 해줍니다.
1. 지연 시간 (Latency): 속도 측정
지연 시간(Latency)은 서버가 요청을 받아서 응답하는 데 걸리는 시간을 의미합니다. 사용자 경험과 직결되는 가장 중요한 지표입니다.
지표의 의미
- 웹 서버: 사용자의 HTTP 요청이 들어와서 최종 응답이 나가기까지 걸리는 시간 (예: 200ms)
- DB 서버: SQL 쿼리를 실행하여 결과를 반환하는 데 걸리는 시간
- 이상 징후: 평소보다 지연 시간이 급격히 길어지면 서버 내부의 부하가 심해졌거나, 네트워크 문제가 발생했음을 의미합니다. 특히 95% 백분위수(95th Percentile) 지연 시간을 확인하여, 소수의 느린 요청이 발생하는지 점검하는 것이 중요합니다.
2. 트래픽 (Traffic): 수요 측정
트래픽은 서버가 얼마나 많은 요청을 처리하고 있는지를 측정하는 지표입니다. 서버 용량을 계획하고 확장하는 데 사용됩니다.
지표의 의미
- 웹 서버: 초당 처리하는 HTTP 요청 수 (RPS, Requests Per Second)
- 네트워크: 초당 서버로 들어오고 나가는 데이터의 양 (대역폭, Bandwidth)
- 이상 징후: 트래픽이 평소 수준을 넘어서 **서버가 감당할 수 있는 최대치(Capacity)**에 가까워지면, 서버를 추가로 확장하거나 로드 밸런싱을 조정해야 함을 의미합니다. 트래픽 증가는 부하 증가의 사전 경고 역할을 합니다.
3. 오류율 (Errors): 문제 발생 측정
오류율은 서버가 정상적으로 요청을 처리하지 못한 비율을 측정하는 지표입니다. 서비스의 안정성을 나타냅니다.
지표의 의미
- 웹 서버: 전체 요청 중 **4xx (클라이언트 오류)**나 5xx (서버 오류) 상태 코드를 반환한 요청의 비율입니다.
- DB 서버: SQL 쿼리 실패, DB 연결 오류 등 데이터베이스 내부에서 발생한 오류 횟수
- 이상 징후: 오류율이 증가하면 새로운 버그가 배포되었거나, 데이터베이스 연결 실패와 같은 심각한 문제가 발생했음을 나타냅니다. 특히 5xx 서버 오류는 서비스 중단을 의미하므로 가장 민감하게 모니터링해야 합니다.
4. 포화도 (Saturation): 용량 한계 측정
포화도는 서버의 핵심 자원이 얼마나 가득 찼는지를 나타내는 지표입니다. 서버가 처리할 수 있는 용량의 한계를 예측하게 해줍니다.
주요 포화 지표
| 자원 | 지표 | 포화 시 발생하는 현상 |
| CPU | CPU 사용률 (Utilization) | 100%에 근접하면 새로운 요청 처리가 지연됨. |
| 메모리 (RAM) | 메모리 사용률 / 스와핑 발생 여부 | 메모리가 부족해지면 느린 디스크로 데이터를 옮기는 스와핑이 발생하며 서버 속도가 급격히 느려짐. |
| 디스크 I/O | 디스크 입출력 대기 시간 | 디스크 읽기/쓰기 작업이 폭증하면 요청이 쌓이며 지연 시간이 길어짐. |
| 네트워크 | 네트워크 큐(Queue) 길이 | 처리해야 할 요청이 너무 많아 대기열이 길어지면 네트워크 지연 발생. |
이상 징후
- 특정 포화 지표가 80% 이상 지속되면 서버 자원의 한계에 도달했음을 의미하며, 서비스가 느려지거나 장애가 발생하기 전에 **서버 증설(Scale Out)**을 준비해야 합니다.
이 네 가지 지표 외에도 **가용성(Availability, 서버가 실제로 작동하는 시간 비율)**과 **자세한 로그(Log)**를 함께 모니터링하면 서버의 상태를 완벽하게 파악하고 안정적으로 운영할 수 있습니다.


