Linux

rsyslog 過濾器嚴重性不起作用

  • August 15, 2019

我遵循 Rsyslog 配置將日誌發送到遠端伺服器。問題是它向遠端伺服器發送大量 INFO 消息,我不想要那種噪音。我正在嘗試配置過濾器,以便它發送所有嚴重性日誌但不發送資訊。

# 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

這就是這裡發生的事情,我的 syslog 消息說INFO日誌,但在 tcpdump 中我發現 syslog 嚴重性說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'

如果您還沒有這樣做,您可能希望在使用過濾器更新它後重新啟動 rsyslog 服務。

更新 rsyslog.conf 文件後重新啟動 rsyslog 服務。

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

引用自:https://unix.stackexchange.com/questions/535675