作为centos33607系统中的日志管理工具,rsyslogd为许多服务提供了方便的日志管理访问方法,但默认情况下,centos33607官方镜像不支持rsyslogd。 让我们做一个实验:
1 )启动测试容器
docker run-it---- name=test-syslog centos :7/ldxl/bash2)安装rsyslogd
yum -y install rsyslog 3)测试rsyslogd
rsyslogd #启动日志服务logger 'Hello rsyslog' #并发送日志cat /var/log/messages #。 查看日志内容,您会发现没有输出任何内容。
4 )原因分析
理由很简单。 也就是说,默认情况下,rsyslog通过日志读取日志信息,但默认情况下,CentOS镜像没有安装系统和日志。 有两种解决办法。 (1)按照官方提供的教程(systemd integration ),将systemd和journald集成到CentOS:7镜像中; )2)修改rsyslogd的配置,不通过日记账读取日志信息。 在此对方案(2)的具体操作进行说明。
5 )修改配置
cat /var/run/syslogd.pid #检查刚才启动的rsyslogd进程pidkill -9进程号#将刚才启动的rsyslogd转换为RM-RF/etc/r syslog.d/listen rsyslog.conf文件,其中包含从中清除的两行注释: jouunt $ModLoad imjournal和$ imjournalstatefileimjournal.state; 将$OmitLocalLogging on更改为$OmitLocalLogging off。 保存并退出。
6 )测试验证
启动rsyslogd #日志服务logger 'Hello rsyslog' #时,将发送日志cat /var/log/messages #,说明日志服务工作正常,并在查看日志内容时提供以下输出
may 210833605733605460 c 66 CDF 443 fr syslogd : [ origin software=' rsyslogd ' SW version='8. 24.0-34.el7 ' x-PID=
转载于:https://www.cn blogs.com/open xxs/p/10900915.html