journalctl の共通コマンド
基本的な表示
| 指示 | 説明 |
|---|---|
journalctl | すべてのログを表示する |
journalctl -e | ログの最後にジャンプします |
journalctl -f | 新しいログエントリをリアルタイムで追跡します |
journalctl -n 50 | 最新の 50 件のログ エントリを表示する |
journalctl --no-pager | ページングなしで出力する |
時間によるフィルター
| 指示 | 説明 |
|---|---|
journalctl -b | 現在の起動以降のログ |
journalctl -b -1 | 前回の起動時のログ |
journalctl --since "2026-03-24 10:00:00" | 開始時刻を指定する |
journalctl --since "2026-03-24" --until "2026-03-25" | 時間範囲を指定する |
journalctl --since "1 hour ago" | 最後の 1 時間 |
journalctl --since "30 min ago" | 最後の 30 分 |
journalctl --since yesterday | 昨日から |
journalctl --since today | 今日から |
サービスでフィルタリングする
| 指示 | 説明 |
|---|---|
journalctl -u nginx | 特定のサービスのログを表示する |
journalctl -u nginx -u php-fpm | 複数のサービスのログを表示する |
journalctl -u service-name -f | 特定のサービスをリアルタイムでフォローする |
優先度によるフィルター
| レベル | 番号 | 説明 |
|---|---|---|
| 現れる | 0 | システムが使用不可 |
| 警告 | 1 | 直ちに対応が必要です |
| クリティカル | 2 | 重大なエラー |
| エラー | 3 | 一般的なエラー |
| 警告 | 4 | 警告 |
| 知らせ | 5 | 知らせ |
| 情報 | 6 | 情報提供 |
| デバッグ | 7 | デバッグ |
| 指示 | 説明 |
|---|---|
journalctl -p err | エラー以上のみを表示 |
journalctl -p warning | 警告以上のみを表示 |
journalctl -p err..crit | 優先順位の範囲を指定する |
プロセス/ユーザーによるフィルター
| 指示 | 説明 |
|---|---|
journalctl _PID=1234 | PIDによるフィルター |
journalctl /usr/sbin/nginx | 実行可能パスによるフィルター |
journalctl _UID=1000 | ユーザーIDでフィルタリングする |
journalctl _COMM=sshd | プロセス名でフィルタリングする |
カーネルログ
| 指示 | 説明 |
|---|---|
journalctl -k | カーネルメッセージのみを表示します (dmesg と同様) |
journalctl -k -b | 現在のブートからのカーネル ログ |
出力フォーマット
| 指示 | 説明 |
|---|---|
journalctl -o json-pretty | JSON形式 |
journalctl -o short | ショートフォーマット |
journalctl -o verbose | 詳細形式 (すべてのフィールド) |
journalctl -o cat | メッセージ内容のみ |
journalctl -u nginx --since today > /tmp/nginx-log.txt | ファイルにエクスポート |
ディスク容量の管理
| 指示 | 説明 |
|---|---|
journalctl --disk-usage | ログディスクの使用状況を確認する |
sudo journalctl --vacuum-time=7d | ログは 7 日間のみ保持します |
sudo journalctl --vacuum-size=500M | ログを 500MB に制限する |
sudo journalctl --vacuum-files=5 | ログ ファイルは 5 つまでに制限 |
永続的な構成: /etc/systemd/journald.conf を編集し、SystemMaxUse=500M、SystemMaxFileSize=50M、MaxRetentionSec=1month を設定してから、sudo systemctl restart systemd-journald を実行します。
ブートレコードの表示
| 指示 | 説明 |
|---|---|
journalctl --list-boots | すべてのブート レコードを一覧表示する |
journalctl -b -1 | 以前のブート ログを表示する |
journalctl -b -2 | 2 回前のブートからのログを表示する |
実践例
| 指示 | 説明 |
|---|---|
journalctl -u ssh --since today | grep "Failed" | 今日の SSH のログイン失敗を見つける |
journalctl -b -p err --no-pager | 現在のブートからのエラーを表示する |
journalctl -u nginx --since "1 hour ago" --no-pager -o short-iso > /tmp/nginx.log | サービスの過去 1 時間のログをエクスポートする |
journalctl -f -u nginx -u php8.5-fpm -u mysql | 複数のサービスをリアルタイムで監視する |