当前位置: 首页 > 文档资料 > systemd 中文手册 >

systemd-journal-upload.service 中文手册

优质
小牛编辑
134浏览
2023-12-01

名称

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 --helpsystemd-journal-upload --help 命令来显示。


参见

journal-upload.conf(5),systemd-journal-remote.service(8),journalctl(1),systemd-journald.service(8),systemd-journal-gatewayd.service(8)