问一下集群服务器环境中日志的问题

layhaokeai 2012-07-19 10:57:55
各位大虾,现在需要记录用户的每一个操作行为,将此日志信息记录到文件中,本人的意见是每台应用服务器都向指定的日志服务器发送指令和日志信息,然后由此日志服务器的服务统一的将日志写入到指定的日志文件,但是这个意见被经理否定了,他的意见是每台应用服务器,都各自向此日志服务器的各应用服务器指定的文件夹里的指定日志文件中写入日志信息,现在说一下这两个方案的好处和坏处,
第一种方案的好处是,方便统一对整个日志文件的自动处理和分析,坏处是,如果日志服务器的服务挂了,则所有的日志操作都中断了。
第二种方案的好处是,各应用服务器单独处理日志服务器中的指定文件,即便某个应用服务器有问题,也不至于所有的日志操作都中断,坏处是,不方便统一对日志的分析和处理。
各位大虾,请给出你们的意见!谢谢!
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
我们这个的要求是,每天的一个日志文件,将用户在网站上的操作行为记录下来,到时候可能要统计每小时,每天,每周,每月的统计分析报表!因此,我个人觉得,各应用服务器的用户操作日志都由日志服务器来统一处理。
[/Quote]

这个想法会让所有的机器都依赖于日志服务器处理能效,在访问量高的时候,日志服务器可能成为瓶颈从而拖慢整个系统的响应速度。

系统设计时,很重要的一个事情就是区分出软件的主要职能,然后最大可能保证主要职能不会受其它因素的影响。依赖关系越少越好。

整个系统能正常运行就好像一条链条,每个环节都有 1% 的出错概率或性能损耗,链条越长,总体可用性越低。除了保证每个环的正常外,要最大可能减少链条总长度。


此外,在系统设计上,将日志记录 和 日志整理与分析的职能切分清楚,也是很有好处的。
layhaokeai 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
我们这个的要求是,每天的一个日志文件,将用户在网站上的操作行为记录下来,到时候可能要统计每小时,每天,每周,每月的统计分析报表!因此,我个人觉得,各应用服务器的用户操作日志都由日志服务器来统一处理。


这个想法会让所有的机器都依赖于日志服务器处理能效,在访问量高的时候,日志服务器可能成为瓶颈从而拖慢整个系统的响应速度。

系统设计时,很重要的一个事情就是区……
[/Quote]
3Q,你给的建议很好!我会好好考虑的!
kky2010_110 2012-07-20
  • 打赏
  • 举报
回复
2,显然是2,你要明白多服务器是为了解决什么问题?这个显然楼上的回答比较中肯。
layhaokeai 2012-07-19
  • 打赏
  • 举报
回复
我们这个的要求是,每天的一个日志文件,将用户在网站上的操作行为记录下来,到时候可能要统计每小时,每天,每周,每月的统计分析报表!因此,我个人觉得,各应用服务器的用户操作日志都由日志服务器来统一处理。
MiceRice 2012-07-19
  • 打赏
  • 举报
回复
建议日志本地记录就行了,按时间做滚动日志,比如小时。

日志服务器定时到各服务器上面抓取滚动日志,要做分析合并啥的就随意了。
如果需要的话,也可以再批量插入 数据库中,便于后续做检索。
brightyq 2012-07-19
  • 打赏
  • 举报
回复
如果多个服务都往一个日志文件里写,不光有楼主说的问题。而且多个应用都写在一个文件里,怎么能方便查找日志呢?各写各的,这个才方便查找。
比如十个服务器,每个日志是10G。
那A服务器查找日志只需在10G中找,如果都写在一个文件,那就要从100G中找,浪费时间。

如果想统一分析处理,可以后期将各日志合并。另外就算不合并,分开处理,最后合并处理结果也是一样的。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧