systemd,日志接收原始日志

systemd,日志接收原始日志

所有其他 syslog 实现(rsyslog、syslog-ng、readlog 等)的一个共同范例是通过 UDP514 以纯文本格式交换日志条目。

如何启用 systemd-journal-remote 来接收这种格式的日志?

(我知道有更复杂的日志提供程序的插件来模拟 systemd-journal-remote 默认使用的新的 https 格式,但我正在处理只能发送旧的、原始的、纯文本格式的哑设备)

答案1

最终使用 rsyslog 输出omjournal日志。这样,日志就会转到 journald 并在 syslog 生态系统中“统一”。还具有跨容器工作的优势。

# /etc/rsyslog.conf
...
module(load="omjournal")
template(name="journal" type="list") {
  constant(value="remote" outname="MESSAGE")
  property(name="$!event-type" outname="EVENT_TYPE")
}
action(type="omjournal" template="journal")
...

答案2

我找到了一种使用示例配置将远程日志消息重定向到 systemd 日志的方法 https://bugzilla.redhat.com/show_bug.cgi?id=1428247

module(load="omjournal") 
ruleset(name="remote") {
    action(type="omjournal")
}
input(type="imtcp" port="514" ruleset="remote")

它在带有 rsyslog 的 Ubuntu Server 18.04 上运行,在我的情况下使用 tcp 模块。

相关内容