0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

journalctlの使い方

Posted at

journalctlを使うとdmesgや/var/log/messages(もしくはsyslog)で確認出来るログをまとめて/オプションを使用して細かく制御して確認出来る。具体的にはjournalctl -b -o short-monotonic -p 0..3で今回のブートで注視すべきログが抽出される。

journald

このサイトの図が非常に分かりやすかった。

journaldは従来使っていたrsyslogdの前段でログを受け取りバイナリで保存しています。加えてrsyslogdに流すべきメッセージは転送して従来の動作を維持しています。

journaldはデフォルトでは/run/log/journal/以下にログを保管していますが、/runはtmpfsなために揮発し、確認できるログは前回ブートした時までとなります。journalctlを使ってログ解析をしようと思ったら以下のコマンドで/var/log/journald/を作成してログの保存場所を変更しましょう。(詳細はjournald.confのStorageを参照)

$ sudo mkdir -p /var/log/jounal
$ sudo systemctl restart systemd-journald

journaldの設定

journaldの設定は/etc/systemd/journald.confによって行われています。デフォルトではファイル自体はあるが
全てコメントアウトされた状態になっているかと思います。詳細な説明はjournald.conf(5)
見てもらうとして、特に重要な3点のみ書いておきます。

Storage

バイナリデータを保存しておく場所を決めます。デフォルトはautoで以下の値が選択できます。

説明
persistent 書込不可でない限り/var/log/journal/が作成され、データが保管されます。
volatile /run/log/journal/にデータを置き、データの揮発を強制します。
auto /var/log/journal/があればこちらに、無ければ/run/log/journal/に保管します。
none どちらにもデータを置きません。ただしrsyslogd等への転送は機能します。

SystemMaxUse

保存されるデータのサイズを制限するために使われます。デフォルトではファイルシステムの大きさの10%となる様に設定されています。

SystemKeepFree

SystemMaxUseとは逆に、使用中のファイルシステムの空き容量をどれだけ残しておくか決めます。デフォルトでは15%で、より使用できる容量が少ない方が適用されます。

jounalctlの使い方

journalctlは引数を取らず、多彩なオプションで挙動を変えます。
やっぱり詳細な説明はjournalctl(1)に任せますが、是非とも覚えて帰ってもらいたいオプションを抜粋します。オプションの組み合わせで大抵のシステムログ出力コマンドを代替できます。

-b ブートID

ブート毎にログを表示します。ブートIDを省略すると前回のブートから(即ち現在)表示し、-1から減分でブートをさかのぼれます。また、--list-bootsオプションでブートの履歴を確認できます。

-o 出力フォーマット

ログの出力フォーマットを指定します。多いので使ってるフォーマットだけ以下に示します。

説明
short syslogとほぼ同じフォーマット(デフォルト)
short-monotonic shortと似ているがブートからのタイムスタンプを使用
cat 各エントリの実際の出力のみを表示

-p ログレベル

ログレベル(優先度)でフィルタします。単一のログレベルの場合はその値より低い(重要な)ログを出力し、ログレベル..ログレベルの様にして範囲指定することもできます。ログレベルは以下の数値/テキストどちらも使用可能です。

数値 テキスト
0 emerg
1 alert
2 crit
3 err
4 warning
5 notice
6 info
7 debug

-u ユニット名

ユニット名でフィルタします。部分一致も含みます。

-t syslog識別子

syslog識別子(ログに表示されてるモジュール名)でフィルタします。こちらは完全一致みたいです。

-e

最近のログを表示します。(多分1000件ログ出力してlessとかのページャで末尾表示するとかそんな動作)

-x

詳細なメッセージを表示します。

-f

最新のログを表示し、ログの更新を追いかけます。(tail -fの様な挙動)

-k

カーネルメッセージを表示します。(dmesgと同等)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?