一意のIDサブストリングを含むカーネルメッセージを別のログファイル(「rsyslog」を使用)にリダイレクトするにはどうすればよいですか?

一意のIDサブストリングを含むカーネルメッセージを別のログファイル(「rsyslog」を使用)にリダイレクトするにはどうすればよいですか?

iptables私のネットワークアクティビティをデバッグするためにロギング機能を使用しています。出力されたカーネルログ内のメッセージを--log-prefix一意に識別するために、パラメータとともに特定のプレフィックスを使用します。iptables::IPT::LOG::

rsyslogこのように表示されたメッセージを別のログファイルにリダイレクトするように設定するにはどうすればよいですか?マンページはrsyslog私にとってとても秘密に見えます。

ベストアンサー1

セレクタベースのフィルタリングに加えて、rsyslogdはログメッセージ属性で見つかったパターンをフィルタリングできます。必要な操作を実行するには、iptablesルールで使用されている文字列と一致するプロパティベースのフィルタを作成できます。 iptablesルールでこれを使用するには、--log-prefix "unique_prefix: "rsyslog.confに次のものを追加する必要があります。

:msg,startswith,"unique_prefix" /var/log/iptables

このルールはプレフィックスのログメッセージをテストし、/var/log/iptables(rsyslogがメッセージを送信するように設定された別の場所に追加)に送信します。他の場所ではなく/ var / log / iptablesにメッセージを表示する必要がある場合は、新しいルールを別のルールの上に配置し、その後にインクルードを追加してください& ~

:msg,startswith,"unique_prefix" /var/log/iptables
& ~
#
# The rest of my rules appear below
# ...
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Rsyslogルールには複数のタスクがあります。後続の操作は、アンパサンド()で始まる新しい行で定義されます&。上記の例では、最初の規則には、出力を/var/log/iptablesに送信してからメッセージを削除する2つの操作があります(~)。バラよりジョブの rsyslog ドキュメントそしてフィルターこの回答のルールに関する追加情報

パフォーマンス上の理由でstartswithはなく使用のために編集されました。containsiptablesは--log-prefix実際にはプレフィックスなので、メッセージの先頭に表示されます。

おすすめ記事