====== journalctlコマンド ======
Version CentOS 7.2
--- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-28//
[[centos:top|CentOS パッケージ管理に戻る]]
journald は CentOS7から標準的に提供されるログ管理のサービスです。正式名称は、systemd-journald.service です。RHEL7/CentOS7では、従来の rsyslogd も並行して稼働していますが、Fedora20では、もはや rsyslogd は動いておらず、システムログ管理は、journald に完全移行しています。journald によって以下のようなログが収集され Journal(データベース) として保存されています。
* systemdサービスの標準出力/標準エラー出力
* syslogに出力したメッセージ
* サービスの標準出力/標準エラー出力 など
これらのログを表示するには journalctl コマンドが利用されます。サーバーで発生する障害の調査にはログの存在は欠かせません。以下では実際によく使う journalctl の利用例を紹介します。
関連記事
* [[centos:package|CentOS パッケージ管理の基礎知識]]
* [[centos:yum|yum --- パッケージ管理システム]]
* [[centos:systemctl|systemctl --- サービスの操作]]
* journalctl --- ログの操作
* [[centos:firewall-cmd|firewall-cmd --- ファイアウォールの操作]]
リンク
* [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-using_the_journal|Red Hat Customer Portal]] --- JOURNAL の使用
* [[https://qiita.com/thaim/items/5d0cc595fce4ac0858e4|journal ログをきちんと記録・保存する]] -- journalログの永続化
----
===== journalの設定 =====
OSインストール直後は、Journalは、OSをリブートすると消えてしまいます。ログを蓄積したい場合は、ログの永続化が必要になります。以下はその簡単な設定例です。詳しくは上記のリンクを参照して下さい。
=== ログの永続化手順(手動) ===
cd /var/log
mkdir journal
systemctl restart systemd-journald
この設定は ''/etc/systemd/journald.conf'' で以下の変更をするのと同じです。
[Journal]
...
Storage=persistent
...
=== ログのサイズ ===
Journalのサイズは、保存用ディレクトリーの全容量に対して 10% 以上になるか、該当ディレクトリーのファイルシステムの空き容量が 15% 以下になると、古いエントリーから順に削除されていきます。明示的にサイズを指定したい場合は、''/etc/systemd/journald.conf'' で以下の変更を行って下さい。
[Journal]
...
SystemMaxUse=128M
...
\\
===== journalctlのユースケース =====
{{fa>question-circle}}とりあえずログが見たい
journalctl # lessにパイプ
journalctl -l --no-pager # lessがいらないとき(-lをつけないと画面の右端でカットされる。)
{{fa>question-circle}}最新のログが見たい
journalctl -e # 最新のログ
journalctl -f # Tailライク
{{fa>question-circle}}種類のログが見たい
journalctl -k # カーネルログ
journalctl -b # ブートログ
{{fa>question-circle}}レベルのログが見たい
journalctl -p err # エラーだけ
journalctl -p warning # 警告だけ
{{fa>question-circle}}サービスのログが見たい
journalctl -u httpd # httpdだけ
journalctl -u mariadb # mariadbだけ
{{fa>question-circle}}期間のログが見たい
journalctl --since=today # 今日から
journalctl --until=yesterday # 昨日まで
journalctl --since="2020-05-01" --until="2020-05-02" #2020-05-01 ~ 2020-05-02
\\