운영 중 문제를 빠르게 파악하기 위한 로그·알람 구조를 고민한 경험
인턴 때 서비스 장애가 났을 때 원인 파악이 너무 오래 걸리는 문제를 봤습니다. 로그가 남아 있긴 했지만 구조화가 안 되어 있어 특정 요청 흐름을 추적하려면 grep을 여러 번 해야 했습니다.
이후 사이드 프로젝트에서 처음부터 요청마다 `trace_id`를 부여하고 로그에 포함시키는 방식을 써봤습니다. 같은 trace_id로 검색하면 한 요청의 전체 흐름이 한눈에 보였습니다. 장애 원인을 30분 만에 찾던 것이 3분으로 줄었습니다.
알람은 처음에 에러 로그 개수로만 트리거했다가 정상 배포 때도 알람이 울려 피로도가 높아졌습니다. 이후 에러율(전체 대비 비율)로 기준을 바꾸니 오탐이 줄었습니다. 운영하기 쉬운 구조의 핵심은 추적 가능성과 의미 있는 알람이라는 걸 그 경험에서 배웠습니다.