systemd-journald

 systemd-journaldは、systemdを採用しているLinuxで標準的に使われているログ管理サービスです。このサービスは、システムとサービスのログを収集し、独自のデータベースに保存します。長い名称のため、一般的にはjournaldと表記されます。

systemd-journaldの特徴

項目説明
標準的なログ管理サービスsystemdを採用しているLinuxで標準的に使われている
通常の表記systemd-journaldの表記が長いため、journaldと表記されることが多い
rsyslogとの併用journaldが受け取った情報をrsyslogdへ転送できる
ログの保存journaldが収集したログは独自のデータベースに保存
データベースの保存場所/var/log/journal(persistent storage)または /run/log/journal(volatile storage)
データベース形式バイナリ形式で保存されているため、catコマンドでは閲覧できない
systemd-journaldの特徴

systemd-journaldの仕組み

処理の流れ
  1. ログの受信journaldは、システムおよびアプリケーションからログを受信します。ログは、標準入力、syslogプロトコル、カーネルからのkmsgメッセージなど、さまざまなソースから受け取ります。
  2. ログの格納:受信したログは、バイナリ形式のデータベースに格納されます。このデータベースは、デフォルトでは/run/log/journalに保存されますが、永続的なストレージが設定されている場合は/var/log/journalに保存されます。
  3. ログの転送:必要に応じて、journaldは受信したログを他のログ管理サービス(例:rsyslogd)に転送することができます。

systemd-journaldのデータフロー

[ログソース] -> [journald] -> [バイナリデータベース]
            -> [必要に応じて rsyslogd へ転送]

journalctlコマンド

 journaldが収集したログにアクセスするためには、journalctlコマンドを使用します。このコマンドを使うことで、バイナリ形式で保存されたログを人間が読める形式で表示することができます。

まとめ

 systemd-journaldは、システムログを収集・管理するための強力なツールです。ログはバイナリ形式で保存され、journalctlコマンドを使用してアクセス・表示することができます。rsyslogと併用することで、柔軟なログ管理が可能になります。正しいコマンドの使い方を理解し、効果的にログを管理することで、システムのトラブルシューティングや監視を効率的に行うことができます。