systemdカーネルパラメータsystemd.journald.forward_to_syslogの使用方法

systemdカーネルパラメータsystemd.journald.forward_to_syslogの使用方法

私はPXEを介して複数のシステムを設定し、カーネルパラメータをすべてのsystemd.journald.forward_to_syslogシステムに渡して、中央の場所ですべてのログを監視するのが好きです。 (マシン構成を変更できません。今回が最初のブートであり、唯一のブートです。)

~から文書このオプションはブール値true / falseオプションのようですが、syslogサーバーを設定する方法が見つかりません。私もこれを使ってみましたが、systemd.journald.forward_to_syslog=1.2.3.4syslogサーバーから生成されたトラフィックが見えません。

前にこれを試してみた人はいますか?

答え1

Systemd-journald はネットワーク経由のメッセージ転送をサポートしていません。このオプションは、次への転送を制御します。地元のsyslogデーモン、/run/systemd/journal/syslogを受信すると予想されます。

.journal(しかし、これは決して推奨されるアプローチではありません。syslog-ngまたはrsyslogdを使用するときに「forward」オプションを無効にしながら、syslogデーモンがファイルを直接読み取ってログメッセージを取得できるようにする方がより安定しています。syslogd標準BSD Syslog形式超えているすべてのメタデータフィールドを正確に保存します。

つまり、実際のsyslogデーモンをインストールし、.journalファイルを読み取るように設定し(system()syslog-ngのソースまたはimjournalrsyslogdのモジュールを使用して)、インポートされたメッセージをネットワーク経由で転送するように指示する必要があります。

答え2

systemd.journald.forward_to_syslogもっと検索した結果、この問題を解決する正しい方法ではないようです。

これも見つかりました回答著者: systemd クリエイター Lennart Poettering

ジャーナル内でこれを行うのはお勧めできません。ジャーナルは、ネットワークが始まるずっと前に始まるので、悪いです。これは、ジャーナルを含むサンドボックスを終了する必要があることを意味します。別のミニデーモンでこれを行うと、非同期動作が可能になります(つまり、netlogdが起動すると同時に何が起こっているのかを把握できます)、ジャーナルはネットワークに直面する必要はありません。

推奨されるアプローチは次のとおりです。ウェブログ (CentOS / Fedoraシステムではプリコンパイルされていないようです。

関連情報