转发 systemd 日志消息/收集 systemd 日志消息

ado*_*ntz 3 linux arch-linux systemd journald

如何收集 systemd 日志事件(拉)或转发 systemd 日志事件(推送)?

我想要类似转发的事件日志(http://windows.tips.net/T012878_What_is_the_Purpose_of_the_Forwarded_Events_Event_Log.html)但在 Linux 下。

我正在使用 ArchLinux,但不确定这是否重要。

我应该将日志转发到系统日志然后收集系统日志吗?这样做会丢失任何信息吗?我可以在没有 syslog 守护程序的情况下收集日志消息吗?

小智 10

将消息转发到诸如 syslog 之类的传统软件只会给您带来开销。

相反,您可以使用本机日志功能实现这两种模型。

推模型:

(日志源) systemd-journal-upload -> systemd-journal-remote (日志收集器)

拉模:

(日志源) systemd-journal-gatewayd <- systemd-journal-remote (日志收集器)

箭头显示谁发起连接。HTTPS 用作传输,因此它是安全的。

更多信息可从以下网址获得:

http://www.freedesktop.org/software/systemd/man/systemd-journal-remote.html

http://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html

等等。

  • 给在使用 Debian 8 时通过 Google 到达这里的任何人的说明:如果您运行的是资源受限的 VPS,请**测试您的日志记录解决方案**(使用 `while true; do echo 'test string' | systemd-cat;完成`)。我被迫依赖 `Storage=none` 并转发到 `inetutils-syslogd`,因为这是防止 `systemd-journald` 将内存限制视为松散建议的唯一方法。(RSS 峰值为 7.7%,而基于 syslog 的解决方案稳定在 0.8% (`systemd-journald`) + 0.7% (`syslogd --no-forward --socket=/run/systemd/journal/syslog`)。在这种情况下,您还需要 `logrotate`。 (2认同)