journalctl - systemd ジャーナルからログエントリを出力します。
概要
journalctl [オプション...] [一致...]
説明
journalctl は、systemd-journald.service(8) および systemd-journal-remote.service(8) によって保存されたジャーナル内のログエントリを出力するために使用されます。
パラメータなしで呼び出された場合、呼び出しユーザーがアクセスできるジャーナルの内容を、最も古いエントリから表示します。
1 つ以上のマッチ引数が渡された場合、出力はそれに応じてフィルタリングされます。マッチは、"フィールド=値" の形式で、たとえば "_SYSTEMD_UNIT=httpd.service" のように、構造化されたジャーナルエントリのコンポーネントを参照します。systemd.journal-fields(7) を参照して、既知のフィールドのリストを確認してください。複数のマッチが異なるフィールドに適用される場合、ログエントリは両方でフィルタリングされ、結果の出力には、指定されたすべての種類のマッチに一致するエントリのみが表示されます。2 つのマッチが同じフィールドに適用される場合、それらは自動的に代替として一致するようにマッチされます。つまり、結果の出力には、同じフィールドに対して指定されたいずれかのマッチに一致するエントリが表示されます。最後に、"+" 文字は、コマンドライン上の他の用語の間に別の単語として表示できます。これにより、前後のすべてのマッチが論理和 (つまり、論理 OR) で結合されます。
絶対ファイルパスを引数として指定することで、エントリをフィルタリングすることもできます。ファイルパスはファイルまたはシンボリックリンクであり、ファイルはクエリの実行時に存在している必要があります。ファイルパスが実行可能バイナリを参照する場合、バイナリの正規化されたパスに対する "_EXE=" マッチがクエリに追加されます。ファイルパスが実行可能スクリプトを参照する場合、スクリプト名に対する "_COMM=" マッチがクエリに追加されます。ファイルパスがデバイスノードを参照する場合、カーネル名のデバイスと、そのすべての祖先デバイスに対する "_KERNEL_DEVICE=" マッチがクエリに追加されます。シンボリックリンクは逆参照され、カーネル名は合成され、親デバイスはクエリの実行時に環境から識別されます。一般に、デバイスノードは実際のデバイスの最良のプロキシであり、ログエントリには通常、実際のデバイスを識別するフィールドが含まれていません。結果のログエントリが実際のデバイスに対して正しいものになるようにするには、エントリがログに記録されたときの関連する環境の一部、特にデバイスノードに対応する実際のデバイスが、クエリの実行時と同じである必要があります。デバイスノードは通常、再起動間で対応するデバイスを変更するため、デバイスノードパスを指定すると、結果のエントリは現在のブートからのものに制限されます。
^ -boot、--unit=などのオプションを使用して追加の制約を指定することで、表示するエントリをさらに制限できます(論理 AND)。
出力は、ローテーションされているか、現在書き込み中であるかに関係なく、システム自体またはアクセス可能なユーザーのジャーナルに属するすべてのアクセス可能なジャーナルファイルからインターリーブされます。--headerオプションを使用して、どのファイルが表示されているかを識別できます。
使用するジャーナルファイルのセットは、--user、--system、--directory=、および--file=オプションを使用して変更できます。詳細は以下を参照してください。
すべてのユーザーは、各自のプライベートなユーザーごとのジャーナルにアクセスできます。ただし、デフォルトでは、rootユーザーと、いくつかの特殊なグループのメンバーのみが、システムジャーナルおよび他のユーザーのジャーナルにアクセスできます。systemd-journal、adm、およびwheelグループのメンバーは、すべてのジャーナルファイルを読み取ることができます。ただし、後者の 2 つのグループは、通常、ディストリビューションによって追加の権限が指定されています。wheelグループのメンバーは、多くの場合、管理タスクを実行できます。
出力はデフォルトでlessによってページングされ、長い行は画面幅に「切り捨てられます」。隠された部分は、左矢印キーと右矢印キーを使用して表示できます。ページングを無効にすることもできます。--no-pagerオプションと「環境」セクションを参照してください。
ターミナルに出力する場合、優先度に応じて行の色が変更されます。ERROR以上のレベルの行は赤色で表示され、WARNINGレベルの行は黄色で表示され、NOTICEレベルの行は強調表示され、INFOレベルの行は通常表示され、DEBUGレベルの行は灰色で表示されます。
ジャーナルにエントリを書き込むには、いくつかの方法があります。一般に、systemdユニットからの出力は自動的にジャーナルに接続されます。詳細はsystemd-journald.service(8)を参照してください。さらに、systemdcat(1)を使用して、メッセージを直接ジャーナルに送信できます。
ソースオプション
次のオプションは、ジャーナルレコードを読み取る場所を制御します。
--system, --user
システムサービスとカーネル(--systemを指定した場合)からのメッセージを表示します。現在のユーザーのサービスからのメッセージを表示します(--userを指定した場合)。どちらも指定しない場合は、ユーザーが見ることができるすべてのメッセージを表示します。
^ -userオプションは、--unit=引数の処理方法に影響します。--unit=を参照してください。
^ -userは、journald.conf(5)のStorage=設定で永続的なロギングが有効になっている場合にのみ機能します。
バージョン205で追加されました。
-M, --machine=
実行中のローカルコンテナからのメッセージを表示します。コンテナ名を指定して接続します。
バージョン209で追加されました。
-m, --merge
利用可能なすべてのジャーナル(リモートジャーナルも含む)からエントリをインターリーブして表示します。
バージョン190で追加されました。
-D DIR, --directory=DIR
引数としてディレクトリパスを取ります。指定した場合、journalctlは、デフォルトのランタイムおよびシステムジャーナルパスではなく、指定されたジャーナルディレクトリDIRで動作します。
バージョン187で追加されました。
-i GLOB, --file=GLOB
引数としてファイルグロブを取ります。指定した場合、journalctlは、デフォルトのランタイムおよびシステムジャーナルパスではなく、指定されたファイルグロブに一致するジャーナルファイルで動作します。複数回指定できます。その場合、ファイルは適切にインターリーブされます。
バージョン205で追加されました。
--root=ROOT
引数としてディレクトリパスを取ります。指定した場合、journalctlは指定されたディレクトリの下にあるジャーナルディレクトリとカタログファイル階層に対して操作を行います。ルートディレクトリに対して操作を行うのではなく(例:--update-catalogはROOT/var/lib/systemd/catalog/databaseを作成し、ROOT/run/journal/またはROOT/var/log/journal/の下にあるジャーナルファイルが表示されます)。
バージョン201で追加されました。
--image=IMAGE
引数としてディスクイメージファイルまたはブロックデバイスノードへのパスを取ります。指定した場合、journalctlは指定されたディスクイメージ内のファイルシステムに対して操作を行います。このオプションは--root=と似ていますが、ディスクイメージまたはブロックデバイスに格納されたファイルシステムに対して操作を行うため、ディスクイメージからログデータを抽出する簡単な方法を提供します。ディスクイメージは、ファイルシステムのみを含んでいるか、UAPI.2 Discoverable Partitions Specification[1]に従ってGPTパーティションテーブル内のファイルシステムのセットを含んでいる必要があります。サポートされているディスクイメージの詳細については、systemdnspawn(1)の同じスイッチを参照してください。
バージョン247で追加されました。
--image-policy=policy
引数としてイメージポリシー文字列を取ります。これは、systemd.image-policy(7)に準拠しています。ポリシーは、--image=で指定されたディスクイメージに対して操作を行う場合に適用されます。指定しない場合、デフォルトは"*"ポリシーであり、これはイメージ内の認識されたすべてのファイルシステムを使用することを意味します。
--namespace=NAMESPACE
引数としてジャーナルネームスペース識別子文字列を取ります。指定しない場合、デフォルトのネームスペースによって収集されたデータが表示されます。指定した場合、指定されたネームスペースのログデータが表示されます。ネームスペースを"*"として指定した場合、すべてのネームスペースからのデータがインターリーブして表示されます。ネームスペース識別子に"+"を付けて指定した場合、指定されたネームスペースとデフォルトのネームスペースからのデータがインターリーブして表示されますが、それ以上のネームスペースは表示されません。ジャーナルネームスペースの詳細については、systemd-journald.service(8)を参照してください。
バージョン245で追加されました。
フィルタリングオプション
次のオプションは、ジャーナルレコードをどのようにフィルタリングするかを制御します。
-S, --since=, -U, --until=
それぞれ、指定された日付以降またはそれ以降のエントリを表示するか、または指定された日付以前またはそれ以前のエントリを表示します。日付指定は、"2012-10-30 18:17:16"という形式である必要があります。時刻部分が省略された場合は、"00:00:00"と見なされます。秒コンポーネントのみが省略された場合は、":00"と見なされます。日付コンポーネントが省略された場合は、現在の日付と見なされます。また、"yesterday"、"today"、"tomorrow"という文字列も理解されます。これらはそれぞれ、現在の日付の前の日の00:00:00、現在の日付、または現在の日付の次の日を指します。"now"は現在の時刻を指します。最後に、相対時間を"-"または"+"で始まる形式で指定できます。これはそれぞれ、現在の時刻より前または後の時間を指します。完全な時間と日付の指定については、systemd.time(7)を参照してください。--output=short-fullは、正確にこの形式に従ったタイムスタンプを出力することに注意してください。
バージョン 195 で追加。
-c, --cursor=
指定されたカーソルで始まるジャーナルの位置からエントリの表示を開始します。
バージョン 193 で追加。
--after-cursor=
`--show-cursor` オプションで表示されるカーソルで指定された位置の後のジャーナルの位置からエントリの表示を開始します。
バージョン 206 で追加。
--cursor-file=FILE
FILE が存在し、カーソルが含まれている場合、この位置の後のエントリの表示を開始します。そうでない場合は、他の指定されたオプションに従ってエントリを表示します。最後に、最後のエントリのカーソルを FILE に書き込みます。このオプションを使用して、`journalctl` を順番に呼び出すことで、ジャーナルを継続的に読み取ります。
バージョン 242 で追加。
-b [[ID][±オフセット]|all], --boot[=[ID][±オフセット]|all]
特定のブートからのメッセージを表示します。これにより、`\_BOOT_ID=` の一致が追加されます。
引数は空にすることができます。この場合、現在のブートのログが表示されます。
ブート ID が省略された場合、正のオフセットは、ジャーナルの最初からブートを検索し、0 以下のオフセットは、ジャーナルの最後からブートを検索します。したがって、1 は、時間順にジャーナルで最初に見つかったブート、2 は 2 番目、以降も同様です。-0 は最後のブート、-1 は最後のブートの前のブート、以降も同様です。空のオフセットは、`--directory=` を指定して別のマシンのログを参照している場合など、現在のブートが最後のブートでない場合を除き、-0 を指定することと同じです。
32 文字の ID が指定された場合、オプションで、ID によって指定されたブートに対するオフセットを指定できます。負の値は、より前のブートを意味し、正の値は、より後のブートを意味します。オフセットが指定されていない場合、値は 0 と見なされ、ID によって指定されたブートのログが表示されます。
特別な引数 `all` は、以前に `-b` を使用した効果を打ち消すために使用できます。
バージョン 186 で追加。
-u, --unit=UNIT|PATTERN
指定された systemd ユニット UNIT (たとえば、サービス ユニット) または PATTERN に一致する任意のユニットのメッセージを表示します。パターンが指定された場合、ジャーナルで見つかったユニット名のリストが指定されたパターンと比較され、一致するすべてのユニットが使用されます。各ユニット名について、ユニットからのメッセージ (`_SYSTEMD_UNIT=UNIT`) の一致に加えて、systemd からのメッセージと、指定されたユニットのコアダンプに関するメッセージの一致が追加されます。`_SYSTEMD_SLICE=UNIT` の一致も追加されるため、指定された UNIT が systemd.slice(5) ユニットの場合、スライスのすべての子のログが表示されます。
`--user` を使用すると、すべての `--unit=` 引数が、`--user-unit=` で指定されたかのように、ユーザー メッセージに一致するように変換されます。
このパラメータは、複数回指定できます。
バージョン 195 で追加。
--user-unit=
指定されたユーザー セッション ユニットのメッセージを表示します。これにより、ユニットからのメッセージ (`_SYSTEMD_USER_UNIT=` および `_UID=`) の一致に加えて、セッション systemd からのメッセージと、指定されたユニットのコアダンプに関するメッセージの一致が追加されます。`_SYSTEMD_USER_SLICE=UNIT` の一致も追加されるため、指定された UNIT が systemd.slice(5) ユニットの場合、ユニットの子のすべての日誌が表示されます。
このパラメータは複数回指定できます。
バージョン 198 で追加されました。
-I, --invocation=ID[±offset]|offset
特定のユニットの呼び出しからのメッセージを表示します。これにより、"_SYSTEMD_INVOCATION_ID=", "OBJECT_SYSTEMD_INVOCATION_ID=", "INVOCATION_ID=", "USER_INVOCATION_ID=" の一致が追加されます。
正のオフセットは、ジャーナルから systemd ユニットの呼び出しを最初から検索し、ゼロまたは負のオフセットは、ジャーナルの末尾から呼び出しを検索します。したがって、1 は、時系列順にジャーナルで最初に見つかった呼び出し、2 は 2 番目の呼び出しを示します。一方、0 は最新の呼び出し、-1 は最新の呼び出しの前の呼び出しを示します。
32 文字の ID が指定された場合、オプションで ±offset を指定して、ID で与えられた呼び出しに対する相対的な呼び出しを指定できます。負の値は、それより前の呼び出しを意味し、正の値は、それより後の呼び出しを意味します。±offset が指定されていない場合、値はゼロと見なされ、ID で与えられた呼び出しのログが表示されます。
-I は --invocation=0 と同等であり、最新の呼び出しのログが表示されます。
オフセットが指定された場合、-u/--unit= または --user-unit= オプションでユニット名を指定する必要があります。
-b/--boot= とともに指定された場合、指定されたブート内の呼び出しが検索されます。
バージョン 257 で追加されました。
-t, --identifier=SYSLOG_IDENTIFIER
指定された syslog 識別子 SYSLOG_IDENTIFIER のメッセージを表示します。
このパラメータは複数回指定できます。
バージョン 217 で追加されました。
-T, --exclude-identifier=SYSLOG_IDENTIFIER
指定された syslog 識別子 SYSLOG_IDENTIFIER のメッセージを除外します。
このパラメータは複数回指定できます。
バージョン 256 で追加されました。
-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=" の一致が追加されます。
バージョン 188 で追加されました。
--facility=
syslog ファシリティで出力をフィルタリングします。カンマ区切りの数値またはファシリティ名のリストを指定します。名前は、syslog(3) に記載されている通常の syslog ファシリティです。 --facility=help を使用して、既知のファシリティ名のリストを表示して終了できます。
バージョン245で追加。
-g, --grep=
^ ESSAGE=フィールドが指定された正規表現と一致するエントリのみを出力するようにフィルタリングします。
Perl互換の正規表現が使用されます。詳細な構文については、pcre2pattern(3)を参照してください。
パターンがすべて小文字の場合、大文字と小文字を区別しないマッチングが行われます。それ以外の場合は、大文字と小文字を区別するマッチングが行われます。これは、--case-sensitiveオプションを使用してオーバーライドできます(以下を参照)。
^ -lines=(+で始まるものではない)とともに使用する場合、--reverseが暗黙的に適用されます。
バージョン237で追加。
--case-sensitive[=BOOLEAN]
パターンマッチングを大文字と小文字を区別するか、区別しないかに設定します。
バージョン237で追加。
-k, --dmesg
カーネルメッセージのみを表示します。これにより、\_TRANSPORT=kernelというマッチが追加されます。明示的に指定しない限り、--boot=0が暗黙的に適用されます。
バージョン205で追加。
出力オプション
以下のオプションは、ジャーナルレコードの印刷方法を制御します。
-o, --output=
表示するジャーナルエントリのフォーマットを制御します。次のオプションのいずれかを指定します。
short
デフォルトであり、クラシックなsyslogファイルと同様のフォーマットで、1つの行に1つのジャーナルエントリを表示します。
バージョン206で追加。
short-full
非常に似ていますが、`--since=`および`--until=`オプションで受け入れる形式でタイムスタンプを表示します。`short`出力モードで表示されるタイムスタンプ情報とは異なり、このモードでは曜日、年、タイムゾーンの情報がタイムスタンプに含まれ、ロケールに依存しません。
バージョン232で追加。
short-iso
非常に似ていますが、RFC 3339[2]プロファイルで定義されたISO 8601形式でタイムスタンプを表示します。
バージョン206で追加。
short-iso-precise
`short-iso`と同様ですが、マイクロ秒単位の完全な精度を含みます。
バージョン234で追加。
short-precise
`short-iso-precise`と同様ですが、マイクロ秒単位の完全な精度を持つ、クラシックなsyslog形式のタイムスタンプを表示します。
バージョン207で追加。
short-monotonic
非常に似ていますが、絶対時間ではなく単調なタイムスタンプを表示します。
バージョン206で追加。
short-delta
`short-monotonic`と同様ですが、前のエントリからの経過時間を含みます。信頼できない時間差は`*`でマークされます。
バージョン252で追加。
short-unix
非常に似ていますが、絶対時間ではなく、1970年1月1日UTCからの秒数をマイクロ秒単位で表示します(「UNIX時間」)。
バージョン230で追加。
verbose
すべてのフィールドを含む、完全な構造化エントリアイテムを表示します。
バージョン206で追加。
export
ジャーナルを、バックアップやネットワーク転送に適したバイナリ(ただし、ほとんどはテキストベース)ストリームにシリアライズします([Journal Export Format][3]を参照)。バイナリストリームをネイティブジャーナル形式にインポートするには、`systemd-journal-remote(8)`を使用します。
バージョン206で追加。
json
エントリをJSONオブジェクトとしてフォーマットし、改行文字で区切ります([Journal JSON Format][4]を参照)。フィールド値は通常、JSON文字列としてエンコードされますが、3つの例外があります。
4096バイトを超えるフィールドは、null値としてエンコードされます。(`--all`を渡すことでこれを無効にできますが、これにより非常に長いJSONオブジェクトが割り当てられる可能性があることに注意してください。)
ジャーナルエントリでは、同じログエントリ内に一意でないフィールドを許可します。JSON では、オブジェクト内で一意でないフィールドは許可されません。そのため、一意でないフィールドが検出された場合、そのフィールドの値のリストを配列として使用します。
印刷できない文字または UTF8 以外の文字を含むフィールドは、生のバイトを個別に符号なし数値としてフォーマットした配列としてエンコードします。
このエンコードは可逆的です (ただし、サイズ制限があります)。
バージョン 206 で追加されました。
json-pretty
エントリを JSON データ構造としてフォーマットしますが、人間が読みやすいように複数行にフォーマットします。
バージョン 206 で追加されました。
json-sse
エントリを JSON データ構造としてフォーマットしますが、Server-Sent Events[5] で使用できる形式でラップします。
バージョン 206 で追加されました。
json-seq
エントリを JSON データ構造としてフォーマットしますが、ASCII レコードセパレータ文字 (0x1E) をプレフィックスとして追加し、ASCII 行末文字 (0x0A) をサフィックスとして追加します。これは、JavaScript Object Notation (JSON) Text Sequences[6] ("application/json-seq") に準拠しています。
バージョン 240 で追加されました。
cat
非常に簡潔な出力を生成し、各ジャーナルエントリの実際のメッセージのみを表示し、タイムスタンプなどのメタデータは表示しません。`--output-fields=` オプションと組み合わせて使用すると、各ログレコードのリストされたフィールドが出力されます。
バージョン 206 で追加されました。
with-unit
short-full と同様ですが、従来の syslog 識別子の代わりに、ユニット名とユーザーユニット名をプレフィックスとして追加します。テンプレート化されたインスタンスを使用する場合に便利で、引数がユニット名に含まれます。
バージョン 239 で追加されました。
--truncate-newline
各ログメッセージを最初の改行文字で切り捨て、各メッセージの最初の行のみを表示します。
バージョン 254 で追加されました。
--output-fields=
出力に含めるフィールドのカンマ区切りのリスト。これは、通常はすべてのフィールドを表示する出力モード (verbose、export、json、json-pretty、json-sse、および json-seq) および cat に対してのみ効果があります。前者の場合、`__CURSOR`、`__REALTIME_TIMESTAMP`、`__MONOTONIC_TIMESTAMP`、および `_BOOT_ID` フィールドは常に印刷されます。
バージョン 236 で追加されました。
-n, --lines=
最も新しいジャーナルイベントを表示し、表示するイベントの数を制限します。引数は正の整数または "all" で、制限を無効にします。さらに、数値の先頭に "+" が付いている場合、最も古いジャーナルイベントが使用されます。引数が指定されていない場合のデフォルト値は 10 です。
`--follow` が使用されている場合、このオプションは暗黙的に使用されます。`+` でプレフィックスが付けられておらず、`--grep=` と一緒に使用されている場合、`--reverse` が暗黙的に使用されます。
-r, --reverse
出力を逆順にして、最も新しいエントリを最初に表示します。
バージョン 198 で追加されました。
--show-cursor
カーソルは、最後のエントリの後に 2 つのダッシュで表示されます。
-- cursor: s=0639...
カーソルの形式は非公開であり、変更される可能性があります。
バージョン 209 で追加されました。
--utc
時間を協定世界時 (UTC) で表します。
バージョン 217 で追加。
-x, --catalog
ログ行にメッセージカタログからの説明テキストを追加します。これにより、利用可能な場合にログメッセージの出力に説明のヘルプテキストが追加されます。これらの短いヘルプテキストは、エラーまたはログイベントのコンテキスト、考えられる解決策、およびサポートフォーラム、開発者ドキュメント、その他の関連マニュアルへのポインタを説明します。ヘルプテキストはすべてのメッセージで利用できるわけではなく、選択されたメッセージでのみ利用できます。メッセージカタログの詳細については、[Journal Message Catalogs][7] を参照してください。
注:`journalctl` の出力をバグレポートに添付する場合は、`-x` を使用しないでください。
バージョン 196 で追加。
-W, --no-hostname
ログメッセージのホスト名フィールドを表示しない。このオプションは、短い出力モードファミリー(上記参照)でのみ有効です。
注:このオプションは、ログエントリ自体からホスト名の出現を削除するものではないため、ログにホスト名が表示されないようにするものではありません。
バージョン 230 で追加。
--no-full, --full, -l
利用可能な列に収まらない場合にフィールドを省略します。デフォルトでは、フィールド全体を表示し、pager が使用されている場合は、フィールドを折り返すか切り捨てます。
古いオプション -l/--full は、--no-full を取り消す場合を除いて、もはや役に立ちません。
バージョン 196 で追加。
-a, --all
印刷できない文字が含まれている場合や非常に長い場合に、すべてのフィールドを完全に表示します。デフォルトでは、印刷できない文字を含むフィールドは「blob data」として省略されます。(ただし、pager は印刷できない文字を再度エスケープする場合があります。)
-f, --follow
最新のジャーナルエントリのみを表示し、Ctrl-C が押されるか(またはツールが何らかの方法で終了するまで)、ジャーナルに新しいエントリが追加されるたびに、それらを継続的に出力します。
`journalctl` は、初期化が完了し、ジャーナルへの監視を正常に確立すると、`sd_notify(3)` を使用して `READY=1` メッセージを送信します。
--no-tail
^ -lines= の効果を打ち消し、保存されているすべての出力行を表示します(フォローモードの場合も)。
-q, --quiet
すべての情報メッセージ(例:「Journal begins at ...」、「Reboot --」)と、通常ユーザーとして実行されたときにアクセスできないシステムジャーナルに関する警告メッセージを抑制します。
--synchronize-on-exit=
ブール値の引数を受け取ります。--follow モードで true で、SIGTERM/SIGINT が受信されたときにジャーナル同期要求(journalctl --sync と同等)が発行され、ログ出力は、この要求が完了するまで続行されます。これは、SIGTERM/SIGINT が発行されたときにログサブシステムにエンキューされたログデータがすべて処理され、ログ出力が終了するまでに表示されるようにするために、サービスまたは外部イベントの実行時間とジャーナルログ出力を同期させるのに役立ちます。デフォルトは false です。
バージョン 258 で追加。
PAGER 制御オプション
次のオプションは、ページャのサポートを制御します。
--no-pager
出力をページャにパイプしない。
-e, --pager-end
暗黙のページャツール内で、ジャーナルの末尾にすぐにジャンプします。これにより、--lines=1000 および --boot=0 が、明示的に指定されていない限り、適用されます。これにより、ページャがサイズが制限されていないログをバッファリングしないことが保証されます。ただし、このオプションは less(1) ページャでのみサポートされます。
バージョン 198 で追加されました。
フォワードセキュアシーリング (FSS) オプション
次のオプションは、以下に説明する --setup-keys コマンドとともに使用できます。
--interval=
^ -setup-keys を使用して FSS キーペアを生成するときに、シーリングキーの変更間隔を指定します。短い間隔ほど、CPU 使用量が増加しますが、検出できないジャーナル変更の期間が短くなります。デフォルトは 15 分です。
注意:--output=json-sse および --output=json-seq は、--output=json にサイレントに移行されます。
バージョン 189 で追加されました。
--verify-key=
^ -verify 操作に使用する FSS 検証キーを指定します。
バージョン 189 で追加されました。
--force
^ -setup-keys が渡され、フォワードセキュアシーリング (FSS) がすでに構成されている場合、FSS キーを再作成します。
バージョン 206 で追加されました。
コマンド
次のコマンドが認識されます。コマンドが指定されていない場合、デフォルトではジャーナルのレコードを表示します。
-N, --fields
現在、ジャーナルのすべてのエントリで使用されているすべてのフィールド名を印刷します。
バージョン 229 で追加されました。
-F, --field=
指定されたフィールドがジャーナルのすべてのエントリで持つ可能性のあるすべてのデータ値を印刷します。
バージョン 195 で追加されました。
--list-boots
現在のブートに対する相対的なブート番号、ID、およびそのブートに関する最初と最後のメッセージのタイムスタンプの表形式のリストを表示します。-n/--lines=[+]N オプションとともに指定した場合、最初 (番号が "+" で始まる場合) または最後の N 個のエントリのみが表示されます。-r/--reverse とともに指定した場合、リストは逆順で表示されます。
バージョン 209 で追加されました。
--list-invocations
ユニットの起動 ID を一覧表示します。-u/--unit= または --user-unit= でユニット名を指定する必要があります。起動番号 (現在または最新の起動に対する相対)、ID、およびその起動に関連する最初と最後のメッセージのタイムスタンプの表形式のリストを表示します。-b/-boot が指定された場合、ブート内の起動が表示されます。-n/--lines=[+]N オプションとともに指定した場合、最初 (番号が "+" で始まる場合) または最後の N 個のエントリのみが表示されます。-r/--reverse とともに指定した場合、リストは逆順で表示されます。
バージョン 257 で追加されました。
--disk-usage
すべてのジャーナルファイルの現在のディスク使用量を示します。これは、すべてのアーカイブされたジャーナルファイルとアクティブなジャーナルファイルのディスク使用量の合計を示します。
バージョン 190 で追加されました。
--vacuum-size=, --vacuum-time=, --vacuum-files=
`--vacuum-size=` は、使用するディスク容量が指定されたサイズを下回るまで、最も古いアーカイブされたジャーナルファイルを削除します。通常の "K", "M", "G", "T" サフィックス (基数は 1024) を受け入れます。
`--vacuum-time=` は、指定された期間よりも古いアーカイブされたジャーナルファイルを削除します。通常の "s" (デフォルト), "m", "h", "days", "weeks", "months", "years" サフィックスを受け入れます。詳細については、`systemd.time(7)` を参照してください。
`--vacuum-files=` は、指定された数の個別のジャーナルファイルのみを残します。
--vacuum-size= は、--disk-usage によって表示される出力に間接的な影響しか与えません。後者はアクティブなジャーナルファイルを含めるのに対し、vacuum 操作はアーカイブされたジャーナルファイルに対してのみ実行されるためです。同様に、--vacuum-files= は、アクティブなジャーナルファイルを削除しないため、指定された数よりもジャーナルファイルの数を実際に減らすとは限りません。
--vacuum-size=、--vacuum-time=、および --vacuum-files= は、アーカイブされたジャーナルファイルに対して、サイズ、時間、およびファイル数の制限を組み合わせて適用するために、単一の呼び出しで使用できます。これらの 3 つのパラメータのいずれかをゼロとして指定することは、特定の制限を適用しないことと同じであり、したがって冗長です。
これらの 3 つのスイッチは、--rotate と組み合わせて 1 つのコマンドにすることもできます。その場合、まずすべてのアクティブなファイルをローテーションし、次に要求された vacuum 操作を実行します。ローテーションによって、現在アクティブなファイルがすべてアーカイブされ(必要に応じて新しい空のジャーナルファイルが開かれる)、したがって vacuum 操作は、これまでに書き込まれたすべてのログデータを考慮に入れることができるため、最も効果的になります。
バージョン 218 で追加されました。
--verify
ジャーナルファイル内の整合性をチェックします。ファイルが FSS を有効にして生成され、--verify-key= で FSS 検証キーが指定されている場合、ジャーナルファイルの信頼性が検証されます。
バージョン 189 で追加されました。
--sync
ジャーナルデーモンに、まだ書き込まれていないすべてのジャーナルデータをバックアップファイルシステムに書き込み、すべてのジャーナルを同期するように要求します。この呼び出しは、同期操作が完了するまで返されません。このコマンドは、その呼び出しの前に書き込まれたすべてのログメッセージが、そのコマンドが返された時点でディスクに安全に保存されることを保証します。
バージョン 228 で追加されました。
--relinquish-var
ジャーナルデーモンに、--flush の逆操作を実行するように要求します。つまり、要求された場合、デーモンは /run/log/journal/ へのログデータの書き込みを停止し、/var/log/journal/ への書き込みを開始します。後続の --flush 呼び出しは、ログ出力が /var/log/journal/ に戻るようにします。上記を参照してください。
バージョン 243 で追加されました。
--smart-relinquish-var
--relinquish-var と似ていますが、ルートファイルシステムと /var/log/journal/ が同じマウントポイントにある場合は、何も操作を実行しません。この操作は、システムシャットダウン中に、ジャーナルデーモンが /var/log/journal/ へのデータの書き込みを停止するようにするために使用されます。これは、そのディレクトリがアンマウントする必要があるマウントポイントにある場合です。
バージョン 243 で追加されました。
--flush
ジャーナルデーモンに、永続ストレージが有効になっている場合、/run/log/journal/ に保存されているログデータを /var/log/journal/ にフラッシュするように要求します。この呼び出しは、操作が完了するまで返されません。この呼び出しはべき等であることに注意してください。データは、システム実行中に /run/log/journal/ から /var/log/journal/ に 1 回だけフラッシュされ、すでにフラッシュされている場合は、このコマンドは何もせずに正常に終了します。このコマンドは、すべてのデータが /var/log/journal/ にフラッシュされることを、そのコマンドが返された時点で保証します。
バージョン 217 で追加されました。
--rotate
ジャーナルデーモンにジャーナルファイルをローテーションするように要求します。この呼び出しは、ローテーション操作が完了するまで返されません。ジャーナルファイルのローテーションの効果は、現在アクティブなすべてのジャーナルファイルがアーカイブとしてマークされ、名前が変更されることです。これにより、それらには将来書き込まれることはありません。新しい(空の)ジャーナルファイルが作成され、それらの代わりに置き換えられます。この操作は、--vacuum-size=、--vacuum-time=、および --vacuum-file= と組み合わせて、1 つのコマンドにすることができます。上記を参照してください。
バージョン 227 で追加されました。
--header
ジャーナルコンテンツを表示する代わりに、アクセスされたジャーナルフィールドの内部ヘッダー情報を表示します。
このオプションは、特に、マシンが誤ったシステム時刻で起動されたときに発生する、順序が正しくないジャーナルエントリを識別しようとする場合に役立ちます。
バージョン 187 で追加されました。
--list-catalog [128-bit-ID...]
メッセージカタログの内容を、メッセージ ID とその短い説明文字列を含むテーブルとしてリストします。
128 ビット ID が指定されている場合、それらのエントリのみが表示されます。
バージョン 196 で追加されました。
--dump-catalog [128-bit-ID...]
メッセージカタログの内容を表示します。エントリは、2 つのダッシュと ID で構成される行で区切られます(形式は .catalog ファイルと同じです)。
128 ビット ID が指定されている場合、それらのエントリのみが表示されます。
バージョン 196 で追加されました。
--update-catalog
メッセージカタログインデックスを更新します。新しいカタログファイルがインストール、削除、または更新されるたびに、このコマンドを実行してバイナリカタログインデックスを再構築する必要があります。
バージョン 199 で追加されました。
--setup-keys
ジャーナルコンテンツを表示する代わりに、Forward Secure Sealing (FSS) の新しいキーペアを生成します。これにより、シールキーと検証キーが生成されます。シールキーはジャーナルデータディレクトリに保存され、ホストに保持する必要があります。検証キーは外部に保存する必要があります。journald.conf(5) の Seal= オプションを参照して、Forward Secure Sealing に関する情報と、その暗号理論の詳細を示す査読済みの学術論文へのリンクを確認してください。
バージョン 189 で追加されました。
-h, --help
短いヘルプテキストを表示して終了します。
--version
短いバージョン文字列を表示して終了します。
終了ステータス
成功した場合、0 が返されます。それ以外の場合は、ゼロ以外のエラーコードが返されます。
環境
$SYSTEMD_LOG_LEVEL
発行されるメッセージの最大ログレベル(より高いログレベルのメッセージ、つまり重要度の低いメッセージは抑制されます)。カンマ区切りの値のリストを受け取ります。値は、(重要度の高い順に) emerg、alert、crit、err、warning、notice、info、debug のいずれか、または 0〜7 の範囲の整数です。syslog(3) を参照して、詳細を確認してください。各値は、console、syslog、kmsg、または journal のいずれかの接頭辞を付けて、コロンの後に、特定のログターゲットの最大ログレベルを設定することができます(例:SYSTEMD_LOG_LEVEL=debug,console:info は、debug レベルでログを記録し、コンソールへのログ記録は info レベルで行うことを指定します)。グローバルな最大ログレベルは、ターゲットごとの最大ログレベルよりも優先されます。
$SYSTEMD_LOG_COLOR
ブール値。true の場合、tty に書き込まれたメッセージは、優先度に応じて色付けされます。
この設定は、メッセージがターミナルに直接書き込まれる場合にのみ役立ちます。なぜなら、journalctl(1) や他のログを表示するツールは、ログレベルに基づいてメッセージに色付けするためです。
$SYSTEMD_LOG_TIME
ブール値。true の場合、コンソールログメッセージにはタイムスタンプがプレフィックスとして追加されます。
この設定は、メッセージがターミナルまたはファイルに直接書き込まれる場合にのみ役立ちます。なぜなら、journalctl(1) や他のログを表示するツールは、エントリのメタデータに基づいてタイムスタンプを付加するためです。
$SYSTEMD_LOG_LOCATION
ブール値。true の場合、メッセージは、メッセージが生成されたソースコード内のファイル名と行番号でプレフィックスが追加されます。
ログの場所は、通常、ジャーナルエントリのメタデータとして添付されます。しかし、メッセージテキストに直接含めることは、プログラムをデバッグする際に便利です。
$SYSTEMD_LOG_TID
ブール値。true の場合、メッセージは、現在の数値スレッド ID (TID) でプレフィックスが追加されます。
この情報は、通常、ジャーナルエントリのメタデータとして添付されます。しかし、メッセージテキストに直接含めることは、プログラムをデバッグする際に便利です。
$SYSTEMD_LOG_TARGET
ログメッセージの宛先。console (アタッチされた tty にログを記録)、console-prefixed (アタッチされた tty にログを記録しますが、ログレベルと「ファシリティ」をエンコードするプレフィックスを追加します。syslog(3) を参照)、kmsg (カーネルの循環ログバッファにログを記録)、journal (ジャーナルにログを記録)、journal-or-kmsg (利用可能な場合はジャーナルにログを記録し、そうでない場合は kmsg にログを記録)、auto (適切なログターゲットを自動的に決定します。デフォルト)、null (ログ出力を無効にします)。
$SYSTEMD_LOG_RATELIMIT_KMSG
kmsg をレート制限するかどうか。ブール値を受け取ります。デフォルトは "true" です。無効にすると、systemd は kmsg に書き込まれるメッセージをレート制限しません。
$SYSTEMD_PAGER、$PAGER
--no-pager が指定されていない場合に、使用するページャ。$SYSTEMD_PAGER が設定されている場合はそれを使用し、それ以外の場合は $PAGER を使用します。$SYSTEMD_PAGER または $PAGER のいずれも設定されていない場合、well-known なページャの実装が順番に試され、[less]({filename}../../less)(1) や more(1) などが含まれます。実装が見つからない場合、ページャは起動されません。これらの環境変数を空の文字列または "cat" に設定すると、--no-pager を渡したのと同じになります。
注: $SYSTEMD_PAGERSECURE が設定されていない場合、$SYSTEMD_PAGER と $PAGER はページャを無効にするため ("cat" または "") にのみ使用でき、それ以外の場合は無視されます。
$SYSTEMD_LESS
less に渡されるオプションをオーバーライドします (デフォルトは "FRSXMK")。
ユーザーが変更したいオプションが 2 つあります。
K
このオプションは、Ctrl+C が押されたときにページャが直ちに終了するように指示します。less に Ctrl+C を処理させて、ページャのコマンドプロンプトに戻す場合は、このオプションを解除します。
$SYSTEMD_LESS の値に "K" が含まれておらず、起動されるページャが less の場合、Ctrl+C は実行ファイルによって無視され、ページャによって処理する必要があります。
X
このオプションは、ページャが端末に termcap 初期化および非初期化文字列を送信しないように指示します。デフォルトでは、コマンドの出力がページャの終了後も端末に表示されるように設定されています。ただし、これにより、特にマウスを使用したページングなど、一部のページャの機能が動作しなくなります。
通常の $LESS 環境変数を設定しても、systemd ツールによって呼び出される less には影響しません。
less(1) の詳細については、こちらを参照してください。
$SYSTEMD_LESSCHARSET
^ ess に渡す文字セットをオーバーライドします(デフォルトは「utf-8」、呼び出し元の端末が UTF-8 と互換性があると判断された場合)。
通常の $LESSCHARSET 環境変数を設定しても、systemd ツールによって呼び出される less には影響しません。
$SYSTEMD_PAGERSECURE
^ less]({filename}../../less)(1) などの一般的なページャは、「ページング」、つまり出力のスクロールに加えて、他のファイルのオープンや書き込み、および任意のシェルコマンドの実行をサポートします。コマンドが昇格された権限で呼び出される場合(たとえば、[sudo]({filename}../../sudo)(8) または pkexec(1) の下など)、ページャはセキュリティ境界になります。機能が厳密に制限されたプログラムのみをページャとして使用し、新しいファイルを開いたり作成したり、新しいサブプロセスを開始したりするなど、意図しないインタラクティブな機能を許可しないように注意する必要があります。ページャがそれをサポートしている場合(ほとんどのページャはそれを考慮して記述されていません)、以下に示すように、「セキュアモード」を有効にすることができます。明示的に「セキュアモード」を有効にするか、--no-pager または PAGER=cat を使用してページャを完全に無効にすることをお勧めします。
このオプションは、ブール値の引数を受け取ります。true に設定すると、ページャの「セキュアモード」が有効になります。「セキュアモード」では、ページャを呼び出すときに LESSSECURE=1 が設定され、ページャはファイルを開いたり作成したり、新しいサブプロセスを開始したりするコマンドを無効にします。現在、[less]({filename}../../less)(1) のみがこの変数を理解し、「セキュアモード」を実装していることがわかっています。
`SYSTEMD_PAGERSECURE` を `false` に設定するか、継承された環境から削除しない場合、ページャに制限は加わりません。`SYSTEMD_PAGERSECURE` が設定されていない場合、systemd ツールは「セキュアモード」を有効にする必要があるかどうか、およびページャがそれをサポートするかどうかを自動的に判断しようとします。「セキュアモード」は、実効 UID がログインセッションの所有者と異なる場合(`geteuid(2)` および `sd_pid_get_owner_uid(3)` を参照)、または `[sudo]({filename}../../sudo)(8)` などのツールの下で実行されている場合(`$SUDO_UID` が設定されている場合 [8])に有効になります。これらの場合、`SYSTEMD_PAGERSECURE=1` が設定され、セキュアモードを実装していないとわかっているページャはまったく使用されません。この自動検出は、権限を昇格させる最も一般的なメカニズムをカバーし、利便性のためのものです。`$SYSTEMD_PAGERSECURE` を明示的に設定するか、ページャを無効にすることをお勧めします。
$SYSTEMD_PAGER または $PAGER 変数を尊重し、ページャーを無効にする以外の目的で使用する場合、$SYSTEMD_PAGERSECURE も設定する必要があります。
$SYSTEMD_COLORS
ブール値を引数として受け取ります。true の場合、systemd および関連するユーティリティは、出力に色を使用します。そうでない場合、出力はモノクロになります。さらに、この変数は、次の特殊な値のいずれかを取ることができます。「16」、「256」。これにより、色の使用がベースとなる 16 色または 256 色の ANSI 色に制限されます。これは、$TERM およびコンソールが接続されているものに基づいて systemd が行う自動的な決定をオーバーライドするために指定できます。
$SYSTEMD_URLIFY
値はブール値である必要があります。ターミナル エミュレーターでサポートされている場合、出力でクリック可能なリンクを生成するかどうかを制御します。これは、$TERM およびその他の条件に基づいて systemd が行う決定をオーバーライドするために指定できます。
例
引数なしの場合、収集されたすべてのログがフィルタリングされずに表示されます。
journalctl
1 つの照合が指定されている場合、フィールドが式に一致するすべてのエントリが表示されます。
journalctl _SYSTEMD_UNIT=avahi-daemon.service
journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope
2 つの異なるフィールドが照合された場合、同時に両方の式に一致するエントリのみが表示されます。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
2 つの照合が同じフィールドを参照する場合、どちらかの式に一致するすべてのエントリが表示されます。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
区切り文字として「+」を使用すると、2 つの式を論理 OR で組み合わせることができます。次のコマンドは、Avahi サービス プロセスから PID 28097 のメッセージと、D-Bus サービス (そのプロセスのいずれか) からのすべてのメッセージを表示します。
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
ユニットによって発行され、ユニットに関するすべてのフィールドを表示するには、-u/--unit= オプションを使用する必要があります。 journalctl -u name は、次のような複雑なフィルターに展開されます。
_SYSTEMD_UNIT=name.service
+ UNIT=name.service _PID=1
+ OBJECT_SYSTEMD_UNIT=name.service _UID=0
+ COREDUMP_UNIT=name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1
(systemd.journal-fields(7) を参照して、これらのパターンの説明を確認してください)。
D-Bus 実行可能によって生成されたすべてのログを表示します。
journalctl /usr/bin/dbus-daemon
前のブートからのすべてのカーネル ログを表示します。
journalctl -k -b -1
システム サービス apache.service からのライブ ログを表示します。
journalctl -f -u apache
関連項目
systemd(1), systemd-cat(1), systemd-journald.service(8), systemctl(1), coredumpctl(1), systemd.journal-fields(7), journald.conf(5), systemd.time(7), systemd-journal-remote.service(8), systemd-journal-upload.service(8)
注記
UAPI.2 Discoverable Partitions Specification
https://uapi-group.org/specifications/specs/discoverable_partitions_specification
RFC 3339
https://tools.ietf.org/html/rfc3339
ジャーナルエクスポート形式
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format
ジャーナルJSON形式
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format
サーバーセントイベント
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events
JavaScript Object Notation (JSON) テキストシーケンス
https://tools.ietf.org/html/rfc7464
ジャーナルメッセージカタログ
https://systemd.io/CATALOG
他のツールも、$SUDO_UIDを設定および確認し、適切な方法で共通インターフェースとして扱うことを推奨します。