rsyslogフィルタの問題

rsyslogフィルタの問題

特定のパスに対して少なくとも優先順位が確認されていますが、優先順位の悪いメールログを取得するには、rsyslog.confファイルにルールを作成する必要があります。

このために私が作ろうとするルールは次のとおりです。

mail.notice,!err        -/var/log/usomail.log

問題は私のエラーも記録されることですが、私はそうしたくありません。私のルールに問題がありますか?

答え1

カンマで,区切ります。しかし、これは追加ですので、次のように言います。mail.notice!errmail.noticeメッセージをまったく受け入れないでください。!err。言いたいことはmail.notice以下を除くメッセージを受け入れてください。mail.err

これマニュアルページrsyslog.conf明確ではありませんが、これを示しています。

コンマ('、')演算子を使用して、単一の文で同じ優先順位パターンで複数の機能を指定できます。必要に応じて施設を指定できます。そのような声明で施設の部分だけを取ると、優先順位の部分はスキップされることに注意してください。

セミコロン(";")区切り文字を使用して、単一の操作に対して複数のセレクタを指定できます。 「セレクター」フィールドの各セレクターが前のセレクターをオーバーライドすることに注意してください。この動作により、パターンからいくつかの優先順位を除外できます。

したがって、解決策はコンマを,セミコロンに置き換え、;次の機能を含めることです。

mail.notice;mail.!=err  -/var/log/usomail.log

にも同様の例がありますsyslog.confマニュアルページまた。

関連情報