Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
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 のファイルログやローテーション済みログを確認すると、サービス障害、起動時エラー、認証失敗、カーネルまわりの問題を追いやすくなります。

