【发布时间】:2022-01-19 13:56:20
【问题描述】:
尝试配置 syslog-ng 服务器以通过 TLS 将其接收到的所有日志发送到另一个 syslog-ng 服务器。两者都运行 RHEL 7。从加密和证书的角度来看,一切似乎都在工作。在日志中没有看到任何错误消息,openssl s_client 测试连接工作成功,我可以看到数据包通过我用于 TLS 的端口进入,但没有任何内容被写入第二个 syslog-ng 服务器上的磁盘。以下是我尝试将日志发送到的 syslog 服务器上的配置摘要:
来源:
source s_encrypted_syslog {
syslog(ip(0.0.0.0) port(1470) transport("tls")
tls(key-file("/etc/syslog-ng/key.d/privkey.pem")
certfile("/etc/syslog-ng/cert.d/servercert.pem")
peer-verify(optional-untrusted)
}
#changing to trusted once issue is fixed
目的地:
destination d_syslog_facility_f {
file("/mnt/syslog/$LOGHOST/log/$R_YEAR-$R_MONTH-$R_DAY/$HOST_FROM/$HOST/$FACILITY.log" dir-owner ("syslogng") dir-group("syslogng") owner("syslogng") group("syslogng"));
日志设置:
log { source (s_encrypted_syslog); destination (d_syslog_facility_f); };
syslog-ng 当前以 root 身份运行以排除权限问题。 selinux 当前设置为 permissive。尝试增加 syslog-ng 日志的详细程度并打开调试,但就错误或问题而言,没有看到任何突然出现在我身上的东西。奇怪的是,我在第一个 syslog-ng 服务器上有非常相似的配置,它可以很好地接收和存储日志。
另外,我应该注意上面的配置中可能有一些小错字,因为我无法复制和粘贴它。 Syslog-ng 允许我在当前加载的配置中没有错误地启动服务。它只是没有将接收到的数据写入我指定的目的地。
【问题讨论】: