CentOS 7システムでは、journalctl
最後の起動以降に生成されたメッセージのみが印刷されます。
注文する
# journalctl --boot=-1
印刷
Failed to look up boot -1: Cannot assign requested address
状態 1 で終了します。
これを現在Fedoraシステムと比較してみると、CentOS 7にはこの機能がないことがわかりました/var/log/journal
(journalctl
提供しません--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/messages
rsyslogd(デフォルトで実行され、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
答え2
systemctl restart systemd-journald
ログが失われる可能性があります。参考https://github.com/systemd/systemd/issues/2236
mkdir /var/log/journal
一つある変化存在するv208
:
systemd-journaldは、生成されたログファイルのグループを「systemd-journal」グループに調整しません。代わりに、「systemd-journal」グループが所有するログディレクトリとそのsetgidビット設定を使用して、カーネルファイルシステム層が自動的にログファイルがこのグループ割り当てを継承するようにします。
systemdに含まれるtmpfiles.d(5)フラグメントは、setgidビットとグループがログディレクトリに正しく設定されていることを確認します(各起動にログディレクトリが存在する場合)。
だから、あなたは次のようなsystemd-tmpfiles --create --prefix /var/log/journal
ものを実行する必要がありますmkdir /var/log/journal
また、見ることができます: