【入門】systemd-journald とは?設定やログの確認方法

systemd-journald

systemd-journald (通称 journald) とは、ログの収集・保存サービスです。

主に以下のログが収集されます。

  • システムのログ
  • カーネルのログ
  • サービスのログ
  • ログインユーザーのログ
  • セキュリティのログ
  • cron のログ
関連記事:Linux の基本機能
スポンサーリンク

journald と rsyslog の違い

jounald と rsyslog の違いは以下のとおりです。

journaldrsyslog
対応 OSCentOS 7 以降CentOS 6 以前でも
(CentOS 7 以降は jounald から rsyslog に syslog を転送)
用途ログの収集・保存監視ソフトウェアがレガシーな rsyslog にしか対応してない場合

基本的に journald だけ使えば OK です。

Journal は systemd のコンポーネントで、ログファイルの表示および管理を担います。rsyslogd などの従来の syslog デーモンとの並列もしくはその代わりとして使用できます

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-using_the_journal
スポンサーリンク

journald の使い方

journal ログにアクセスするには、jounalctl コマンドを利用します。

journalctl
-- Logs begin at Thu 2013-08-01 15:42:12 CEST, end at Thu 2013-08-01 15:48:48 CEST. --
Aug 01 15:42:12 localhost systemd-journal[54]: Allowing runtime journal files to grow to 49.7M.
Aug 01 15:42:12 localhost kernel: Initializing cgroup subsys cpuset
Aug 01 15:42:12 localhost kernel: Initializing cgroup subsys cpu

jounalctl のオプション

このままだと全ての journal ログが表示されるので、オプションを利用します。

-e 最新部分を表示

journalctl -e

古い情報を辿る時は b キーを入力します。

似たようオプションに -r があります。これはログを下から表示します。

-x 追加の情報

詳細なログを確認できます。

journalctl -xe

-u ユニット (サービス) を指定

nginx のログだけを見たい場合は以下

journalctl -u nginx

-o verbose ログの全情報

journalctl -o verbose

_UID 指定したユーザーID

journalctl _UID=1000
スポンサーリンク

logger 任意のログを生成

journal ログを検証する場合、任意のログを生成したくなります。

そんな時は logger コマンドを利用します。

logger "test log"
journalctl -e
 5月 21 14:33:39 xxxx user[xxxx]: test log

jounald の設定

jounald の設定ファイルは /etc/systemd/journald.conf です。

特によく利用する設定は以下です。

ログの保存先

cat /etc/systemd/journald.conf|grep Storage
#Storage=auto
Storage の値説明
auto/var/log/journal ディレクトリの有無によって変化
・ある: /var/log/journal 配下に保存
・ない: /run/log/journal 配下に保存
persistent/var/log/journal 配下に保存
volatile/run/log/journal 配下に保存
/run/log/journal ディレクトリは揮発性なので、再起動すると消える

ログのサイズ上限

journal ログがストレージから溢れないように、上限を設定します。

cat /etc/systemd/journald.conf|grep SystemMaxUse
#SystemMaxUse=

SystemMaxUse= and RuntimeMaxUse= control how much disk space the journal may use up at most.

The first pair defaults to 10% (中略) of the size of the respective file system, but each value is capped to 4G.

https://www.freedesktop.org/software/systemd/man/journald.conf.html

関連情報

関連記事:Linux の基本機能

参考サイト

23.10. Journal の使用 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.