
私は以下の指示に従いました: デバッグ
私は次のことを記入しました/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 の「オンデマンド デバッグ」機能がどのように動作するかを説明します。この機能は、Fedora 13 の rsyslog 6.1.0 (v6-Devel) でテストおよび検証されています (手順は OS によって異なる場合があります)。rsyslog がシステムですでに動作していることが前提です。インストールと構成に関する注意事項については、ドキュメントを参照してください。オンデマンド デバッグはバージョン 4.5.7 以降で使用できます。
このオプションを機能させるには、まずこれを有効にする必要があります。これは、これを有効にして、デバッグ ログ ファイルのパスを指定することによって行われます。ルート権限でターミナルを開き、次のコマンドを使用します。
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
ファイル内で上記のデバッグ方法を使用しようとしましたが、コマンドとして認識されないなどのrsyslog.conf
エラーがログに記録されました。$DebugFile
私の解決策は、オンデマンドデバッグの詳細なプロセスに従うことでしたここ。
少し長くなったが、少なくともうまくいった。