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 秒内将一条远程消息写入日志文件的主要内容,如果未能解决你的问题,请参考以下文章

部署日志服务器(主机部分)

Ubuntu查看和写入系统日志

syslogd日志简介***

Linux 系统日志初学者指南

真快!10秒内将k8s集群运行起来

Linux基础:日志管理