この投稿では、特定のメッセージを破棄 (抑制) したり、プログラム メッセージを特定のログ ファイルにリダイレクトしたりするためのプロパティ ベースのフィルターを作成する手順の概要を説明しています。
構文
プロパティ ベースのフィルターを記述するための systax は次のとおりです。
:[Available Properties], [compare-operations], [customized expression] [path/log file]
rsyslog.confのmanページより
破棄アクション (~)
破棄アクションが実行されると、受信したメッセージはすぐに破棄されます。 Discard は、それ以上のパラメーターを持たない単一のチルダ文字です。
例:
*.* ~ # discards everything.
rsyslog を再起動
rsyslog.conf を更新した後、rsyslog サービスを再起動する必要があります
# service rsyslog restart # CentOS/RHEL 6 # systemctl restart rsyslog # CentOS/RHEL 7
例 1:特定のメッセージを破棄 (抑制) する
以下に示すような、破棄または抑制したいメッセージがあります:
June 4 22:20:21 geeklab app: [804617.902850] this is a test message to discard
以下に示すルールを /etc/rsyslog.conf ファイルに追加します。
# vi /etc/rsyslog.conf :msg, contains, "test message to discard" ~
rsyslog.conf ファイルを更新した後、rsyslog サービスを再起動してください。
# service rsyslog restart # CentOS/RHEL 6 # systemctl restart rsyslog # CentOS/RHEL 7
例 2:プログラム メッセージを特定のログ ファイルにリダイレクトするが、メッセージにはリダイレクトしない
以下に示すようなメッセージを特定のファイル (この例では /var/log/custom_app.log) にリダイレクトしたい場合:
June 4 22:20:21 geeklab appname: [804617.902850] this is a test message to discard
以下に示すルールを /etc/rsyslog.conf ファイルに追加します。
:programname, isequal, "appname" /var/log/custom_app.log :programname, isequal, "appname" ~
rsyslog.conf ファイルを更新した後、rsyslog サービスを再起動してください。
# service rsyslog restart # CentOS/RHEL 6 # systemctl restart rsyslog # CentOS/RHEL 7