linux下syslog和rsyslog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下syslog和rsyslog相关的知识,希望对你有一定的参考价值。

参考技术A Linux下会看到早期的syslog服务,但后续就看到只使用rsyslog服务了
rsyslog 相当于 syslog的升级版

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/


以上是关于linux下syslog和rsyslog的主要内容,如果未能解决你的问题,请参考以下文章

linux下syslog的LOG_DEBUG参数

java 在linux环境下写入 syslog 问题研究

linux下syslog-ng日志集中管理服务部署记录

十syslog日志与loganalyzer日志管理

Linux系统下,在 /etc/下找不到 syslog.conf

Ubuntu 设置 log 级别