特定のポートでリッスンするようにsystemd journal-remoteを設定する方法は?
私が見つけることができるのはコマンドラインの例だけです。また、manページに基づいて、journal-remote.confにはオプションがないようです。
コメントが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を使用していないので、何も変更する必要はありません。