Rsyslog 不创建日志文件

JaR*_*Reg 10 ubuntu rsyslog

我正在将 Ubuntu 14.04 VM 强化到 CIS 标准,并且在获取 rsyslog 以创建必要文件时遇到问题。

注意:我对 Linux 的使用越来越好,但我还不是大师,请原谅我的无知。

我插入了一个文件 /etc/rsyslog.d/CIS.conf ,内容如下:

*.emerg :omusrmsg:*
mail.* -/var/log/mail
mail.info -/var/log/mail.info
mail.warning -/var/log/mail.warn
mail.err /var/log/mail.err
news.crit -/var/log/news/news.crit
news.err -/var/log/news/news.err
news.notice -/var/log/news/news.notice
*.=warning;*.=err -/var/log/warn
*.crit /var/log/warn
*.*;mail.none;news.none -/var/log/messages
local0,local1.* -/var/log/localmessages
local2,local3.* -/var/log/localmessages
local4,local5.* -/var/log/localmessages
local6,local7.* -/var/log/localmessages
Run Code Online (Sandbox Code Playgroud)

我还修改了/etc/rysyslog.conf。内容是这样的:

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support

$KLogPermitNonKernelFacility on

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$RepeatedMsgReduction on

$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf
Run Code Online (Sandbox Code Playgroud)

/var/log/syslog 的重复内容是:

Apr  6 10:03:10 ubuntu rsyslogd-2039: Could no open output pipe '/dev/xconsole': No such file or directory [try http://www.rsyslog.com/e/2039 ]
Apr  6 10:15:17 ubuntu rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="3074" x-info="http://www.rsyslog.com"] exiting on signal 15.
Apr  6 10:15:17 ubuntu rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="3152" x-info="http://www.rsyslog.com"] start
Apr  6 10:15:17 ubuntu rsyslogd: rsyslogd's groupid changed to 104
Apr  6 10:15:17 ubuntu rsyslogd: rsyslogd's userid changed to 101
Run Code Online (Sandbox Code Playgroud)

我尝试注释掉 /etc/rsyslog.d/50-default.conf 中的 xconsole 行,然后重新启动 rsyslog。这样做之后,我现在看不到任何 xconsole 错误出现。

我还能做些什么来尝试查明为什么 rsyslog 没有创建这些文件?

谢谢!

小智 9

创建/dev/xconsole并设置其正确的所有权和权限:

sudo touch /dev/xconsole
sudo chgrp syslog /dev/xconsole
sudo chmod 664 /dev/xconsole
Run Code Online (Sandbox Code Playgroud)

重启rsyslog服务如下:

Ubuntu 14.04

sudo service rsyslog restart
Run Code Online (Sandbox Code Playgroud)

Ubuntu 16.04及更高版本,使用systemd

sudo systemctl restart rsyslog
Run Code Online (Sandbox Code Playgroud)

验证错误消息不再出现:

tail -n100 /var/log/syslog | grep rsyslog
Run Code Online (Sandbox Code Playgroud)