Skip to Content
Suffering builds character
아카이브11.로깅실습B. 로그 로테이팅(롤링)

B. 로그 로테이팅(롤링)

로그는 기록 자체가 목적이 아닌, 모니터링과 장애 대응을 위한 용도로 활용됨
하지만 용량 제한으로 인해 로그를 무제한으로 쌓아둘 수 없음

로그를 계속 쌓아둘 경우 다음의 문제가 발생할 수 있음

1.디스크 고갈로 인한 서비스 장애

트래픽/버그 등으로 로그를 적재할 수 있는 디스크 용량이 고갈될 경우 서비스 장애가 발생할 수 있음

2.읽을 수 없는 로그 파일

하나의 파일이 수 GB에서 수십 GB로 너무 커지면 검색/전송/압축/백업이 비효율적이게 됨

결과적으로 장애 시점의 로그만 빠르게 뽑고 확인해야 하는데, 파일이 너무 크면 대응 속도가 그만큼 늦어질 수 있음

3.비용 문제

로그의 보관 기간/용량 상한선을 두지 않으면 운영 비용(스토리지/백업/로깅 플랫폼)이 기하급수적으로 증가함

→ 로그는 반드시 회전(rolling)과 정리(cleanup)를 포함한 수명주기 관리가 필요함


목표
요구사항에 맞는 로그 롤링 정책을 수립하고, 로그 로테이팅(롤링)을 적용하기

ex.
시간 기반 롤링: 하루 단위(또는 시간 단위)로 파일을 교체
용량 기반 롤링: 특정 크기(예: 10MB) 초과 시 추가 분할
보관 정책: 최대 보관 일수 또는 최대 총 용량 제한
압축: 과거 로그는 gzip 압축으로 저장 용량을 효율화하기

그 외 다른 전략들도 참고

→ 적용 후 테스트 시나리오를 통해 실제로 파일이 생성/교체/삭제되는지 확인

로그 롤링과 관련된 logback API
log4j2는 직접 찾아보기

Last updated on