CentOS 7で以前の起動からのログメッセージを表示するには?

CentOS 7で以前の起動からのログメッセージを表示するには?

CentOS 7システムでは、journalctl最後の起動以降に生成されたメッセージのみが印刷されます。

注文する

# journalctl --boot=-1

印刷

Failed to look up boot -1: Cannot assign requested address

状態 1 で終了します。

これを現在Fedoraシステムと比較してみると、CentOS 7にはこの機能がないことがわかりました/var/log/journaljournalctl提供しません--list-boots)。

だから私の質問は、最後の開始日より前に作成されたログメッセージを表示する方法です。

それともCentOS 7でこの機能を有効にする必要がありますか?

journalctlマニュアルページにはバージョン番号として「systemd 208」が記載されています。)

ベストアンサー1

長すぎます。

CentOS 7では、ログメッセージの永続保存を有効にする必要があります。

# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald

そうしないと、起動の間にログメッセージは保持されません。

詳細

journald以前の実行のログメッセージを保持するかどうかを設定できます/etc/systemd/journald.conf。 CentOS 7のデフォルト設定は次のとおりです。

[Journal]
Storage=auto

どこJournald.conf のマニュアルページ次のように解釈されますauto

「揮発性」、「持続的」、「自動」、「なし」のいずれかです。 「揮発性」の場合、ジャーナルログデータはメモリ、つまり/run/log/journal階層(必要に応じて作成)にのみ保存されます。 「持続的」の場合、データは最初にディスクに保存されます。つまり、/var/log/journal階層(必要に応じて作成)に保存され、/run/log/journal(必要に応じて作成)に置き換えられ、早期起動ディスクは書き込めません。 」「永久的」に似ていますが、ディレクトリ/var/log/log必要に応じて作成されません。その存在がログデータの場所を制御するように

(強調は私のもの)

これsystemd-journald.service のマニュアルページしたがって、次のように指摘されます。

デフォルトでは、ジャーナルは/run/log/journal/にログデータを保存します。 /run/ は揮発性なので、再起動時にログデータが失われます。データを永久に作成するには、systemd-journaldがデータを保存する/var/log/journal/を作成するだけで十分です。

明らかにデフォルト値はFedora 19で行われた変更(永続ストレージ) CentOS 7はFedora 18から派生したため、基本的にはまだ永続的ではありません。デフォルトでは、永続性は/var/log/messagesrsyslogd(デフォルトで実行され、Journaldから入力を受け取る)によって作成された回転バージョンを介してJournaldの外部で実装されます。/var/log/messages-YYYYMMDD

したがって、RHEL / CentOS 7でJournaldを使用して永続ロギングを有効にするには、次の手順を実行する必要があります。

# mkdir /var/log/journal

その後、権限を変更し、次のようにしてジャーナルを再起動します。

# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald

おすすめ記事