서버 장애 근본 원인 분석(RCA) 하는 법
최종 업데이트: 2026-06-24
장애 대응에서 가장 비싼 시간은 "원인을 찾는 시간"입니다. 알림은 증상(예: HTTP 502)을 알려주지만, 그 증상의 출발점을 찾아야 제대로 복구되고 재발을 막을 수 있습니다.
RCA 기본 순서
- 언제부터인가: 정확한 시작 시각을 잡습니다(배포·트래픽 변화와 대조).
- 무엇이 함께 움직였나: 같은 시점의 CPU·메모리·디스크·네트워크·미들웨어·앱 지표를 한 타임라인에서 봅니다.
- 인과 방향: "앱 502"가 먼저인가, "DB 다운"이 먼저인가 — 시간 순서로 원인↔결과를 가립니다.
- 재발 방지: 임계값·헬스체크·용량을 조정해 같은 원인이 다시 못 일어나게 합니다.
왜 계층을 함께 봐야 하나
대부분의 장애는 한 계층에서 끝나지 않습니다. 디스크가 차서(OS) → DB가 멈추고(미들웨어) → 앱이 502를 반환합니다(애플리케이션). 앱 로그만 보면 "502"만 보이고, 진짜 원인(디스크)은 놓칩니다.
흔한 실수
- 증상만 복구하고 끝내기: 앱만 재시작하면 원인(디스크·메모리)이 남아 곧 재발합니다.
- 지표를 따로 보기: 창을 여러 개 띄워 비교하면 시간 정렬이 어긋나 인과를 놓칩니다.
- 기록을 안 남기기: 원인·조치를 문서로 남기지 않으면 다음에 또 처음부터 찾습니다.
Sentibel로 보면
Sentibel은 7계층(OS·네트워크·미들웨어·애플리케이션·보안·쿠버네티스·GPU) 지표를 한 타임라인으로 수집하고, 장애 시점을 기준으로 계층 간 인과관계를 추적해 근본 원인과 조치 방법을 제시합니다. 분석 결과와 장애 리포트는 저장돼, 사후 공유와 재발 방지 자료로 바로 쓸 수 있습니다.