Pinpoint APM Log Rotate 설정하기
들어가면서 😄
‘로그 파일을 얼마나 오랫동안 보관하는 것이 좋을까?’ 에 대한 질문에 명확히 답을 내리기란 쉽지 않다. 과거 데이터를 오래 보관하면 추적에 유용하지만, VM 디스크 용량이 제한적이기 때문에 효율적인 관리가 필요하다.
특히 Pinpoint는 대량의 로그 파일을 생성하므로, 자동 로그 로테이션 설정을 하지 않으면 디스크 용량이 가득 차 시스템 장애가 발생할 수 있다.
이번 게시글에서는 JAR 파일로 설치한 Pinpoint의 로그 파일 로테이션 설정 방법을 다루려고 한다.
(이전에는 Crontab으로 관리하고 있었는데.. 관리가 어려울 것 같아, 좀 더 체계적인 방법으로 log.xml 파일을 직접 수정해보겠다.)
Pinpoint 내 log4j2.xml 내용을 수정해보자 🤔
Pinpoint의 구성 요소
Pinpoint는 다음의 세 가지 주요 구성 요소로 나뉜다.
- Collector
- Web
- Agent 로그 로테이션 설정 방법은, Agent 기준으로 게시글을 작성하겠다.
log4j2.xml 경로
pinpoint-agent-2.4.2/profiles/local/log4j2.xml
log4j2.xml 파일 수정
로그 로테이션 설정을 위한 주요 옵션들 위주로 살펴보겠다.
- logging_dir: 로그 파일이 저장될 기본 디렉터리를 지정한다.
- rolling-date-format: 로그 파일의 날짜 형식을 지정한다.
- backupsize: 각 로그 파일의 최대 크기를 지정한다.
- default-rollover-strategy-max: 로그 파일의 최대 백업 수를 지정한다. 최대 5개의 백업이 유지되고 있다.
- lastmodified: 로그 파일이 마지막으로 수정된 후 삭제되기 전까지의 최대 기간을 지정한다. 여기서는 7일(7d)로 설정되어 있다.
현재는 최대 5개의 롤오버된 로그 파일이 유지되며, 7일 이상된 오래된 로그 파일은 삭제된다.
마치며 🤗
단계 자체는 간단하지만, JAR 파일을 압축 해제하고 설정 파일을 수정하는 작업은 자주 접해보지 않았다. 이번 작업을 기록해두면 유사한 상황에서 유용하게 활용할 수 있을 것 같아 기록하였고 웹 어플리케이션 개발자로써 인프라 리소스보다 어플리케이션 리소스에 관심이 더욱 가는건 사실이다. 문제가 발생하는 빈도는 낮으나 문제가 발생하면 해결하는데 많은 시간과 노력이 소모되기 때문에 문제가 발생하는 것을 미리 방지하는 것이 훨씬 효율적이라는 생각이 든다.