手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 journald の基本設定 – journalctl と永続ログを管理する

関連する記事

Ubuntu 26.04 のログ確認では、systemd journal を扱う journald の状態を理解しておくと、再起動前後のログ、サービス単位のログ、容量制御を安定して扱えます。journalctl はログを見るコマンドで、保存方針は systemd-journald 側の設定で管理します。

この記事では、journald の永続化、容量上限、保持期間、圧縮、転送、ログ確認、設定反映を扱います。単なるログ閲覧ではなく、サーバー運用で後から追えるログを残すための基本設定です。

journald で決めること

  • ログを再起動後も残すかどうか。
  • journal がディスクを使いすぎないように上限を決めること。
  • 古いログをどの程度保持するか。
  • /var/log/syslog などへ転送するかどうか。
  • 障害調査で必要な期間のログを取得できるかどうか。

現在の状態を確認する

まず journald のサービス状態と journal の使用量を確認します。

systemctl status systemd-journald.service --no-pager
journalctl --disk-usage
journalctl --list-boots

今回起動中のログを確認する

通常の障害調査では、今回起動中のログから確認します。エラーだけを見る場合は優先度で絞ります。

journalctl -b --no-pager
journalctl -b -p err --no-pager
journalctl -b -p warning --no-pager

サービス単位で確認する

対象サービスが分かっている場合は unit 名で絞ります。直近だけ見る、追跡表示する、今回起動中に限定する、といった使い分けができます。

journalctl -u ssh.service -b --no-pager
journalctl -u ssh.service -n 100 --no-pager
journalctl -u ssh.service -f

永続ログを有効にする

再起動後も過去の journal を確認したい場合は、Storage=persistent を設定します。設定は drop-in ファイルとして分けておくと、既定ファイルを直接変更せずに管理できます。

sudo mkdir -p /etc/systemd/journald.conf.d
sudo tee /etc/systemd/journald.conf.d/10-persistent.conf >/dev/null <<'EOF'
[Journal]
Storage=persistent
EOF
sudo systemctl restart systemd-journald.service

容量上限を設定する

journal がディスクを圧迫しないように、システム全体とファイル単位の上限を設定します。値はサーバーの用途とディスク容量に合わせて決めます。

sudo tee /etc/systemd/journald.conf.d/20-size.conf >/dev/null <<'EOF'
[Journal]
SystemMaxUse=1G
SystemKeepFree=2G
SystemMaxFileSize=128M
EOF
sudo systemctl restart systemd-journald.service
journalctl --disk-usage

保持期間を設定する

容量だけでなく期間で古いログを削除したい場合は MaxRetentionSec を指定します。

sudo tee /etc/systemd/journald.conf.d/30-retention.conf >/dev/null <<'EOF'
[Journal]
MaxRetentionSec=30day
EOF
sudo systemctl restart systemd-journald.service

圧縮と転送を設定する

journal ファイルの圧縮や syslog への転送方針も journald 側で決められます。rsyslog と併用するサーバーでは転送設定も確認します。

sudo tee /etc/systemd/journald.conf.d/40-forward.conf >/dev/null <<'EOF'
[Journal]
Compress=yes
ForwardToSyslog=yes
EOF
sudo systemctl restart systemd-journald.service

設定内容を確認する

drop-in を含めた実際の設定を確認します。設定ファイルを追加した後は、サービス再起動後に状態とログを確認します。

systemd-analyze cat-config systemd/journald.conf
systemctl status systemd-journald.service --no-pager
journalctl -u systemd-journald.service -b --no-pager

古いログを手動で削除する

一時的に容量を減らしたい場合は、保持条件を指定して vacuum を実行します。これは現在の設定とは別に、手動で古い journal を削除する操作です。

sudo journalctl --vacuum-time=14d
sudo journalctl --vacuum-size=500M
journalctl --disk-usage

前回起動のログを確認する

永続ログが有効な場合、再起動前のログを boot ID で追えます。起動失敗や再起動前の異常を確認する時に使います。

journalctl --list-boots
journalctl -b -1 --no-pager
journalctl -b -1 -p err --no-pager

時刻範囲で確認する

監視通知や作業時刻が分かっている場合は、時刻範囲でログを絞ります。

journalctl --since "2026-07-05 10:00:00" --until "2026-07-05 10:30:00" --no-pager
journalctl -u ssh.service --since "1 hour ago" --no-pager

カーネルログを確認する

NIC、ディスク、ファイルシステム、OOM、ドライバーまわりはカーネルログを確認します。

journalctl -k -b --no-pager
journalctl -k -b -p warning --no-pager

確認項目

  • journalctl --list-boots で過去起動のログが見えるか。
  • journalctl --disk-usage で想定範囲の容量に収まっているか。
  • systemd-analyze cat-config systemd/journald.conf で drop-in が反映されているか。
  • 必要なサービスのログを journalctl -u で追えるか。
  • syslog へ転送する設計の場合、/var/log 側にもログが出ているか。

まとめ

Ubuntu 26.04 の journald 設定では、ログを残す期間、使用できる容量、syslog への転送、確認方法を合わせて決めます。Storage=persistent と容量上限を設定し、journalctl --list-bootsjournalctl --disk-usagesystemd-analyze cat-config で反映状態を確認しておくと、障害発生後に必要なログを追いやすくなります。

関連する記事
Ubuntu 26.04 journald の基本設定 – journalctl と永続ログを管理する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る