docker 容器 syslog日志配置 對日志進行拆分目錄和文件


syslog配置(centos系統,一般系統都有默認安裝):

vi /etc/rsyslog.conf

去掉前面注釋

日志配置:

vi /etc/rsyslog.d/docker.conf

(一般默認配置會加載/etc/rsyslog.d/目錄下所有.conf配置文件,在/etc/rsyslog.d/docker.conf下可以找到路徑)

# 定義日志模版
$template web,"/var/log/docker/%programname%/%timereported:0:10:date-rfc3339%.log"

# ${name}為設docker啟動時設置的tag名稱
if $programname == "${name}" then
?web
# 終止其它文件輸出日志
& ~
stop

 

容器啟動:

docker run -i -d \
--name ${name} \
-v ${worker_dir}:/tmp \
-w /tmp \
-p 8080:8080 \
--log-driver syslog \
--log-opt syslog-address=tcp://127.0.0.1:514 \
--log-opt tag="{{.Name}}" \
openjdk:8-jdk-alpine \
java -jar -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=test ${jar_name} -Dexec.args="${name}"

注: tag="{{.Name}}"     {{.Name}} 引用當前容器name, ${name} 可自定義容器名稱 參考: https://docs.docker.com/config/containers/logging/log_tags/

啟動后 就能在/var/log/docker/ 目錄下找到對應日志文件

 

docker其它日志驅動參考:https://docs.docker.com/config/containers/logging/configure/

 
        
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM