web-dev-qa-db-ja.com

rsyslogフィルターの重大度が機能しない

リモートサーバーにログを送信するために、次のRsyslog構成があります。問題は、リモートサーバーに大量のINFOメッセージを送信することであり、そのノイズは望ましくありません。 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

私のOSはCentos7.5Linuxです

2
Satish

これがここで起こったことです。私の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'
1
Satish