web-dev-qa-db-ja.com

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バイトのままです。他に何をすべきかわかりません。

3
jason dancks

この記事では、rsyslogで「オンデマンドデバッグ」機能がどのように機能するかを説明する必要があります。これは、Fedora13のrsyslog6.1.0(v6-Devel)でテストおよび検証されています(手順はOSによって異なる場合があります)。 rsyslogはすでにシステムで動作していると想定されています。インストールと構成に関する注意事項については、ドキュメントをご覧ください。 Debug on Demandはバージョン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番目のターミナル(ここでもrootを使用)を開きます。次のコマンドを使用します。

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

このコマンドを1回使用すると、デバッグモードが有効になります。再度使用すると無効になります。間違いなく「-USR1」が必要であることに注意してください。そうしないと、rsyslogが実際に強制終了されます。さらに、必ずバッククォートを使用してください。これらは重要です。

基本的には以上です。これで、「デバッグオンデマンド」ログファイルを確認できます。

2
Naveen Kumar

上記のrsyslog.confファイルでデバッグ方法を使用しようとしましたが、$DebugFileなどがコマンドとして認識されないというエラーがログに記録されました。

私の解決策は、オンデマンドデバッグの詳細なプロセスに従うことでした ここ

少し長いですが、少なくともうまくいきました。

1
Iain