我正在寻找一种方法来集中分布式软件(用Java编写的),这将是很容易的,因为有问题的系统中只有一个服务器的日志记录的担忧。 但是记住,这是极有可能的是,特定服务器的多个实例将在未来的运行(也有将是更多的应用程序的需要为这个),就必须像一个记录的服务器,其负责传入日志,使它们accessable的支持团队。
这种情况现在的问题是,有几个Java的应用程序使用log4j的,它的数据写入到本地文件,因此,如果客户expiriences问题的支持团队有权要求在记录,这并不总是容易,需要花费大量的时间。 在的情况下,服务器故障诊断,问题并不大,因为是远程接入反正,但即便如此,通过记录的服务器监控一切仍然会做出很大的意义。
虽然我通过问题就关于“集中记录”我发现了另一个问题 (实际上是唯一一家拥有(在这种情况下)可用的答案。问题是,所有的应用程序都在一个封闭的环境中运行(在一个网络内)和安全准则不允许对有关内部软件走出去的环境中网络的任何东西。
我还发现约一将如何精彩文章实现这样的日志记录的服务器。 由于文章写于2001年,我还以为是有人可能已经解决了这个特殊的问题。 但我的搜索结果与一无所获。
我的问题 :是否有记录,框架,手柄的日志在一个中央服务器的网络可以通过支持团队来访问?
规格:
- 可用性
- 服务器必须由我们来运行。
- Java 1.5的兼容性
- 相容性的异构网络。
- 最好的情况:协议使用HTTP发送日志(以避免防火墙的问题)
- 最好的情况:使用实现SLF4J log4j的或的logback或基本上什么
没有必要的,但最好有
- 身份验证和安全性当然是一个问题,但可以重新设置至少一段时间(如果是开放式的软件,我们将它推广到我们的需求OT:我们总是回馈项目 )。
- 数据挖掘和分析的东西是使软件更好非常有帮助,但可能也有外部应用程序。
我最糟糕的情况是,他们就是这样没有软件。 对于这种情况,我们可能会实现这个自己。 但是,如果有这样的客户端 - 服务器应用程序我将非常感谢不需要做工作的这个问题尤其严重位。
提前致谢
更新:该解决方案有几个支持java的平台上运行。 (大部分的Windows,Linux,一些HP UNIX)
更新:经过大量更多的研究,我们居然找到了一个解决方案,我们能够获得。 clusterlog.net (离线自至少2015年中期),用于分布式软件提供日志服务,并且是Log4j和的logback(这是SLF4J兼容)兼容。 它让我们分析每一个用户的方式,通过该应用程序。 因此使得它非常容易重现报告的错误(甚至不报的)。 它也通知我们通过电子邮件重要事件,并有报告制度是在同一个起源的日志summorized成易于accessable格式。 他们部署(这是完美无瑕),在这里只是前两天,它是运行很好。
更新(2016):这个问题仍然得到大量的流量,但我提到的网站不存在了。