一个组集群服务器(server1 ,server2 ,server3 ,server3),每天产生很产生很多日志(记录了IP,时间。。。),4台服务器会生成一个500G的大日志。现在需要对这500G的日志继续分析,找到出现IP最多的日志记录。
要怎么分析了,有条件的,给一台机器给你 8G内存 双核CPU ,问你怎么利用这台服务器来分析上面所说的情况??、有什么好的解决方案,我听了后,觉得就是分批处理,使用消息通信机制,我很喜欢研究这个问题,希望给大家讨论下????
要怎么分析了,有条件的,给一台机器给你 8G内存 双核CPU ,问你怎么利用这台服务器来分析上面所说的情况??、有什么好的解决方案,我听了后,觉得就是分批处理,使用消息通信机制,我很喜欢研究这个问题,希望给大家讨论下????
至于需要多少机器,取决于你每天日志数据量。
最原始的是,将日志文件合并后,用LINUX SH或python脚本完成统计。
我的思想就是尽可能的简化问题。
比如就你的这个需求来说,获取统计最多的IP的话,
你有没有注意到你们的系统有多少独立IP的访问,
我估计这个数不会很大,
那么8G的内存足够用来做一张“IP->访问量”的HASH表,
那么你要做的就是遍历日志文件,更新HASH表,最后找到最大值即可。
当然,像banq兄等说的用数据库也是个办法,但我觉得杀鸡焉用牛刀。
补充一下,最大值可以在更新hash表的同时记录。当你的日志遍历完,最大值也就出来了。再优化下,也许不用遍历完,最大值也可能出来了。
[该贴被alexwoo于2012-10-13 09:49修改过]