Rsyslog 消息未进入本地日志文件

Rsyslog 消息未进入本地日志文件

我的任务是为我们的 postgres 服务器设置更长/更好的日志保留,但是在配置 postgres 以通过 syslog 发送日志后,local0我发现它们实际上从未到达配置的本地文件。

/etc/rsyslog.d/postgresql.conf

local0.* /company/data/psql/company_cluster/log/postgresql.log

相关的 postgres 配置:

log_destination = 'syslog'
syslog_facility = 'local0'

当我完成配置并重新加载/重新启动服务后,我注意到,虽然没有任何内容进入指定的日志文件(即使在touch输入之后),但我曾是看到通过管道传输到 graylog 的具有*.*规则的消息。

更奇怪的是,logger -p local0.info test据我所知,该设施或任何其他设施都没有生成消息。其他local设施也是如此,甚至mail.none

Rsyslog 似乎正在干净地重启,我仔细检查了配置文件中的 selinux 上下文,但找不到从 rsyslog 本身记录的任何相关信息。发生了什么?

所有 rsyslog 配置:

# cat /etc/rsyslog.conf /etc/rsyslog.d/* | grep -v -e '^\s*#' -e '^\s*$'
$ModLoad imuxsock
$ModLoad imjournal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

# graylog.conf
*.* @graylogmaster.rancher.company.ca:8514;RSYSLOG_SyslogProtocol23Format
# listen.conf
$SystemLogSocketName /run/systemd/journal/syslog
# postgresql.conf
local0.* /company/data/psql/company_cluster/log/postgresql.log 

编辑:“并非真正的解决方案”解决方案

当我最初发布此问题时,我正在使用的特定服务器上的 Rsyslog 似乎出了问题(甚至可能还有其他问题)。重新启动服务没有任何效果,我正在等待维护窗口以重新启动或重新配置此服务器。

相同的配置在其他服务器上也能正常工作,但有一个警告,即LOCAL0至少在某些情况下似乎无效,但local0在任何地方都有效。

相关内容