web-dev-qa-db-ja.com

メッセージの内容と機能に関するrsyslogフィルター

Rsyslogを使用してログエントリの内容に基づいてフィルタリングする方法の例を見つけました。しかし、これを行う方法はあるので、特定の施設のコンテンツのみをフィルタリングするのですか?たとえば次のようなもの:

if local0.* msg contains "foo"

しかし、私が作成したものではなく、実際の構文を使用します。

5
Kyle Brandt

1行で両方ではなく、2つの順次フィルターを実行する必要があります。

:msg, contains, "some-text"
if $syslogfacility-text == "facility" then /var/log/somelog.log
~

編集:

私はそれを取り戻します。私はそれが今両方の方法で行われたのを見てきました。私はこの例をrsyslog Wikiで見つけただけで、適応できるはずです。

if $programname == 'popa3d' and $syslogseverity <= '6' then /var/log/popa3d.log

もちろん、条件を例に置き換えます。

if $syslogfacility-text == 'local0' and $msg contains 'some-text' then /var/log/somelog.log
& ~

Rsyslog Wiki
Rsyslog Docs

2
Aaron Copley