记录多个服务器

时间:2012-10-14 14:16:48

标签: java-ee logging

我们有一组负载均衡的j2ee服务器,每台服务器每天生成大于500 MB的日志。从服务器维护日志的最佳方法是什么。

目前我有三种选择。

  1. 在每个服务中维护一个单独的日志文件夹
  2. 将日志写入数据库
  3. 维护一个单独的日志服务器并使用jms
  4. 编写日志

    这是解决此问题的最佳解决方案。

    如果您有更多解决方案,请建议。

1 个答案:

答案 0 :(得分:0)

最佳解决方案可以是主观的,它实际上取决于您尝试通过日志记录实现的目标以及环境的设置方式。首先我想说的是,使用您选择的任一解决方案,记录都不是免费的,因此请始终考虑它对系统的成本/影响。

每台服务器单独的文件夹:

  • 如果您使用循环法作为负载平衡策略,那么客户端的任何请求都可以记录在不同的服务器上。尝试整理多个服务器上的数据日志条目要困难得多。

写入数据库:

  • 这将保持集中
  • 可以利用数据库访问控制来访问日志。
  • 如果你有大量的并发使用,那么写很多文件就会给数据库带来很大的负担,从而导致争用。

推入JMS队列:

  • 我认为这是最灵活的选择,也是构建的良好基础。
  • 允许您将工作卸载到另一台服务器,您可以花一点时间来解析日志,以便将来进行过滤。
  • 可以维护所有日志的中心位置
  • 允许您从日志记录过程中抽象出持久性机制。这意味着您可以登录数据库,文件系统,NoSQL DB或您想要的每个商店。
  • 我会尝试最小化记录到队列的内容而不是过滤队列中的内容,因此在队列之前使用适当的日志记录级别。