Linuxシステムのログ管理は、システムトラブル解析に不可欠です。journalctlはsystemdのジャーナル(ログ)を扱うコマンドで、システム全体・ユーザー単位で詳細なログを簡単に取得・操作できます。
journalctlとは?
journalctlは、systemdによって収集・管理されるログを閲覧・検索・管理するための標準ツールです。ログはバイナリ形式で保存され、高速に検索やフィルターが可能です。
単純にjournalctlと入力すると、起動以降の全ログを時系列で表示します。
主なオプション一覧と使い方
| オプション | 説明 | 使用例 |
|---|---|---|
-b | 現在の起動(または-b -1で前回起動)のログを表示 | journalctl -b |
-u <unit> | 指定したsystemdユニットのログを表示 | journalctl -u nginx.service |
-f | 新規ログが追加されたらリアルタイムで表示(tail -f相当) | journalctl -f |
-r | ログを新しい順に逆順表示 | journalctl -r |
-k | カーネルメッセージのみ表示 | journalctl -k |
--since | 指定日時以降のログを表示 | journalctl --since "2025-10-01" |
--until | 指定日時までのログを表示 | journalctl --until "2025-10-19" |
-p | ログの優先度フィルタリング(emerg–debugまで数値または単語指定) | journalctl -p err / journalctl -p warning..err |
-o | 出力フォーマット指定(short,verbose,json など) | journalctl -o json |
--disk-usage | ジャーナルが使用しているディスク容量を表示 | journalctl --disk-usage |
--vacuum-size, --vacuum-time | 古いログの削除(サイズや保存期間で指定) | journalctl --vacuum-size=1G |
よく使う活用例
・特定ユニットのログ確認
journalctl -u ssh.service・リアルタイム監視でログを追う
journalctl -f・起動後のログのみ抽出
journalctl -b・指定日時のログ表示
journalctl --since "2025-10-15 00:00" --until "2025-10-19 23:59"・カーネルログだけ閲覧
journalctl -k・重要度の高いログだけ表示
journalctl -p errjournald設定のポイント
/etc/systemd/journald.confでログの保存形式や容量制限、永続化設定が可能。
Storage=persistentを設定すると/var/log/journal/に永続化保存。- ログサイズ制限や圧縮方式の指定も可能。
まとめ
journalctlは、Linuxのsystemdログ管理における要のコマンドであり、詳細かつ柔軟なログ検索・表示が可能です。豊富なオプションを覚えることで、システムトラブルの調査や監視作業に大いに役立ちます。ぜひ実際の運用で使いこなしてみてください。





コメント