web-dev-qa-db-ja.com

systemd journal-remoteを設定する方法は?

特定のポートでリッスンするようにsystemd journal-remoteを設定する方法は?

私が見つけることができるのはコマンドラインの例だけです。また、manページに基づいて、journal-remote.confにはオプションがないようです。

19
John Siu

コメントが1つもないことを見て、私は研究を続けることに決め、最終的に構成をつなぎ合わせました。

OS:Ubuntu 16.04

systemd:229-1ubuntu2

systemd-journal-remote:229-1ubuntu2

サーバー構成のアップロード

これは実際にはシンプルで、オンラインの例は正しく、1つの構成ファイルに触れるだけで済みます。

次のコマンドを使用してsystemd-journal-remoteをインストールします

Sudo apt-get install systemd-journal-remote

/etc/systemd/journal-upload.confを編集します。

/ etc/systemd/journal-upload.conf

[Upload]
URL=http://10.0.0.1:19532
# ServerKeyFile=/etc/ssl/private/journal-upload.pem
# ServerCertificateFile=/etc/ssl/certs/journal-upload.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem

起動時にジャーナルアップロードが自動的に開始されるようにするには

Sudo systemctl enable systemd-journal-upload.service

設定後、ジャーナルのアップロードを再開します。

Sudo systemctl restart systemd-journal-upload.service

Httpを使用している場合は、上記のようにして、下の3行にコメントを残すことができます。アクティブモードhttpsの場合は、コメントを外してそれらの証明書ファイルを作成します。

URLは実際に転送プロトコル(http/https)と使用する宛先ポートを指示します。

さらに、将来のパッケージ更新による偶発的な上書きを防ぎたい場合は、/ etc/systemd/journal-upload.conf.dディレクトリを作成して、ファイルの拡張子が.confである限り、構成ファイルを中に置くことができます。

補足として、私はLXCコンテナー内でこれを行っており、サービスはDNS解決に/ etc/hostsを使用しないようです。ここではIPアドレスを使用します。したがって、ホスト名を使用していて、journal-uploadがターゲットに到達できないというエラーメッセージが表示される場合は、IPアドレスで試してください。

サーバー構成の受信

受信側サーバーは、構成情報を探すときにほとんどの問題を引き起こします。アップロードサーバーとは異なり、設定はこちら側に分散しています。

次のコマンドを使用してsystemd-journal-remoteをインストールし、リスニングポートを有効にします

Sudo apt-get install systemd-journal-remote
Sudo systemctl enable systemd-journal-remote.socket

ジャーナルリモートを構成するには、アクティブとパッシブの2つの方法があります。ここではパッシブモードを使用しています。

ポート番号

ジャーナルリスニングポートの構成ファイルは、次のように/etc/systemd/system/sockets.target.wants/systemd-journal-remote.socketです。 ListenStreamはポート番号です。

アップロード側とは異なり、この設定は使用するプロトコル(http/https)とは関係ありません。リスニングポート番号のみを指定します。

[Unit]
Description=Journal Remote Sink Socket

[Socket]
ListenStream=19532

[Install]
WantedBy=sockets.target

プロトコル(http/https)およびジャーナル/ログの場所

ジャーナル転送のプロトコルと保存場所を変更するには、/lib/systemd/system/systemd-journal-remote.service/etc/systemd/system/にコピーしてから、/etc/systemd/system/systemd-journal-remote.serviceを編集します。

[Unit]
Description=Journal Remote Sink Service
Documentation=man:systemd-journal-remote(8) man:journal-remote.conf(5)
Requires=systemd-journal-remote.socket

[Service]
ExecStart=/etc/systemd/systemd-journal-remote \
          --listen-http=-3 \
          --output=/var/log/journal/remote/
User=systemd-journal-remote
Group=systemd-journal-remote
PrivateTmp=yes
PrivateDevices=yes
PrivateNetwork=yes
WatchdogSec=3min

[Install]
Also=systemd-journal-remote.socket

--listen-http=-3は、着信ジャーナルがhttpを使用していることを指定します。 httpsを使用する場合は、--listen-https=-3に変更します。

--output=/var/log/journal/remote/着信ジャーナルのシンク(保存ディレクトリ)を指定します。存在しない場合は作成し、所有者をsystemd-journal-remoteに変更します。

Sudo mkdir /var/log/journal/remote
Sudo chown systemd-journal-remote /var/log/journal/remote

設定後、journal-remote.socketを再起動します。

Sudo systemctl daemon-reload

最も明白な/etc/systemd/journal-remote.confはどうですか?

[Remote]
# Seal=false
# SplitMode=Host
# ServerKeyFile=/etc/ssl/private/journal-remote.pem
# ServerCertificateFile=/etc/ssl/certs/journal-remote.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem

私はhttpsを使用していないので、何も変更する必要はありません。

35
John Siu