관리 메뉴

FU11M00N

[Docker] 웹 로그보기 / logrotate 본문

Docker

[Docker] 웹 로그보기 / logrotate

호IT 2020. 10. 14. 16:38

로그

웹로그란 특정 웹사이트에 방문한 사용자들이 언제, 어디서, 어떤 페이지를 방문했는지에 재한 정보를 기록한 파일이다.

이 파일을 기반으로 웹사이트의 에러와 방문자수, 방문 경로 등 사이트에 대한 다양한 분석 및 통계가 가능하다.

 

 

docker logs 명령어 옵션

명령어

설명

--tail

마지막 줄만 가져오기

--since

유닉스 시간이후의 로그를 확인

-t

타임스탬프 표시

-f

로그에 타임스탬프를 표시한다.

실습 환경: VMware 16 Pro, Ubuntu 20.04.1

도커 컨테이너 bash 쉘

“docker exec -i -t wordpress /bin/sh” 명령어를 수행하여 wordpressbash 쉘로 들어 갈 수 있다. 그곳에서 id, ls 등 명령어를 수행하여 현재 id와 현재 경로의 파일들을 출력한다.

도커 로그 디렉토리 확인

 

Docker의 로그는 /var/lib/docker/containers에 저장된다. 현재 wordpressid값과 맞는 로그파일을 확인할 수 있다.

도커 로그 디렉토리 확인 2

 

1efb9944~ 파일에 json.log 형식으로 로그가 저장된다.

도커 컨테이너의 로그 값

Docker환경의 wordpress 서비스 컨테이너의 로그가 확인 가능하다.

차후에 로그 양이 쌓이다 보면 공간이 부족해질 수 있다.

컨테이너 생성시 --log-opt 옵션으로 최대 크기를 지정할 수 있다.

 

Docker logrotate

리눅스에서 서버를 운영하다 보면 로그를 보고 서버의 상태 혹은 장애를 대비한다.

그래서 대부분의 모든 로그는 남기도록 설정하는데 이러한 로그들은 시간이 점점 지나면서 엄청난 크기로 커지게 된다.

엄청난 크기로 커지기 전에 로그들을 잘 관리하도록 설정하는 툴이 logrotate이다.

기본적으로 Ubuntu 20.04.1 엔 설치가 되어 있다.

 

logrotate 값

/etc/logrotate.d/docker 파일에 설정 값을 넣어 주면 된다.

보통 시간이 지나면 자동으로 실행되지만, 수동으로 실행하고 싶다면, “logrotate -fv /etc/logrotate.d/docker“ 명령어를 수행 해주면 된다.

 

설정 옵션은 아래표와 같다.

옵션

설명

rotate

rotate된 파일을 보관할 개수를 지정한다

copytruncate

복사본 작성 후 로그파일을 이동하는 대신 원본 로그파일을 빈 로그파일로 만든다.

missingok

로그 파일이 없어도 오류를 발생시키지 않는다

compress

rotate된 로그파일을 압축한다.

maxsize

로그파일의 최대크기를 정한다 크기 초과시 rotate된다.

norifempty

파일이 비어 있으면 rotate 하지 않는다

daily

rotate되는 주기를 하루로 한다. hourly, weekly, monthly, yearly 로 설정가능 하다

 

'Docker' 카테고리의 다른 글

[Docker] docker image push 하기  (0) 2020.10.15
[Docker] 도커 환경 구성하기 , 도커 wordpress 설치  (0) 2020.10.14
[Docker]도커와 컨테이너  (0) 2020.10.07
Comments