我正在使用 Rsyslog 进行分布式日志收集。据我了解,Debian 上的日志流journals
从那时开始,然后syslog socket
由rsyslog clients
. time-generated
在我的例子中,RS 客户端通过添加额外信息(如、priority
等)对收集的日志进行后处理hostname
。每个节点上使用两个 /etc/rsyslog.d/*.conf
:
- 用于捕获本地日志并在终端上显示(转发到规范)
- 用于将日志转发到其他节点
最近,我遇到了以下问题: - 所有节点都有相同的配置,转发节点正在将后处理信息添加到日志中。收到时,在发送到终端之前,本地配置也在添加后处理信息(制作是两次)。某些信息(例如time generated
不会重复),但主机名之类的信息会打印两次。我必须两次都发布进程,因为日志服务器可能是external or internal
并且转发的 v/s 本地日志应该看起来相同。
- 这是处理分布式日志收集的最佳方式吗?
- 如何避免重复的后处理字符串?
- 为什么
time-generated
不被复制?
任何指针都会有帮助,谢谢!
规格:节点:Debian Jessie,Systemd 215,Rsyslog 8.3.3 服务器:同上或外部 rsyslog 服务器