반응형

Docker를 사용하여 어플리케이션을 배포하는 경우에 아래와 같은 명령어를 통해 log를 follow 할 수 있다.

 

1
docker logs --follow
cs

 

Docker의 경우 모든 Stdout과 Stderr를 log로 기록을 해준다.

 

log가 많아지다 보면 follow를 치고 몇분동안 기다려야 하는 경우가 생기기도 하고,

용량이 너무 커져서 더이상 로그가 기록되지 않는 문제가 생기기도 한다.

 

만약, 하루 또는 1주일 단위로 쌓인 로그를

20210924.log 와 같이 날짜별로 저장을 하고, 용량 관리를 위해서 1주일치 로그만 보관할 수 있다면 어떨까?

 

이러한 기능을 지원해주는 logrotate가 있다.

 

https://github.com/logrotate/logrotate

 

GitHub - logrotate/logrotate: The logrotate utility is designed to simplify the administration of log files on a system which ge

The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files. - GitHub - logrotate/logrotate: The logrotate utility is designed to si...

github.com

 

간단하게 스크립트를 작성하여 Cron으로 돌릴수도 있지만,

이미 만들어진 오픈소스를 활용하는 것도 좋은 방법이다.

 

오랜기간 사용되어 안정적이고, 추가적인 옵션도 설정 할 수 있다.

 

하지만!!! logrotate를 직접 사용 할 필요는 없다.

 

Docker에는 이미 1.8 버전부터 log 관리를 위한 logging driver가 내장되어 있다.

 

logrotate처럼 다양한 기능을 제공해주지는 않지만,

 

로그 관리를 처음 시작한다면 사용하기에 나쁘지 않은 것 같다.

 

https://docs.docker.com/config/containers/logging/json-file/

 

JSON File logging driver

 

docs.docker.com

 

반응형

+ Recent posts