集中式Java日志记录
我正在寻找一种方法来集中分布式软件(用Java编写)的日志关注点,这将非常容易,因为所讨论的系统只有一台服务器。但请记住,将来很可能会有更多特定服务器的实例运行(并且需要更多的应用程序),必须有类似于日志服务器的东西,它负责处理传入的日志,并使支持团队能够访问这些日志 目前的情况是,一些java应用程序使用log4j将其数据写入本地文件,因此如果客户机出现过期问题,支持团队必须要求提供日志,这并不总是那么容易,而且需要花费大量时间。在服务器故障的情况下,诊断问题并没有那么大,因为无论如何都有远程访问,但即使如此,通过日志服务器监控一切仍然是有意义的 当我浏览有关“集中式日志记录”的问题时,我发现了另一个问题(实际上是唯一一个有(在本例中)可用答案的问题)。问题是,所有应用程序都在一个封闭的环境中运行(在一个网络中)安全指南不允许任何与内部软件有关的内容从网络环境中传出 我还发现了一篇关于如何创建这样一个日志服务器的精彩文章。由于这篇文章是在2001年写的,我本以为有人已经解决了这个问题。但我的搜索结果却一无所获 我的问题:是否有一个日志框架,可以通过支持团队可以访问的集中式服务器通过网络处理用户的日志记录 规格:集中式Java日志记录,java,logging,log4j,distributed-computing,logback,Java,Logging,Log4j,Distributed Computing,Logback,我正在寻找一种方法来集中分布式软件(用Java编写)的日志关注点,这将非常容易,因为所讨论的系统只有一台服务器。但请记住,将来很可能会有更多特定服务器的实例运行(并且需要更多的应用程序),必须有类似于日志服务器的东西,它负责处理传入的日志,并使支持团队能够访问这些日志 目前的情况是,一些java应用程序使用log4j将其数据写入本地文件,因此如果客户机出现过期问题,支持团队必须要求提供日志,这并不总是那么容易,而且需要花费大量时间。在服务器故障的情况下,诊断问题并没有那么大,因为无论如何都有远程
- 可用性
- 服务器必须由我们运行
- Java 1.5兼容性
- 与异构网络的兼容性
- 最佳情况:协议使用HTTP发送日志(以避免防火墙问题)
- 最佳情况:使用log4j或LogBack或基本上实现slf4j的任何东西
- 身份验证和安全性当然是一个问题,但可能会被推迟至少一段时间(如果它是开放软件,我们会将其扩展到我们的需要OT:我们总是回馈项目)
- 数据挖掘和分析是非常有助于改进软件的东西,但也可以是一个外部应用程序
更新(2016):这个问题仍然有很多流量,但我提到的站点已经不存在了。您可以将Log4j与SocketAppender一起使用,因此您必须将服务器部分编写为LogEvent processing。
请参见查看日志面,看起来符合您的规范。
- 可用性(检查)
- 服务器必须由我们运行。(检查)
- Java 1.5兼容性(检查)
- 与异构网络的兼容性。(检查)
- 最佳情况:协议使用HTTP发送日志(以避免防火墙问题)(几乎是TCP/UDP)
- 最佳情况:使用log4j或LogBack或基本上实现slf4j的任何东西(检查)
- 身份验证(检查)
- 数据挖掘和分析(可通过扩展api实现)
- 我们有一个用于日志聚合的小型专用计算机集群
- 工人们从生产服务中挖掘日志,然后解析各个行
- 然后,还原者将聚合必要的数据并准备报告
2) 您没有提及正在运行的操作系统,也没有提及是否需要跨平台,但如果您使用*nix,可能需要查看syslog appender。如果我没记错的话,