【ジャーナルシーティーエル】

journalctl とは?

💡 Linuxの「航海日誌」を検索・閲覧できるログビューア
📌 このページのポイント
journalctl:systemd ログの閲覧 systemd サービス nginx sshd mysql cron すべてのログが集約 journald バイナリログ 一括管理 journalctl -u nginx → サービス指定 -p err → 優先度フィルタ --since today → 日時フィルタ $ journalctl -u nginx --since today $ journalctl -fu nginx リアルタイム監視 $ journalctl -p err -b 今回起動以降のエラー 従来の /var/log/syslog に代わるモダンなログ管理
journalctlによるsystemdログの閲覧イメージ
ひよこ ひよこ

Linuxのログってどこに保存されてるの?

ペンギン先生 ペンギン先生

最近のLinuxではsystemdの「journald」というサービスがログを一括管理しているよ。そのログを見るのがjournalctlコマンドなんだ。昔は/var/log/以下のテキストファイルを見てたけど、今はjournalctlの方がずっと便利だよ

ひよこ ひよこ

特定のサービスのログだけ見たいときは?

ペンギン先生 ペンギン先生

「journalctl -u nginx」みたいにサービス名を指定するんだ。Webサーバーが動かないときに「journalctl -u nginx --since today」と打てば、今日のnginxのログだけ絞り込めるよ

ひよこ ひよこ

リアルタイムでログを監視するには?

ペンギン先生 ペンギン先生

「journalctl -f」でtail -fみたいにリアルタイム表示できるよ。「journalctl -fu nginx」ならnginxのログだけリアルタイムで追いかけられるんだ

ひよこ ひよこ

エラーだけを表示したいときはどうすればいいの?

ペンギン先生 ペンギン先生

「journalctl -p err」で優先度がerror以上のログだけ表示できるよ。優先度はemerg、alert、crit、err、warning、notice、info、debugの8段階あるんだ。さらに「journalctl --disk-usage」でログがどれくらいディスクを使っているか確認して、「journalctl --vacuum-size=500M」で500MBに制限する、なんてストレージ管理もできるんだよ。サーバーのディスクがログで溢れるのはあるあるだから、覚えておくと助かるね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「journalctl」って出てきたら「systemdのログを見る・検索するコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「journal control」 = ジャーナル(日誌)制御
💬 「journal(日誌)」を「control(制御・操作)」するという意味だよ。systemdのログ管理機能「journald」と対になるコマンドなんだ
← 用語集にもどる