サイトアイコン 協栄情報ブログ

journalctl でサービスの起動ログを抽出する

journalctl でサービスの起動ログを抽出する

systemd で管理しているサービスが いつ立ち上がったのか を確認したい場面は多いです。 ここでは journalctl を使って、特定サービスの起動ログを抽出する方法をまとめます。

journalctl とは?

journalctlsystemd のログ管理ツールです。 Linux システムで稼働しているサービスやカーネルメッセージなどを統合的に管理しており、systemd-journald が記録したログを閲覧・検索するために利用します。

特徴として:

つまり、systemd 環境では標準的なログ確認手段です。

基本コマンド

journalctl -u <サービス名> --since "YYYY-MM-DD 00:00:00" --until "YYYY-MM-DD 00:00:00" \
  --output=short-iso --no-pager \
| grep -Ei "<パターン>"

オプションの意味

例1: JupyterHub の起動確認

JupyterHub が サーバー準備完了を出力したログを抽出する場合:

journalctl -u jupyterhub --since "2020-08-01 00:00:00" --until "2020-09-01 00:00:00" \
  --output=short-iso --no-pager \
| grep -Ei "Server .* is ready"

例2: nginx の起動確認

nginx が 起動したタイミングを確認する場合:

journalctl -u nginx --since "2020-08-01" --until "2020-09-01" \
  --output=short-iso --no-pager \
| grep -Ei "started"

注意: grepパターンの汎用性

  • "Server .* is ready" (JupyterHub)
  • "started" (nginx)

これらのパターンは一般的ですが、実際のログメッセージは各サービスのバージョンや設定によって異なる場合があります。

他サービスでも応用可能

同じパターンは以下のようなサービスでも使えます:

他のパターン

まとめ

モバイルバージョンを終了