systemd-journal-upload.service 中文手册
名称
systemd-journal-upload.service, systemd-journal-upload — 通过网络向远程发送日志
大纲
systemd-journal-upload.service
/usr/lib/systemd/systemd-journal-upload
[OPTIONS...] [-u/--url=URL
] [SOURCES...]
描述
systemd-journal-upload 能够将日志发送到with --url=
选项指定的远程目标。这个程序能够读取一个或多个日志文件(类似于journalctl(1)),除非使用了下面的某个选项进行限制,否则将会发送运行此进程的用户所能够访问的全部日志,在发送完既有的日志之后,此程序将会继续等待新日志的产生,并且持续不断的发送新生成的日志。
系统服务 systemd-journal-upload.service
使用systemd-journal-upload 工具将日志发送到远程服务器,其配置文件为journal-upload.conf(5)并且必须设置 URL=
的值。
选项(OPTIONS)
-u
,--url=[https://]
,URL
[:PORT
]--url=[http://]
URL
[:PORT
]设置将日志发送到哪个地址。既可以同时指定传输协议与目标主机,也可以仅指定目标主机而省略传输协议。如果省略传输协议,那么表示默认使用
https
协议。端口号可以使用冒号(":
")在主机名之后指定,默认为19532
端口。--system
,--user
--system
表示仅发送内核与系统服务生成的日志,--user
表示仅发送运行此进程的用户服务生成的日志。此二选项的含义与 journalctl(1) 的--system
与--user
选项相同。如果这两个选项都没有使用,那么将会发送运行此进程的用户所能够访问的全部日志。-m
,--merge
混合发送包括来自于其他远程主机的日志在内的所有可见日志。此选项与 journalctl(1) 的
--merge
选项的含义相同。-D
,--directory=
DIR
接受一个以绝对路径表示的目录,表示仅发送指定目录下的日志(而不是默认的运行时和系统日志目录中的日志)。此选项与 journalctl(1) 的
--directory=
选项的含义相同。--file=
GLOB
GLOB
是一个可以包含"?"与"*"的文件路径匹配模式。表示仅发送与GLOB
模式匹配的文件中的日志(而不是默认的运行时和系统日志目录中的日志)。可以多次使用此选项以指定多个匹配模式(多个模式之间用"OR"逻辑连接)。此选项与 journalctl(1) 的--file=
选项的含义相同。--cursor=
仅发送从指定的游标(cursor)开始的日志。此选项与 journalctl(1) 的
--cursor=
选项的含义相同。--after-cursor=
仅发送 从指定的游标(cursor)之后开始的日志。此选项与 journalctl(1) 的
--after-cursor=
选项的含义相同。--save-state
[=PATH
]仅发送从
PATH
文件中记录的游标(cursor)之后开始的日志。PATH
的默认值是/var/lib/systemd/journal-upload/state
。注意,每成功上传一个日志事件,PATH
文件的内容都将被自动同步更新为该日志事件的游标(cursor)值。--follow
[=BOOL
]是否让 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
表示 禁止检查证书的有效性。 默认值是/etc/ssl/ca/trusted.pem
。-h
,--help
显示简短的帮助信息并退出。
--version
显示简短的版本信息并退出。
退出状态
返回值为 0 表示成功,非零返回值表示失败代码。
例子
例 1. 设置用于身份认证的证书
一方面,由可信CA签名的证书可以用于验证接收日志的服务器是否真实可信。另一方面,也可以使用证书来验证发送日志的客户端是否真实可信。
可以使用openssl 工具来生成证书以及对证书进行签名,注意,为了保障安全,密钥长度不应少于 2048 位:
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 --help 与systemd-journal-upload --help 命令来显示。
参见
journal-upload.conf(5),systemd-journal-remote.service(8),journalctl(1),systemd-journald.service(8),systemd-journal-gatewayd.service(8)