docker-rsyslog

Sep 19, 2019

Centos 中 Docker 的日志总是会打印到 /var/log/messages, 最后导致该文件越来越大, 但是docker容器的都是有自己的日志的, 基本是冗余的功能.所以想停掉.

在 Centos 中系统日志是通过 rsyslog 来做的. 关于rsyslog 可以看这篇文章.

日志格式是 : 服务名称[连接符号]日志等级 日志存放位置, 例如定时任务: cron.* /var/log/cron.

服务名称好像是系统固定的, 我使用 docker.info /var/log/docker.log 会提示

Sep 19 13:24:36 localhost rsyslogd: unknown facility name “docker” [v8.24.0-34.el7]

所以只能全部停掉, 使用 user.none !

需要修改的是

*.info;mail.none;authpriv.none;cron.none /var/log/messages

修改为

*.info;mail.none;authpriv.none;cron.none;user.none /var/log/messages

这样docker的日志就没有了.

另外还有两个比较有用的参数, 正常生成的文件只有 root 用户可以查看, 我们可以修改生成文件的权限如下:

## 生成的文件权限
$FileCreateMode 0644
## 生成的目录权限
$DirCreateMode 0755

这两个参数是否可用, 暂时还没有测试.

(完)