syslogd 在 5 秒内将一条远程消息写入日志文件
Posted
技术标签:
【中文标题】syslogd 在 5 秒内将一条远程消息写入日志文件【英文标题】:syslogd writes one remote message into log file in 5 seconds 【发布时间】:2012-05-17 13:18:56 【问题描述】:我在 Ubuntu VBox vm 上使用 syslogd(软件包 sysklogd)来记录来自远程主机的消息:VBox vm Windows xp java application with log4j syslog appender。我发送了 10 条超时 100 毫秒的消息,一切正常,但是 syslogd 将它们写入日志文件的速度非常慢,5 秒内有 1 条记录。我在两个虚拟机上都使用了wireshark,所有的udp包都没有任何超时,所以syslog中有问题。
May 17 17:05:09 192.168.130.198 16:57:48,055 ...| Test message ¹0
May 17 17:05:14 192.168.130.198 16:57:48,155 ...| Test message ¹1
May 17 17:05:19 192.168.130.198 16:57:48,255 ...| Test message ¹2
所有其他消息似乎都被系统日志缓存了。
问题:
如何消除这种延迟?我打算将来自应用服务器集群的日志消息写入一个日志文件。 syslog 是否能够在 1 秒内处理 500-1000 条 udp 日志消息?
【问题讨论】:
【参考方案1】:刚遇到同样的问题,偶然发现这个问题,后来发现是由于日志服务器反向DNS查找延迟和失败造成的。
对于sysklogd
,一个对我有用的快速修复(无需为内部网络设置 DNS 服务器)是添加一个条目,例如
192.168.130.198 any-hostname
在/etc/hosts
。
【讨论】:
谢谢!我一直在试图弄清楚为什么 syslog 落后于我的路由器——这就是原因。在这种情况下,我只是将主机(即路由器)和反向查找放在绑定区域配置中。【参考方案2】:我建议使用syslog-ng
而不是sysklogd
。
另一方面,问题也可能来自时间同步的问题。对两个主机都使用 ntp。
【讨论】:
以上是关于syslogd 在 5 秒内将一条远程消息写入日志文件的主要内容,如果未能解决你的问题,请参考以下文章