我们正在使用基于BaseHTTPServer的基本python日志服务器来聚合ubunutu服务器上的python日志。这个解决方案满足了我们的需求......直到现在。转储到此日志服务器的程序数量已经增加,现在记录器正在削弱系统。
现在我们回到绘图板,我们正在考虑使用syslog。
将syslog用于其他日志设备是否有利。
感谢您的帮助
答案 0 :(得分:5)
使用syslog可能简单快捷,但无法完全控制日志的聚合方式。
现在您的主要问题是使用BaseHTTPServer,它从未打算在生产服务器上使用,或者用于任何需要高性能的东西。
我看到两个选项:
编辑: 支持消息队列的专用解决方案是logbook。它也可以用作标准库日志记录模块的直接替代。
答案 1 :(得分:3)
使用syslog的优势(所有现代* nix系统,包括Linux,FreeBSD,OS-X等)都很多:
man syslog
)logger
)我能想到的唯一缺点是syslog
不可移植(对于非* nix系统),但如果你使用任何现代* nix,任何替代方案都会更复杂,可能不太可靠。< / p>
由于syslog
正在使用UDP而丢失数据包的担忧可能是有效的,但在LAN上的实践中,我从未发现它是一个问题。
答案 2 :(得分:0)
不确定为什么需要HTTP,但这肯定会增加开销。更不用说python实现可能不适合任务。 我可以推荐syslog,但要注意使用UDP进行传输会导致消息丢失,因此强烈建议使用TCP。 syslog-ng和rsyslog都可以处理TCP syslog。 nxlog也可以,甚至不与syslog协议绑定。