每天要处理亿级的日志文件,该怎么做?

2015-06-30 18:08:08 +08:00
 whnzy

现在要做到每天处理亿级的日志文件,公司根本没有现成的系统.日志是由nginx打下的请求日志,要在日志中筛选需要的信息,有些还是加密的请求,需要解密.
我当时用python 搭建起一套系统,一天可以处理完,但是随着数据的增加,我为了提高查询数据库的速度,将一些内容放到了内存中,但是随着数据的增加,内存已经爆掉.
mongo,多维数组什么的都已经尝试过了,已经无能为力了,我刚刚毕业,没有那么多的经验,手中只有两台服务器可用,而且内存一个4G,一个1G,cpu最多的一个也才是双核的.
请教该怎么搞?

10725 次点击
所在节点    Hadoop
73 条回复
JohnSmith
2015-07-01 12:29:26 +08:00
@xdeng +1 有许多现成的方案
EF0718
2015-07-01 12:32:20 +08:00
elasticsearch+logstash+kibana
smileawei
2015-07-01 12:36:58 +08:00
即使你现在勉强解决了,等下次性能瓶颈的时候怎么办,老板会觉得,上次都搞定了,这次也可以的。然后。。。
minotaur
2015-07-01 12:57:24 +08:00
流处理,内存中只保留热门数据,冷门数据都持久化到磁盘。
一毕业就做这个还挺有意思的。
whnzy
2015-07-01 15:38:05 +08:00
不知道有没有人用过GoAccess,想请教下.
9hills
2015-07-01 15:41:20 +08:00
上面说elasticsearch的,lz那点内存还敢跑elasticsearch?我32G内存的机器都OOM。。
9hills
2015-07-01 15:42:08 +08:00
ES的文档里说了:A machine with 64 GB of RAM is the ideal sweet spot

64G为佳。。
Pacer
2015-07-01 15:46:07 +08:00
首先~~ 把机器内存和 CPU 升级一下吧~
跟老板要 16GB 4核 吧
Clarencep
2015-07-01 16:04:31 +08:00
这么多log肯定有很多是冗余的,垃圾信息的,清理下,然后免费版的splunk就够用的了
paw
2015-07-01 18:58:23 +08:00
kafka spark


不要求实时的话 mapreduce去


PS:不管咋样,跟BOSS说加机器去。。。。
luw2007
2015-07-01 19:47:15 +08:00
看日志处理完干嘛。
错误日志可以使用全文搜索引擎报错。
hb1412
2015-07-01 21:31:23 +08:00
可以看看sumologic
loading
2015-07-01 21:33:34 +08:00
花十万开发工具 vs 花一万上新机器

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/202249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX