使用 Syslogd 进行远程日志记录,我可以更改主机名吗?

使用 Syslogd 进行远程日志记录,我可以更改主机名吗?

我在三台 WRT54GL 路由器上运行 ddwrt v24-sp2。这些路由器都使用 syslogd 将其系统日志信息发送到同一台远程服务器

问题是,在日志中主机名将在 LAN IP 和 127.0.0.1 之间切换。

当我将多个事件列为本地主机时,很难分辨哪个设备正在做什么,并且无法编写在收到某些系统日志消息时发生的事件脚本。

有谁知道有什么方法可以区分哪条消息来自哪个主机?是否有一些我没有看到的选项,用于在消息中添加标签或额外信息。我可以强制主机在每条消息中发送其主机名吗?

以下是 syslog 输出的一个示例:

2010-06-28 11:43:57 User.Info 10.255.255.2 6月28日 17:43:58 : >正在连接到*.*.*.*

2010-06-28 11:43:54 User.Info 127.0.0.1 6月28日 17:43:54 : >正在连接到*.*.*.*

06-28-2010 11:43:52 Daemon.Info 10.255.255.1 Jun 28 17:43:53 >chillispot[428]: chilli.c: 1088: 重新读取配置文件并进行 DNS 查找

06-28-2010 11:43:51 Daemon.Info 127.0.0.1 Jun 28 17:43:52 >chillispot[623]: chilli.c: 1088: 重新读取配置文件并进行 DNS 查找

06-28-2010 11:43:51 Daemon.Info 10.255.255.3 Jun 28 17:43:51 >chillispot[4185]: chilli.c: 1088: 重新读取配置文件并进行 DNS 查找

谢谢

克里斯

答案1

尝试使用 syslog-ng。我在 openwrt 上使用 syslogd 时遇到了很多问题。我怀疑你也遇到了类似的问题。请参阅我的文档在 openwrt 中使用 syslog-ng。我的日志服务器是运行 rsyslogd 的 Ubuntu。

或者,您应该能够使用 syslog-ng 在日志服务器上进行所需的更改,以根据发送服务器重写日志消息。

答案2

这是 syslogd 的一个已知问题。主机名不会跨主机保留。

http://novosial.org/logging/syslogd-problems/

根据建议,尝试使用 syslog-ng。

答案3

将 syslog 消息传送到 netcat 将添加主机名。

一种简单的方法是使用 syslog.conf 文件中的 netcat (nc) 来传输消息,如下所示:

*.* “TAB” | nc RemoteLogServer -u 514 -w 1”

必须在管道符号前插入 TAB 字符。

相关内容