CentOS 7 journalの使い方

CentOS 7 からログ管理にjournalが新しく採用されました。

RHELの公式ドキュメントを参考によく使いそうな操作をメモ。(詳細は公式参照)


lessにパイプして表示

# journalctl

cat形式で表示

# journalctl -l --no-pager

行指定

# journalctl -n <number>

ライブビュー

# journalctl -f

優先度の指定

priority : debug (7)、info (6)、notice (5)、warning (4)、err (3)、crit (2)、alert (1)

# journalctl -p <priority>

現在のブートからのエントリー

# journalctl -b

特定のサービスのみ表示

# journalctl -u <SERVICE_NAME>

例)

# journalctl -u firewalld.service
-- Logs begin at Thu 2018-01-11 07:07:50 JST, end at Mon 2018-01-15 08:50:18 JST. --
Jan 11 07:07:52 ***** systemd[1]: Starting firewalld - dynamic firewall daemon...
Jan 11 07:07:52 ***** systemd[1]: Started firewalld - dynamic firewall daemon.

journalログの保存

システムに補完されているジャーナルシステムのディスクサイズ

# journalctl --disk-usage
Archived and active journals take up 6.2M on disk.

保存先はtmpfsのメモリ上のため再起動で失われる

/run/log/journal/

再起動してもログを残す場合ディレクトリ作成して、journaldを再起動
※/var/log/journal配下に作成されるファイルはバイナリのため直接見れない

# mkdir /var/log/journal
# systemctl restart systemd-journald.service

保存容量を明示的に指定する

設定ファイル:/etc/systemd/journald.conf
SystemMaxUse:/var/log/journalに出力するとき
RuntimeMaxUse:/var/run/log/journalに出力するとき

# vi /etc/systemd/journald.conf

SystemMaxUse=128M

# 反映
# systemctl restart systemd-journald

# 確認
# journalctl --disk-usage

 

参考

http://enakai00.hatenablog.com/entry/20141130/1417310904
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-using_the_journal