Index · Directives · Python · libudev · gudev systemd 210
journalctl — systemd ジャーナルを見る
journalctl [OPTIONS...] [MATCHES...]
journalctl は、systemd-journald.service(8) が書いた、 systemd(1) ジャーナルの内容を見るのに使う。
パラメータなしで呼ばれた場合、採取された最も古いエントリから始まるすべてのジャーナル内容を表示する。
1つ以上のマッチ引数を与えると、出力は、それによってフィルターされる。マッチの形式は、"FIELD=VALUE" 例えば、"_SYSTEMD_UNIT=httpd.service" であり、構造化されたジャーナルエントリのコンポーネントを参照する。よく使われるフィールドは、systemd.journal-fields(7) を参照。複数のマッチが、異なるフィールドに対して指定された場合、ログエントリは両方でフィルターされる。つまり、すべてのマッチに合うものだけが出力される。2つのマッチが同じフィールドに指定された場合、代替と解釈される。つまり、そのフィールドがどちらかにマッチするものが出力される。最後に、 "+" 文字がコマンドラインで単独で使用された場合、その前と後のすべてのマッチは、論理和として結合される。
いくつかのフィールドと値のタイプのマッチの短縮形として、ファイルパスを指定できる。ファイルパスが実行形式ファイルを指すなら、これは正規化されたバイナリーパスの "_EXE=" マッチと同じである。同様にパスがデバイスノードなら、これはそのデバイスの "_KERNEL_DEVICE=" マッチである。
出力はすべてのアクセス可能なジャーナルファイルから集められる。ローテートされているものも、現在書かれているものも対象となり、システムに属するものも、アクセス可能なユーザージャーナルも含まれる。
すべてのユーザーは、自分のプライベートなユーザーごとのジャーナルへのアクセスを許可される。しかし、デフォルトでは、ルートと "systemd-journal" グループのメンバーであるユーザーだけが、システムジャーナルと他のユーザーのジャーナルへのアクセスができる。
出力はデフォルトで less によりページ表示される。長い行は画面の幅で「切り詰められる」。見えない部分は、左と右の矢印キーで見られる。ページングは無効にできる。以下の、--no-pager オプションと、「環境変数」セクションを参照。
端末に出力する時は、優先度によって行に色がつく。ERROR 以上のレベルの行は赤で、NOTICE 以上のレベルの行はハイライトされ,それ以外の行は普通に表示される。
以下のオプションがある:
--no-full, --full, -l¶
カラムに入りきらないフィールドを切り詰める。デフォルトは、完全にフィールドを見せ、ページャーが使われる時は、それによってラップあるいは切り詰めをさせる。
古いオプション、-l/--full は、--no-full を無効にする時以外は、役に立たない。
-a, --all¶
すべてのフィールドを、印字不可能文字があるときやとても長い時にも、完全に見せる。
-f, --follow¶
最近のジャーナルエントリーだけを見せる。新しくジャーナルに追加されるエントリーを連続して表示する。
-e, --pager-end¶
ただちに、使用されるページャーツールの中で、ジャーナルの最後に飛ぶ。暗黙的に -n1000 が指定され、ページャーがログを無限にバッファしないことを保証する。あらわにコマンドラインに -n と1000以外の数を指定すれば、そちらが優先する。このオプションは、 less(1) ページャー以外ではサポートされないことに注意。
-n, --lines=¶
最近のジャーナルイベントを表示するとき、表示されるイベント数を制限する。--follow が使われるとき、このオプションも暗黙的に使われる。正の整数である引数はオプショナルで、デフォルトは10.
--no-tail¶
follow モードでも、すべての記録された出力行を表示する。これを無効にするには、--lines= を使う。
-r, --reverse¶
出力を逆にし、最新のエントリーを最初に表示する。
-o, --output=¶
表示するジャーナルエントリーの形式を決める。以下のいずれかのオプションを取る。
short ¶
はデフォルトで、古典的な syslog ファイルとほぼ同じ形式で、1行に1つのジャーナルエントリーを表示する。
short-iso ¶
は似ているが、 ISO 8601 wallclock タイムスタンプを表示する。
short-precise ¶
は似ているが、タイムスタンプを完全なマイクロ秒精度で表示する。
short-monotonic ¶
は似ているが、 wallclock タイムスタンプのかわりに、 monotonic タイムスタンプを表示する。
verbose ¶
すべてのフィールドを含む完全に構造化されたエントリーアイテムを表示する。
export ¶
バックアップやネットワーク転送に適したバイナリー(ただし、ほぼ、テキストベース)ストリームにジャーナルをシリアライズする。(詳しくは、Journal Export Format を参照。)
json ¶
エントリーを、1行ずつ、 JSON データ構造にフォーマットする。(詳しくは、Journal JSON Format を参照。)
json-pretty ¶
エントリーを、 JSON データ構造にフォーマットする。ただし、人間に読みやすいように、複数行にする。
json-sse ¶
エントリーを、 JSON データ構造にフォーマットする。ただし、Server-Sent Events に適するようにラップする。
cat ¶
とても簡潔な表示を生成する。それぞれのジャーナルエントリーの実際のメッセージだけを、メタデータやタイムスタンプなしに表示する。
-x, --catalog¶
ログの行に、メッセージカタログからの説明テキストを追加する。説明のヘルプテキストがある場合、出力するログメッセージに追加する。この短いヘルプテキストは、エラーとログイベントのコンテキストや、推測される解決策、あるいはサポートフォーラム、開発文書へのポインター、関連するマニュアルへのポインターを説明する。ヘルプテキストはすべてのメッセージにあるわけではなく、限られたものだけにあることに注意。メッセージカタログについて詳しくは、Message Catalog Developer Documentation を参照。
注意:journalctl 出力をバグレポートに添付するとき、-x オプションは 使わないで 下さい。
-q, --quiet¶
通常ユーザーで実行するとき、システムジャーナルがアクセスできないことに関する警告メッセージを表示しない。
-m, --merge¶
リモートのものも含む、すべてのアクセス可能なジャーナルからのエントリーを混ぜて表示する。
-b [ID][±offset], --boot=[ID][±offset]¶
指定したブートのメッセージを表示する。"_BOOT_ID=" とのマッチを追加する。
引数はなくてもよく、その場合、現在のブートのログを表示する。
ブートIDが省略された場合、正の offset は、ジャーナルの最初からその数番目のブートを探し、ゼロ以下の offset は、ジャーナルの最後からその番目のブートを探す。なので、 1 は、時刻順にジャーナルの最初に見つかったブートであり、 2 はその次である。そして、-0 は最後のブートで、-1 は最後の1つ前のブートである。offset の指定がない場合は、 -0 と同じである。ただし、現在のブートが最後のブートでない場合を除く。(例えば、--directory が指定され、他のマシンのログを見ている時)
32文字の ID に offset をつけることもでき、その場合、ブート ID で指定したものからの相対位置を示す。負の値は以前のブートで正の値は以降のブートである。offset の指定がない場合、値ゼロとみなされ、指定した ID のブートのログを表示する。
--list-boots¶
現在のブートからの相対ブート番号、ID、そのブートの最初と最後のメッセージのタイムスタンプのリストを表形式で表示する。
-k, --dmesg¶
カーネルメッセージだけを表示する。これは、 -b を意味し、"_TRANSPORT=kernel" マッチを追加する。
-u, --unit=UNIT|PATTERN¶
指定した systemd ユニット UNIT あるいは、 PATTERN にマッチするすべてのユニットからのメッセージを表示する。パターンを指定した場合、ジャーナル中のユニット名のリストと指定したパターンを比較し、マッチするものすべてを使う。それぞれのユニット名に対して、そのユニットからのメッセージのマッチ("_SYSTEMD_UNIT=UNIT")を追加する。さらに、 systemd からのメッセージのマッチと、そのユニットのコアダンプに関するメッセージのマッチも追加する。
このパラメータは複数回指定できる。
--user-unit=¶
指定したユーザーセッションユニットのメッセージを表示する。そのユニットからのメッセージに関するマッチ("_SYSTEMD_USER_UNIT=" と "_UID=") を追加し、さらに、セッション systemd からのメッセージと指定したユニットのコアダンプに関するメッセージに関するマッチを追加する。
このパラメータは複数回指定できる。
-p, --priority=¶
メッセージの優先度あるいは優先度の範囲で出力をフィルターする。単一の数字あるいはテキストのログレベル(つまり、0/"emerg" から 7/"debug" の間)を取る。あるいは、 FROM..TO の形式で、数字あるいはテキストのログレベルの範囲を取る。ログレベルは、syslog(3) に書いてある通常の syslog ログレベルである。つまり、"emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7) である。単一のログレベルを指定した場合、このログレベル以下(つまり、より重要なもの)のすべてのメッセージを表示する。範囲を指定した場合、その範囲にあるすべてのメッセージを表示する。範囲の開始値と終了値も含む。これは、指定した優先度の "PRIORITY=" マッチを追加する。
-c, --cursor=¶
与えたカーソルで指定されるジャーナル内の位置から、エントリーの表示を始める。
--after-cursor=¶
このカーソルで指定したジャーナル内の位置の 後からエントリーの表示を始める。--show-cursor オプションがあるとき、カーソルを表示する。
--show-cursor¶
カーソルは、最後のエントリーの後、2つのダッシュの後に表示する。
-- cursor: s=0639...
カーソルの形式は、プライベートで、変更する可能性がある。
--since=, --until=¶
それぞれ、指定した日付を含めより新しい、あるいは指定した日付を含めより古いものから、エントリーの表示を始める。日付のしては、"2012-10-30 18:17:16" の形式でなくてはいけない。時刻を省略したら、"00:00:00" とみなす。秒の部分だけを省略したら、":00" とみなす。日の部分を省略したら、現在の日とみなす。あるいは、"yesterday", "today", "tomorrow" 文字列は、それぞれ、本日から1日前、本日、本日から1日後の 00:00:00 と理解する。"now" は現在時刻を指す。最後に、 "-" あるいは "+" でプレフィックスした相対時刻も指定できる。それぞれ、現在時刻より前と後の時刻を示す。
-F, --field=¶
ジャーナルのすべてのエントリーで、指定したフィールドのとることのできたすべてのデータ値を表示する。
--system, --user¶
システムサービスとカーネルからのメッセージを表示する。(--system の場合)現在のユーザーのサービスからのメッセージを表示する。(--user の場合)どちらも指定されない場合は、そのユーザーが見ることのできるすべてのメッセージを表示する。
-M, --machine=¶
実行中のローカルコンテナからのメッセージを表示する。接続するコンテナ名を指定する。
-D DIR, --directory=DIR¶
引数にディレクトリパスを取る。この指定があると、 journalctl はデフォルトのランタイムと system ジャーナルパスの代わりに、指定されたジャーナルディレクトリDIRに対してはたらく。
--file=GLOB¶
ファイルグロブを引数に取る。この指定があると、 journalctl はデフォルトのランタイムと system ジャーナルパスの代わりに、GLOB にマッチするジャーナルファイルに対してはたらく。複数回指定することができ、すべてのファイルの結果が適切にマージされる。
--root=ROOT¶
ディレクトリパスを引数に取る。この指定があると、 journalctl はルートディレクトリでなく、指定したディレクトリの下にあるカタログファイル階層に対してはたらく。(例えば、--update-catalog は、ROOT/var/lib/systemd/catalog/database を作成する。)
--new-id128¶
ジャーナル内容を表示するのでなく、メッセージを識別するための128ビットの新しいIDを生成する。これは、開発者が、自分のメッセージを導入し、識別可能とするために、新しい識別子を必要とする時に使うことを意図する。新しいIDを、ソースコードなどにコピーすることのできる3つの異なる形式で表示する。
--header¶
ジャーナル内容を表示するのでなく、アクセスしたジャーナルフィールドの内部的なヘッダー情報を表示する。
--disk-usage¶
すべてのジャーナルファイルの現在のディスク使用量を表示する。
--list-catalog [128-bit-ID...]¶
メッセージカタログの内容を、メッセージIDとその短い説明文字列の表形式でリストする。
128-bit-ID を指定した場合、そのエントリーだけを表示する。
--dump-catalog [128-bit-ID...]¶
メッセージカタログの内容を表示する。エントリーを、2つのダッシュとIDからなる行で分割する(形式は、 .catalog ファイルと同じ)。
128-bit-ID を指定した場合、そのエントリーだけを表示する。
--update-catalog¶
メッセージカタログのインデックスを更新する。新しいカタログファイルをインストールした時、削除した時、更新した時は毎回、バイナリーカタログインデックスを再作成するためにこのコマンドを実行する必要がある。
--setup-keys¶
ジャーナル内容を表示するのでなく、Forward Secure Sealing (FSS) のための新しいキーペアを生成する。sealing キーと verification キーを生成する。sealing キーはジャーナルデータディレクトリに保存され、そのホストに残るべきである。verification キーは外部に保存されるべきである。Forward Secure Sealing について詳しくは、journald.conf(5) のSeal= オプションを参照。それが基礎とする暗号理論を詳しく説明した学術論文へのリンクもそこにある。
--force¶
--setup-keys の指定があり、 Forward Secure Sealing (FSS) が既に設定されていたら、 FSS キーを再作成する。
--interval=¶
--setup-keys でFSS キーペアを生成するとき、 sealing キーの変更間隔を指定する。間隔が短いと CPU 消費を増すが、ジャーナル変更が検出できない時間範囲を短くすることができる。デフォルトは15分。
--verify¶
ジャーナルファイルの内部一貫性をチェックする。ファイルが、 FSS が有効で作成され、FSS verification キーを --verify-key= で指定した場合、ジャーナルファイルの真正性を検証する。
--verify-key=¶
--verify 操作で使う FSS verification キーを指定する。
-h, --help¶
短いヘルプテキストを表示して終了する。
--version¶
短いバージョン文字列を表示して終了する。
--no-pager¶
出力をページャーにパイプ出力しない。
成功したら0を返す。それ以外の場合、0以外の失敗コードを返す。
$SYSTEMD_PAGER¶
--no-pager の指定がない時に使われるページャー。$PAGER を上書きする。これを空文字列にするか、あるいは、"cat" を値とするのは、--no-pager を指定するのに等しい。
$SYSTEMD_LESS¶
less に与えられるデフォルトオプション ("FRSXMK") を上書きする。
引数がない場合、すべての採取されたログをフィルター無しで表示する。
journalctl
1つのマッチが指定されたら、その式にマッチするフィールドを持つすべてのエントリを表示する。
journalctl _SYSTEMD_UNIT=avahi-daemon.service
2つの異なるフィールドについてマッチが指定されたら、同時に両方の式にマッチするエントリだけを表示する。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
2つのマッチが同じフィールドなら、どちらかの式にマッチするすべてのエントリを表示する。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
セパレータ、"+" が使われた場合、2つの式を論理和できる。以下は、 PID 28097 の Avahi サービスプロセスからのすべてのメッセージ及び、 D-Bus サービス(プロセスを問わず)からのすべてのメッセージを表示する。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
D-Bus 実行形式ファイルが生成するすべてのログを表示する。
journalctl /usr/bin/dbus-daemon
カーネルデバイスノード /dev/sda のすべてのログを表示する。
journalctl /dev/sda
1つ前のブートのすべてのカーネルログを表示する。
journalctl -k -b -1
systemd(1), systemd-journald.service(8), systemctl(1), systemd.journal-fields(7), journald.conf(5)