以前我们使用一台日志服务器。但是现在我们添加了一个额外的日志服务器,它也将存储从客户端收到的日志。我需要知道如何在客户端的 syslog.conf 文件中添加这两个 Syslog 服务器。以便两个系统日志服务器同时接收日志。
谢谢
由于您没有指定,并且为了其他读者的利益,我将描述如何使用 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); };
Run Code Online (Sandbox Code Playgroud)
要将系统日志记录到第二个目的地,请添加:
destination d_loghost2 {udp("10.10.1.2" port(514));};
log { source(s_src); destination(d_loghost2); };
Run Code Online (Sandbox Code Playgroud)
如果运行的rsyslog
话,其实更简单。配置文件是/etc/rsyslog.conf
您在哪里找到目的地:
*.* @10.10.1.1:514
Run Code Online (Sandbox Code Playgroud)
您添加第二个目的地:
*.* @10.10.1.2:514
Run Code Online (Sandbox Code Playgroud)
更改配置后,需要重新启动客户端中的 syslog 守护进程。分别是,
sudo service syslog-ng restart
Run Code Online (Sandbox Code Playgroud)
或者
sudo service rsyslog restart
Run Code Online (Sandbox Code Playgroud)
由于 syslog 守护进程将所有消息发送到所有配置的目的地,除非您明确过滤掉服务或日志级别,否则您不需要[在客户端]配置任何其他内容。两者都将收到完全相同的日志。