Jul*_*son 15 networking logging syslog message-queue
在工作中,我们正在构建一个分布式应用程序(可能跨越局域网上的多台机器,可能稍后在WAN + VPN上跨越几个大陆).我们不希望每台机器都有本地日志文件(填满磁盘而无法集中查看),因此我们需要集中通过网络进行日志记录.大多数日志都不重要,因此UDP对他们来说很好,但有些是丢失重要的警报,必须可靠地传递,这意味着TCP.如果日志记录协议过于繁琐,我们担心拥塞网络,或者如果应用程序没有响应,则将应用程序拖到爬网中.
我考虑过的一些可能性是:
你有其他建议吗?您使用了哪些集中式日志记录解决方案,以及它们的运行情况如何?
编辑:我倾向于抄写员,因为它的存储转发设计将正在运行的应用程序与网络延迟分离.但是在努力安装它之后,我发现(1)它不能作为二进制包使用 - 现在这是不可原谅的 - 而且(2)它非常依赖于一个不能作为二进制包提供的库(thrift)!最糟糕的是,它甚至无法正常编译.这不是发布质量代码,即使在开源中也是如此.
小智 11
我们已经成功地将ZeroMQ用于像您这样的分布式应用程序场景的日志.它非常可靠,速度极快.在使用Spread实现不太成功后,我们转移到了ZeroMQ .在我们的设置中,单个ZeroMQ服务器能够处理来自中高繁忙分布式应用程序的70多种不同日志.它从LAN和Internet接收数据.
如果您需要详细的队列服务器比较,请从Second Life wiki查看此页面.
希望能帮助到你!
最近有几种选择.值得注意的是,Scribe不再维护.Facebook开发了名为Caligraphus的继任者,它不是开源的.这是一个备选列表.
免责声明:我是Fluentd项目的提交者.
如果您打算只关注基础架构日志(例如,在系统级别),则Syslog很好.我听说KIWI系统日志服务器是一个很好的,虽然没有自己尝试.另一方面,如果要记录与应用程序相关的内容,系统日志可能不是最佳选择.如果你使用apache日志服务(log4j,log4xxx和其他),那么logFaces将是一个很好的解决方案,因为它专门用于在一个地方聚合多个应用程序.适用于TCP或UDP连接,并具有不错的日志查看器和数据库集成.
披露:我是这个产品的作者.
归档时间: |
|
查看次数: |
10368 次 |
最近记录: |