Linux journalctl コマンド

Linux 命令大全Linux コマンド大全


journalctl とは?

journalctl は、Linux システムで systemd のログを照会・表示するための強力なツールです。systemd エコシステムの一部として、集中化されたログ管理機能を提供し、従来の syslog サービスを置き換えます。

主な特徴

  1. バイナリログ保存:ログをバイナリ形式で保存し、検索効率を向上させます
  2. 構造化ログ:メタデータや構造化されたログフィールドの追加をサポート
  3. リアルタイム監視:ログの変化をリアルタイムで追跡できます
  4. 多彩なフィルタ方法:時間、サービス、優先度など、さまざまな条件でフィルタリングをサポート

基本構文

journalctl の基本的なコマンド形式は次のとおりです:

journalctl [选项] [匹配条件...]

よく使うオプション一覧

オプション 説明
-b 今回の起動のログを表示
-f ログを追跡(tail -f と同様)
-k カーネルメッセージのみ表示
-u 指定したユニットのログを表示
-n 直近の n 件のログを表示
--since 指定した時間以降のログを表示
--until 指定した時間以前のログを表示

よく使う操作例

1. 完全なシステムログを表示

例

journalctl

2. 今回の起動のログを表示

例

journalctl -b

3. 新しいログをリアルタイムで監視

例

journalctl -f

4. 特定のサービスのログを表示

例

journalctl -u nginx.service

5. 時間範囲で検索

例

journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 12:00:00"

6. エラーレベルのログを表示

例

journalctl -p err

ログの優先度フィルタ

journalctl はログの優先度によるフィルタリングをサポートしています。優先度の定義は次のとおりです:

優先度 数値 説明
emerg 0 緊急
alert 1 即時の対応が必要
crit 2 重大なエラー
err 3 一般的なエラー
warning 4 警告
notice 5 注意が必要な状況
info 6 一般的な情報
debug 7 デバッグ情報

使用例:

例

# エラー以上のレベルのログを表示
journalctl -p err

# 警告以上のレベルのログを表示
journalctl -p warning

上級者向けの使い方

1. ログが使用しているディスク容量を表示

例

journalctl --disk-usage

2. 古いログを削除

例

# 直近2日分のログを保持
journalctl --vacuum-time=2d

# ログの最大使用量を500MBに制限
journalctl --vacuum-size=500M

3. JSON形式で出力

例

journalctl -o json

4. 完全なフィールド情報を表示

例

journalctl -o verbose

5. 特定のフィールドでフィルタ

例

# 特定のプロセスIDのログを表示
journalctl _PID=1234

# 特定のユーザーのログを表示
journalctl _UID=1000

実用的なテクニック

1. 組み合わせ検索

例

# nginxサービスの昨日以降のエラーログを検索
journalctl -u nginx.service --since yesterday -p err

2. ページング表示

例

journalctl | less

3. ログをファイルにエクスポート

例

journalctl --since "2023-01-01" > journal.log

4. カーネルリングバッファのメッセージを表示

例

journalctl -k

5. システム起動プロセスのログを表示

例

journalctl -b0 | grep "Starting"

よくある問題の解決

問題1:ログが完全に表示されない

解決策:

例

# 出力行数の制限を増やす
journalctl --no-pager

問題2:ローテーションされた古いログを表示するには?

解決策:

例

# すべてのログを表示(アーカイブ済みを含む)
journalctl -a

問題3:特定の時点のログを表示するには?

解決策:

例

# 秒単位の正確な時間検索
journalctl --since "2023-01-01 12:00:00" --until "2023-01-01 12:05:00"

まとめのフローチャート

Linux 命令大全Linux コマンド大全

その他の拡張