Show Table of Contents
22.7. Rsyslog と Journal の相互作用
ここまで説明してきたように、使用中のシステムに存在する Rsyslog と Journal の 2 つのロギングアプリケーションには、特別のユースケースに適したいくつかの特徴的な機能があります。多くの状況では、これらの機能を組み合わせると便利になります。たとえば、構造化されたメッセージを作成して、ファイルデータベースに保存する場合 (「Rsyslog での構造化ロギング」 を参照) などです。この協力で必要となる通信インターフェースは、Rsyslog 側の出入力モジュールと Journal の通信ソケットが提供します。
デフォルトで
rsyslogd は、ジャーナルファイルのデフォルト入力モードとしてimjournal モジュールを使用します。このモジュールを使用すると、メッセージだけでなく、journald が提供する構造化データもインポートできます。また古いデータも journald からインポートできます ( IgnorePreviousMessages オプションで禁止されていない場合)。imjournal の基本設定については、「Journal からのデータのインポート」 を参照してください。
別の方法では、syslog ベースのアプリケーション用の出力に、
journal が提供するソケットから読み取るように rsyslogd を設定することもできます。ソケットへのパスは、/run/systemd/journal/syslog です。プレーンな rsyslog メッセージを維持したい場合は、このオプションを使用します。imjournal と比較すると、ソケット入力は現在、ruleset バインディングやフィルタリングなど、より多くの機能を提供しています。ソケットを使って Journal データをインポートするには、/etc/rsyslog.conf で以下の設定を使用します。
module(load="imuxsock"
SysSock.Use="on"
SysSock.Name="/run/systemd/journal/syslog")
また、
omjournal モジュールで Rsyslog から Journal にメッセージを出力することもできます。/etc/rsyslog.conf で出力を以下のように設定します。
module(load="omjournal") action(type="omjournal")
たとえば、以下の設定では、tcp ポート 10514 で受信したメッセージをすべて Journal に転送します。
module(load="imtcp")
module(load="omjournal")
ruleset(name="remote") {
action(type="omjournal")
}
input(type="imtcp" port="10514" ruleset="remote")
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.