systemd-journal-gatewayd.service 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

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

可以识别的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 头

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 头

Range: entries=cursor[[:num_skip]:num_entries]

其中, cursor 是一个游标(cursor)字符串、 num_skip 是一个有符号整数、 num_entries 是一个有符号整数。

默认的 Range 是拉取全部日志事件。

URL GET 参数

可以在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'

参见

systemd(1), journalctl(1), systemd.journal-fields(7), systemd-journald.service(8), systemd-journal-remote.service(8), systemd-journal-upload.service(8)