将日志发送到多个系统日志服务器

将日志发送到多个系统日志服务器

以前我们使用一台日志服务器。但现在我们添加了一台额外的日志服务器,它也将存储从客户端收到的日志。我需要知道如何在客户端的 syslog.conf 文件中添加这两个 Syslog 服务器。以便两个系统日志服务器同时接收日志。

谢谢

答案1

由于您没有指定,也为了其他读者的利益,我将描述如何使用 syslog-ng 和 rsyslog 让服务器同时记录到两个远程 syslog 服务器。

如果您有 syslog-ng 日志记录到中央 syslog 服务器,请修改 /etc/syslog-ng.conf

举个例子:

source s_src { unix-dgram("/dev/log"); internal();
         file("/proc/kmsg" program_override("kernel"));
};

destination d_loghost {udp("10.10.1.1" port(514));};
log { source(s_src); destination(d_loghost); };

要将系统日志记录到第二个目的地,请添加:

destination d_loghost2 {udp("10.10.1.2" port(514));};
log { source(s_src); destination(d_loghost2); };

如果运行的话rsyslog,其实更简单。配置文件是/etc/rsyslog.conf

您在哪里找到目的地:

*.* @10.10.1.1:514

您添加第二个目的地:

*.* @10.10.1.2:514

更改配置后,需要重新启动客户端的 syslog 守护进程。分别是,

sudo service syslog-ng restart

或者

sudo service rsyslog restart

由于 syslog 守护进程将所有消息发送到配置的所有目标,除非您显式过滤掉服务或日志级别,否则您不需要[在客户端]配置任何其他内容。两者都会收到完全相同的日志。

相关内容