You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

■ syslog

대부분의 유닉스 계열 운영체제는 syslog 를 사용하는 인터페이스가 동일하다.

다음의 명령어를 입력하여 syslog에 로그를 저장하는 컨테이너 생성한다.

# docker run -d --name syslog_container \
> --log-driver=syslog \
> ubuntu:14.04 \
> echo syslogtest

syslog는 기본적 호스트의 syslog에 저장함, 각 운영체제에 따라 저장장소가 다름.

우분투 : /var/log/syslog, Centos : /var/log/massages


rsyslog를 사용한 중앙 컨테이너로 로그 저장.

사전 : syslog를 사용할 서버와 클라이언트 두 개의 머신을 따로 설정이 필요함.

서버호스트에 rsyslog 가 시작하도록 컨테이너 구동,

클라이언트 호스트에서 컨테이너를 생성하여 서버의 rsyslog 컨테이너에 로그 저장.


[root@localhost ~]# docker run -i -t \

> -h rsyslog \

> --name rsyslog_server \

> -p 514:514 -p 514:514/udp \

> ubuntu:14.04

# provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514


# provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514


서비스 리스타트

service rsyslog restart


다음은 클라이언트 서버에서 도커 컨테이너 실행

# docker run -i -t \
--log-driver=syslog \
--log-opt syslog-address=tcp://192.168.0.0:514 \
--log-opt tag="mylog" \
ubuntu:14.04

--log-opt는 로그 드라이버에 추가할 옵션을 뜻함.

syslog-address 에 rsyslog 컨테이너에 접근할 수 있는 주소 설정.

tag는 로그가 기록될때 함께 저장될 태그이며 로그를 분류하기 위한 설정.


rsyslog의 설정파일을 변경할대 tcp, udp의 모두 활성화 했으므로,

syslog 는  tcp 뿐만 아니라 udp 로도 쓰룻 있다.

# docker run -i -t \
--log-driver=syslog \
--log-opt syslog-address=udp://192.168.0.0:514 \
--log-opt tag="mylog" \
--log-opt syslog-facility="mail" \
ubuntu:14.04

--log-opt syslog-facility 옵션은 rsyslog 서버 컨테이너에 해당 facility에 대항하는 새로운 로그파일이 생성됨.






  • No labels