rsyslogでデバッグ情報を取得するには?

rsyslogでデバッグ情報を取得するには?

私は以下の指示に従いました。 http://www.rsyslog.com/doc/debug.html

次の内容を入れました/etc/rsyslog.conf

$DebugLevel 2
$DebugFile /root/RSYSLOG.txt

次に、次のことを試してください。

kill -USR1 `cat /var/run/syslogd.pid`
kill -USR2 `cat /var/run/syslogd.pid`

そうでないようですrsyslogd.conf

確認してみると、RSYSLOG.txtサイズはまだ0バイトです。私は何をすべきかわかりません。

ベストアンサー1

この記事では、rsyslogの「注文型デバッグ」機能がどのように機能するかを説明します。 rsyslog 6.1.0(v6-Devel)を使用してFedora 13でテストおよび検証されました(手順はオペレーティングシステムによって異なります)。 rsyslogがすでにシステム上で実行されているとします。インストールと設定の手順については、マニュアルを確認してください。バージョン 4.5.7 以降は、要求に応じてデバッグが可能です。

このオプションが機能するには、まず有効にする必要があります。これを有効にしてデバッグログファイルへのパスを指定するだけです。 root 権限で端末を開き、次のコマンドを使用します。

export RSYSLOG_DEBUG="DebugOnDemand NoStdOut"
export RSYSLOG_DEBUGLOG=/somepath/example.log

最初のオプションを使用すると、標準出力を必要とせず、「要求時にデバッグ」自体が可能になります。サービスの起動時に無効にするために必要です。 2番目のオプションは、ログファイルのパスと名前を指定します。

これで、準備ができる前にrsyslogサービスを停止する必要があります。次のコマンドを使用します。

/etc/rc.d/init.d/rsyslog stop

これでサービスが停止したため、再起動する必要があります。現在の設定では、rsyslogをフォアグラウンドアプリケーションとして起動する必要があります。この方法で設定する方がはるかに簡単なので、rsyslogはバックグラウンドサービスではなく機能するために「要求時にデバッグ」フォアグラウンドアプリケーションである必要があります。フォアグラウンドアプリケーションとして再実行するには、次のコマンドを使用します。

rsyslogd -n

「デバッグオンデマンド」を有効または無効にするために2番目の端末を開きます(再度ルートを使用して)。次のコマンドを使用します。

kill -USR1 `cat /var/run/rsyslogd.pid`

このコマンドを一度使用すると、デバッグモードが有効になります。再使用すると無効になります。 「-USR1」が必須です。それ以外の場合、rsyslog は実際に終了します。また、バックティックを使用してください。これらは重要です。

基本的にそれはすべてです。 「Debug on Demand」ログファイルを表示できるようになりました。

おすすめ記事