rsyslogとjounaldログの違いについて
rsyslogはjournaldが保管したログを参照してログファイルに出力します。
journaldのログがあればsyslogは不要ではと考えてしまいますが、rsyslogではファシリティー、セベリティを設定して必要なログ情報だけを抽出して保管することができます。
jounaldについて詳しく知りたい方は、以下を参照ください。
jounaldのログを参照するケース
サーバで障害が発生し、すべてのイベントログを確認したいとき利用すると便利です。
rsyslogでは、ファシリティー、セベリティでログ出力が制限されており、確認したいログを出力されていない場合があります。
また、用途に合わせてファイルを分けて出力しているので、どのファイルに出力されるログなのか把握しておく必要があります。
jounaldでログを見るケースは、どのファイルに出力されたログなのか?が分からなかったり、時間帯を絞って、すべてのログを参照したい場合に非常に便利です。
rsyslogのログを参照するケース
業務でログの内容を絞って毎回確認したい場合やサービスが明確になっていて、ログを用途ごとに分けて確認したい場合に利用すると便利です。
journaldのログは、あらゆるログが保管されているので、目的以外のログと混じってログを確認するケースが発生し、ログが見づらくなる場合があります。
rsyslogでログを見るケースは、ログの内容を制限して目的のログを効率よく確認したい場合に非常に便利です。
journaldログの注意事項
journaldのログとrsyslogで設定するログで同じログが2重で保管されていることになるのですが、journaldのログはサーバが再起動すると消えてしまいます。
ログを保存しておきたい場合は、rsyslogでログを保管するか、journaldの設定を変更して再起動してもログが保管できるように設定しておく必要があります。
基本、rsyslogで設定したログを参照し、何かあったときにjournaldでログを確認できるようにしておくと便利です。
journaldログの保管容量は、設定できるのでディスク容量を圧迫させない程度に無理なく保管することで、2重のログ管理の負担を軽減できます。
journaldとrsyslogのログ出力の違いを検証
journaldで管理されているログを利用してrsyslogのログは出力されています。
rsyslogの出力制限(ファシリティー、セベリティ)の設定でログが出力されなくてもjournaldで管理されているログ(原本)は残っています。
この検証は、journaldのログを参照することで、すべてのログが閲覧できることを確認できます。
【検証1】journaldとrsyslogの両方にログが出力されているケース
サーバへssh接続した時のログを「/var/log/secure」へ出力されるようにrsyslogで設定しています。このログがjournaldのログでも出力されていることを確認します。
rsyslogで設定したログを確認
【1.】から【6.】まで
journaldで出力されたログを確認
【7.】から【8.】まで
【検証2】journaldにログが出力されrsyslogにログが出力されないケース
サーバへssh接続した時のログを「/var/log/secure」へ出力されないようにrsyslogで設定しています。このログがjournaldのログでは出力されていることを確認します。
rsyslogの設定でログが出力されないことを確認
【1.】から【6.】まで
journaldで出力されたログを確認
【7.】から【8.】まで
【検証3】rsyslogで制限したログがjournaldのログで出力されている事を確認
rsyslogの設定で「/var/log/messages」にログを出力する設定にしています。
「/var/log/messages」は、ログ制限(「ファシリティー」・「セベリティ」)により
「user.info」のログレベルは出力されます。
「user.debug」のログレベルは出力されません。
このログをjournaldのログでは、すべて出力されていることを確認します。
rsyslogの「/var/log/messages」の設定を確認
【1.】から【3.】まで
「/var/log/messages」へ「user.info」のログ出力とjournaldのログ
【4.】から【6.】まで
journaldのログ【6.】にもログが出力されている
「/var/log/messages」へ「user.debug」のログ出力とjournaldのログ
【7.】から【9.】まで
journaldのログ【9.】には出力されている
コメント