rsyslog 过滤器严重性不起作用

rsyslog 过滤器严重性不起作用

我有以下 Rsyslog 配置将日志发送到远程服务器。问题是它向远程服务器发送大量信息消息,我不想要那种噪音。我正在尝试配置过滤器,以便它发送所有严重性日志,但不发送信息。

# Ansible managed

$WorkDirectory /var/spool/rsyslog
$template RFC3164fmt,"<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%"

# Log shipment rsyslog target servers
$ActionQueueFileName ostack-log-01_rsyslog_container-04cb9e3a
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount 250
local7.* @172.28.1.205:514;RFC3164fmt

这就是我所做的,但没有成功。

local7.*;local7.!=info @172.28.1.205:514;RFC3164fmt

我的操作系统是Centos7.5 Linux

答案1

这就是这里发生的情况,我的系统日志消息显示INFO日志,但在 tcpdump 中我发现系统日志严重性显示notice,这是我的困惑。

local7.*;local7.!=notice;local7.!=info @172.28.1.205:514;RFC3164fmt

这就是我们如何测试这个规则,使用logger工具生成假日志

logger -p 'local7.info' 'This is info logs, Reject it'
logger -p 'local7.notice' 'This is notice logs, Reject it'
logger -p 'local7.error' 'This is error logs and Accept it'

答案2

如果您还没有这样做,您可能需要在使用过滤器更新 rsyslog 服务后重新启动它。

更新rsyslog.conf 文件后重新启动rsyslog 服务。

# service rsyslog restart        # CentOS/RHEL 6
# systemctl restart rsyslog

相关内容