手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 ログ確認の基本 – journalctl と /var/log を切り分ける

関連する記事

Ubuntu 26.04 でログを確認する時は、まず journalctl で systemd journal を見ます。そのうえで、アプリケーションが個別に書き出すログやローテーションされたログを /var/log で確認します。

この記事では、現在の起動、前回起動、サービス単位、優先度、時刻範囲、追跡表示、/var/log 配下の確認を分けて扱います。障害時に何を見るかを決めるための基本手順です。

journalctl と /var/log の役割

  • journalctl: systemd journal に記録された OS、サービス、カーネルのログを確認します。
  • /var/log: アプリケーションや従来型 daemon がファイルとして出力するログを確認します。
  • journalctl -u: 特定サービスのログを確認します。
  • journalctl -b: 起動単位でログを確認します。

今回起動中のエラーを見る

まず、現在の起動で発生しているエラーを確認します。再起動直後の確認や障害調査では、範囲を今回起動中に絞ると余計な過去ログを避けられます。

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

前回起動のログを見る

再起動後に状態が変わった場合は、前回起動のログを見ます。停止直前や再起動前の失敗を確認できます。

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

起動履歴を確認する

どの起動単位を見ればよいか分からない場合は、boot ID の一覧を確認します。

journalctl --list-boots
journalctl -b 0 --no-pager
journalctl -b -1 --no-pager

サービス単位でログを見る

対象サービスが分かっている場合は、unit 名で絞ります。systemctl status で見える直近ログだけでは足りない時に使います。

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

時刻範囲で絞る

発生時刻が分かっている場合は、時刻範囲で絞ります。運用作業や監視通知の時刻と照合する時に便利です。

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
dmesg -T

認証ログを見る

SSH ログイン、sudo、PAM などの認証まわりは auth.log と journal の両方を確認します。

sudo tail -n 100 /var/log/auth.log
journalctl _COMM=sshd -b --no-pager
journalctl _COMM=sudo -b --no-pager

/var/log のログファイルを確認する

アプリケーションがファイルにログを書いている場合は、/var/log 配下を確認します。ローテーション済みのファイルも含めて見ると、直近だけでは見えない事象を追えます。

ls -lh /var/log
sudo tail -n 100 /var/log/syslog
sudo tail -n 100 /var/log/kern.log
sudo zcat /var/log/syslog.2.gz | tail -n 100

ログを追跡する

設定変更やサービス再起動の直後は、ログを追跡表示して変化を見ます。別の端末で操作しながら確認する場面で使います。

journalctl -f
journalctl -u ssh.service -f
sudo tail -f /var/log/syslog

優先度を指定する

ログ量が多い時は優先度で絞ります。err は明確なエラー、warning は警告以上を確認する時に使います。

journalctl -p err -b --no-pager
journalctl -p warning -b --no-pager
journalctl -p info -u ssh.service -b --no-pager

出力形式を変える

詳細なフィールドが必要な場合や、ログを機械的に扱う場合は出力形式を変えます。

journalctl -u ssh.service -o short-iso --no-pager
journalctl -u ssh.service -o verbose --no-pager
journalctl -u ssh.service -o json-pretty --no-pager

ログ容量を確認する

journal が肥大化していないか確認します。保存量の制御は journald の設定で行います。

journalctl --disk-usage
sudo du -sh /var/log
sudo find /var/log -type f -size +100M -ls

確認する順番

  • systemctl --failed で失敗 unit を確認する。
  • journalctl -b -p err で今回起動中のエラーを見る。
  • 対象サービスが分かる場合は journalctl -u で絞る。
  • 時刻が分かる場合は --since--until で絞る。
  • アプリケーション固有のログは /var/log 配下を見る。

確認項目

  • 今回起動中のエラーと前回起動のエラーを分けて確認しているか。
  • サービス名、時刻範囲、優先度でログを絞れているか。
  • journal と /var/log のどちらに記録されるログかを確認しているか。
  • ローテーション済みログを見落としていないか。
  • ログ容量が肥大化していないか。

まとめ

Ubuntu 26.04 のログ確認では、まず journalctl で起動単位、サービス単位、優先度、時刻範囲を切り分けます。必要に応じて /var/log のファイルログやローテーション済みログを確認すると、サービス障害、起動時エラー、認証失敗、カーネルまわりの問題を追いやすくなります。

関連する記事
Ubuntu 26.04 ログ確認の基本 – journalctl と /var/log を切り分ける

コメントを残す

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

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

トップへ戻る