systemd-journal-upload(8)

名称

systemd-journal-upload - ネットワークを越えてジャーナルメッセージを送信

書式

systemd-journal-upload [OPTIONS...] [-u/--url= URL] [SOURCES...]

説明

systemd-journal-upload--url で指定した URL にジャーナルのエントリをアップロードします。以下のオプションのどれかを使って制限しないかぎり、プログラムを実行しているユーザーがアクセスできる全てのジャーナルエントリが送信されます。そしてプログラムは待機を行って新しいエントリを送信します。

オプション

-u, --url=[https://]URL, --url=[http://] URL

指定したアドレスにアップロードします。URL はホストネームだけ、あるいはプロトコルとホストネームの両方で指定できます。デフォルトは https です。

--system, --user

システムサービスとカーネルからのエントリ、あるいは現在のユーザーのサービスからのエントリだけをアップロードするようにします。journalctl(1) における --system--user オプションと同じ意味を持ちます。何も指定しなかった場合、全てのエントリがアップロードされます。

-m, --merge

他のマシンを含むあらゆるジャーナルからインターリーブされたエントリをアップロードします。journalctl(1) における --merge オプションと同じ意味を持ちます。

-D, --directory=DIR

ディレクトリのパスを引数として指定します。デフォルトのランタイム・システムジャーナルパスの代わりに指定したジャーナルディレクトリ DIR のエントリをアップロードします。journalctl(1) における --directory オプションと同じ意味を持ちます。

--file=GLOB

ファイル glob を引数として指定します。デフォルトのランタイム・システムジャーナルパスの代わりに GLOB にマッチするジャーナルファイルのエントリをアップロードします。複数回指定することができ、その場合はファイルは適当にインターリーブされます。journalctl(1) における --file オプションと同じ意味を持ちます。

--cursor=

カーソルで指定したジャーナルの場所からエントリをアップロードします。journalctl(1) における --cursor オプションと同じ意味を持ちます。

--after-cursor=

カーソルで指定したジャーナルの場所の後からエントリをアップロードします。journalctl(1) における --after-cursor オプションと同じ意味を持ちます。

--save-state[=PATH]

PATH のファイル (デフォルトは /var/lib/systemd/journal-upload/state) に保存されたカーソルで指定されたジャーナルの場所の後からエントリをアップロードします。エントリのアップロードが成功すると、このファイルはエントリのカーソルで更新されます。

--follow[=BOOL]

yes に設定した場合、systemd-journal-upload は入力を待機します。

--key=

PEM 形式の SSL 鍵ファイルのパスを指定します。デフォルトは /etc/ssl/private/journal-upload.pem。

--cert=

PEM 形式の SSL 証明書ファイルのパスを指定します。デフォルトは /etc/ssl/certs/journal-upload.pem。

--trust=

PEM 形式の SSL CA 証明書ファイルのパス、あるいは all を指定します。all に設定した場合、証明書のチェックが無効になります。デフォルトは /etc/ssl/ca/trusted.pem です。

-h, --help

短いヘルプテキストを出力して終了します。

--version

短いバージョン文字列を出力して終了します。

終了ステータス

成功時は 0 が返り、失敗時はゼロ以外のコードが返ります。

サンプル

例 1. 認証用の証明書を設定

アップロードされたメッセージが正しいかどうか検証するために認証局によって署名された証明書が使われます。

証明書は openssl を使って生成することができます:

openssl req -newkey rsa:2048 -days 3650 -x509 -nodes \
      -out ca.pem -keyout ca.key -subj '/CN=Certificate authority/'

cat >ca.conf <<EOF
[ ca ]
default_ca = this

[ this ]
new_certs_dir = .
certificate = ca.pem
database = ./index
private_key = ca.key
serial = ./serial
default_days = 3650
default_md = default
policy = policy_anything

[ policy_anything ]
countryName             = optional
stateOrProvinceName     = optional
localityName            = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional
EOF

touch index
echo 0001 >serial

SERVER=server
CLIENT=client

openssl req -newkey rsa:2048 -nodes -out $SERVER.csr -keyout $SERVER.key -subj "/CN=$SERVER/"
openssl ca -batch -config ca.conf -notext -in $SERVER.csr -out $SERVER.pem

openssl req -newkey rsa:2048 -nodes -out $CLIENT.csr -keyout $CLIENT.key -subj "/CN=$CLIENT/"
openssl ca -batch -config ca.conf -notext -in $CLIENT.csr -out $CLIENT.pem

生成されたファイル ca.pem, server.pem, server.key はサーバーにインストールしてください。ca.pem, client.pem, client.key はクライアントにインストールしてください。これらのファイルのパスは /etc/systemd/journal-remote.conf (サーバー側) と /etc/systemd/journal-upload.conf (クライアント側) の TrustedCertificateFile=, ServerCertificateFile=, ServerKeyFile= で指定できます。デフォルトのパスは systemd-journal-remote --helpsystemd-journal-upload --help で確認することができます。