journaldで閲覧できるログの種類について
厳密に言うとRHEL(OS)で管理されている以下のログをまとめて参照することができます。
journaldのイメージ図
1.カーネルのログ
起動時に出力されるログを指します。
例えば
dmesgコマンド実行して閲覧できるログがカーネルのログにあたります。
2.プロセスのログ
syslogで設定をして管理されているログを指します。
例えば
/var/log/messages
/var/log/secure
/var/log/maillog
などがsyslogにあたります。
3.systemdのログ
linuxのシステムとサービスを管理するログを指します。
例えば
「systemctl status サービス名」などで閲覧できるログがsystemdのログを指します。
journaldで取得できないログについて
httpd、nginxなどのサービスを起動させて出力される「access.log」「error.log」などアプリケーションが出力する独自のログはjournaldのログには保管されません。
しかし
postfixサービスのmaillogのように、syslogデーモンへ送信できるものであればjournalのログに保管することができます。
journaldのログ閲覧方法について
journaldのログを閲覧するには以下のコマンドを実行します。
journalctl
journaldとrsyslogの違いについて
rsyslogはjournaldが受け取ったログからファイル分割(messages、secure、maillogなど)したり、必要な情報だけに加工(ファシリティー設定、プライオリティ設定)して出力しているログになります。
ということは、「Journal DB」と「rsyslogのログ」と2カ所でログが保管されていることになります。
【まとめ】journalとは
journalはログファイルを表示したり管理したりするものです。
ログデータはjournalのjournald(systemd-journald.service)サービスがログの収集、journal専用のDBに保管、処理したりします。
journal専用のDB(Journal DB)に保管されたログにアクセスするために、「journalctl」コマンドを利用します。
「journalctl」コマンドを利用して時間指定、サービス指定などさまざま方法でログを閲覧することができます。
コメント