我喜欢通过 PXE 配置多台机器,并将内核参数传递systemd.journald.forward_to_syslog
给所有机器,这样我就可以从一个中心位置监控所有日志。(我无法更改机器配置,这是第一次启动,只有启动)
从文档看来,此选项是一个布尔值 true/false 选项,但我无法找到如何为 syslog 服务器设置 detestation。我也尝试像这样使用它systemd.journald.forward_to_syslog=1.2.3.4
,但我没有看到生成到我的系统日志服务器的流量。
有没有人尝试过?
Systemd-journald 不支持通过网络发送消息。此选项控制转发到本地syslog 守护程序,该守护程序预计在 /run/systemd/journal/syslog 进行侦听。
(但是,无论如何,这不是推荐的方法。当使用 syslog-ng 或 rsyslogd 时,让 syslog 守护进程通过直接读取
.journal
文件来提取日志消息更可靠,同时保持“转发”选项禁用。这允许syslogd 以准确保存所有超出标准 BSD Syslog 格式的元数据字段。)简而言之:您将需要安装一个实际的 syslog 守护程序,将其配置为读取 .journal 文件(使用
system()
syslog-ng 中的源或imjournal
rsyslogd 中的模块),并告诉它通过网络转发导入的消息。在对此事进行了更多搜索之后,似乎
systemd.journald.forward_to_syslog
不是解决此问题的正确方法。systemd 创建者 Lennart Poettering也找到了这个答案
并且推荐的方法是使用netlogd (它似乎不是用 CentOS/Fedora 机器编译的?)