====== 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 \\