web-dev-qa-db-ja.com

Syslog-ng:重大度/機能をログに記録する方法は?

これがシステムです:

  • SUSE Linux Enterprise Server 10
  • 事前定義されたsyslog-ng.confを使用したsyslog-ng
  • / var/log/messages内のメッセージは次のようになります。

2月8日09:29:53sles1 sshd [17529]:10.30.34.64ポート4855ssh2からのルートのキーボードインタラクティブ/ pamを受け入れました

必要なもの:

  • イベントの重大度/施設をログに記録します。たとえば、メッセージの先頭に<PRI>を追加します。

<15> 2月8日09:29:53sles1 sshd [17529]:10.30.34.64ポート4855ssh2からのルートのキーボードインタラクティブ/ pamを受け入れました

私の質問は:

この種のロギングを有効にするためにsyslog-ng.confを変更する方法は?

ありがとう。

4
user31462

ログファイルを特定の形式に書き換える にしたいようです。リンクには、syslog-ngにそれを行うように指示する方法の詳細があります:)

5
voretaq7

いくつかの簡単な読みに基づいて、syslog()ドライバーを使用したいと思います。これはSyslog-ng管理者ガイドのセクション8.1.6で説明されています。 http://www.balabit.com/support/documentation/?product=syslog-ng

これがお役に立てば幸いです。他に何か見つかった場合はお知らせします。

Syslog()ドライバーはソース宣言で使用することを意図していると思います。だから私が持っているところ
source external { udp(); };

あなたが使うかもしれない
source external { syslog(transport("udp")); };

これを試すのに適したテスト環境はありませんが、あなたの質問を正しく理解していれば、これがあなたのやりたいことだと思います。


戻って見てみると、宛先で使用できるTAGというマクロがあることがわかりました。

例えば.
destination d_all { file("/log/$FACILITY.log" group("users") template_escape(no) template("$TAG $PRIORITY $S_DATE $Host $MSG\n")); };
これらのマクロは、管理ガイドの218ページで定義されています。

2
thepocketwade

宛先が次のように構成されている場合:

destination syslog-consumer { unix-stream("/var/run/syslog-output"); };

syslog-consumerに向かうsyslogメッセージは、必要な形式でそのソケットに送信されます。

そのソケットをリッスンしてファイルに書き込むために何かを設定する必要があります。

1
MikeyB