IT/IT Tips
catalina.sh 튜닝 로그 파일을 시간 단위로 분할
다파라파라
2024. 11. 15. 15:46
톰캣(tomcat) 로그 시간단위로 관리하는 방법은 아래와 같이 기존 코드를 변경된 코드로 수정하면 됩니다.
기존 코드(AS-IS)
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&"
변경된 코드
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ |/svc/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina_%Y-%m-%d-%H.out >> /dev/null &
변경 이유와 목적
- 로그 파일 회전 (Log Rotation):
- 기존 코드에서는 모든 로그가 $CATALINA_OUT 파일 하나에 계속 기록되었습니다. 이로 인해 로그 파일 크기가 점점 커지고, 장기적인 유지 관리가 어려워집니다.
- 변경된 코드에서는 cronolog을 사용하여 로그 파일을 날짜와 시간 단위로 분할(catalina_%Y-%m-%d-%H.out)합니다. 이를 통해 로그 파일이 너무 커지는 것을 방지하고, 날짜별로 로그를 확인하기가 더 쉬워집니다.
- cronolog을 사용한 로그 관리:
- cronolog는 로그 파일을 지정한 시간별 형식(예: 날짜와 시간)에 따라 자동으로 생성하고 관리하는 도구입니다.
- 이 설정에서는 cronolog을 통해 catalina_년-월-일-시.out 형식으로 로그 파일을 분할합니다. 이는 매 시간마다 새로운 로그 파일을 생성하여 기록하므로, 로그 파일이 계속해서 커지지 않고 관리가 용이해집니다.
- 리디렉션 처리:
- 2>&1은 표준 오류를 표준 출력으로 리디렉션하는 것으로, cronolog을 통해 모든 로그를 하나의 스트림으로 처리합니다.
- >> /dev/null은 cronolog 자체의 출력은 필요하지 않으므로 이를 /dev/null로 리디렉션하여 불필요한 출력이 화면에 나타나지 않도록 합니다.
요약
이 변경을 통해 시간 단위 로그 파일 회전이 가능해지며, 시스템의 디스크 공간 관리와 로그 파일의 가독성이 향상됩니다. 특히 대용량 로그를 처리하는 서버 환경에서, 로그 파일을 정기적으로 나누어 저장하면 로그 모니터링 및 문제 추적이 용이해집니다.
728x90
반응형