本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-journal-gatewayd.service, systemd-journal-gatewayd.socket, systemd-journal-gatewayd — 专用于传输日志流的HTTP服务器
systemd-journal-gatewayd.service
systemd-journal-gatewayd.socket
/usr/lib/systemd/systemd-journal-gatewayd
[OPTIONS...]
systemd-journal-gatewayd 提供通过网络传输日志流的服务。
客户端必须使用 HTTP 协议。
此服务默认在 19531 端口监听。
如果使用 --cert=
指定了服务器证书,
那么将只接受 HTTPS 连接。
此程序由 systemd(1) 调用,并且接收一个单独的套接字。可以使用 systemctl start systemd-journal-gatewayd.socket 命令启动服务, 可以使用 systemctl enable systemd-journal-gatewayd.socket 命令将其设为开机自动启动。
可接受的命令行选项如下:
--cert=
¶指定 PEM 格式的服务器证书文件的路径。
使用此选项之后,
systemd-journal-gatewayd 将会以 HTTPS 模式运行。
此选项必须与
--key=
同时使用。
--key=
¶指定 PEM 格式的服务器私钥文件的路径。
注意,此私钥必须与
--cert=
服务器证书互相匹配。
--trust=
¶指定 PEM 格式的 CA 证书文件的路径。
-D DIR
, --directory=DIR
¶接收一个以绝对路径表示的日志目录。
如果设置了此选项,那么 systemd-journal-gatewayd
将会基于此处设置的 DIR
目录提供日志传输服务,
而不是基于默认的日志目录(包括运行时日志目录与系统日志目录)。
-h
, --help
¶--version
¶可以识别的URL格式如下:
/browse
¶交互式浏览
/entries[?option1&option2=value…]
¶以各种不同的格式拉取日志事件。
HTTP 头中的 Accept:
用于指定格式,详见下面的"Accept 头"小节。
HTTP 头中的 Range:
用于指定日志事件的范围,
详见下面的"Range 头"小节。
可以使用GET参数来控制拉取哪些日志事件。 详见下面的"URL GET 参数"小节。
/machine
¶获取一个以 JSON 格式描述的系统信息。
示例:
{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446", "boot_id" : "3d3c9efaf556496a9b04259ee35df7f7", "hostname" : "fedora", "os_pretty_name" : "Fedora 19 (Rawhide)", "virtualization" : "kvm", …}
/fields/FIELD_NAME
¶获取日志中 FIELD_NAME 字段的值列表
Accept:
format
能够识别的 format 如下:
text/plain
¶这是默认值。 表示以纯文本输出 syslog 格式的日志,每一行就是一个日志事件。 与 journalctl --output short 的输出格式相同。
application/json
¶以 JSON 格式输出日志事件, 每一行就是一个日志事件。 与 journalctl --output json 的输出格式相同。 参见 Journal JSON Format 以了解详情。
text/event-stream
¶以 JSON 格式输出日志事件, 并按照 Server-Sent Events 规范进行封装。 与 journalctl --output json-sse 的输出格式相同。
application/vnd.fdo.journal
¶将日志事件 序列化为一个二进制流(主要内容依然是文本), 以便于备份和网络传输。 与 journalctl --output export 的输出格式相同。 参见 Journal Export Format 以了解详情。
Range: entries=
cursor
[[:num_skip
]:num_entries
]
其中,
cursor
是一个游标(cursor)字符串、
num_skip
是一个有符号整数、
num_entries
是一个有符号整数。
默认的 Range 是拉取全部日志事件。
可以在URL中使用下列参数:
follow
¶等待新的日志事件。 与 journalctl --follow 类似, 不同之处在于不限制返回的日志事件的数量。
discrete
¶按照给定的游标(cursor)检索日志事件。 仅返回与指定游标(cursor)匹配的那一条日志事件。
boot
¶仅检索系统本次启动中的日志事件。 相当于 journalctl -b
KEY
=match
¶根据日志字段进行匹配。参见 systemd.journal-fields(7) 手册。
从本机日志中检索本次启动中的日志事件, 并按照 Journal Export Format 格式输出:
curl --silent -H'Accept: application/vnd.fdo.journal' \ 'http://localhost:19531/entries?boot'
监听内存转储(core dump)事件:
curl 'http://localhost:19531/entries?follow&MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1'