加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

访问日志的大数据分析应用

发布时间:2021-01-22 18:09:52 所属栏目:大数据 来源:网络整理
导读:副标题#e# 本文整理自APMCon 2016中国应用性能管理大会CDN加速专场又拍云CTO黄慧攀题为《访问日志的大数据分析应用》的演讲,现场解读了在海量访问日志中提炼多个性能指标,对日志分析系统查询需求进行分析,对访问特点进行分析,并基于性能考虑对系统架构

刚才说到我们今天的重点是解决方案,平时我们做运维或者做研发的同事应该对日志处理这个解决方案非常熟悉。当然我们也都会经常吐槽,ELK性能不太好,并且版本3升级到4后大家都觉得性能又差了。有可能大家使用的方式有点问题,可以参考一下我们这里的使用方案。我们可以做到非常高的性能并且这个集群里面处理这么大量的数据,我们只用了一台服务器去做这件事情,并且它的资源还没跑满,只跑了10%左右,消耗CPU资源非常非常少,唯独磁盘存储的空间占用有几百G,但这几百G可是存了一个月的数据,所以我说二次提炼在这里面非常重要。


终上所述,这里我也说ELK,But Not only ELK,你要用到它但不仅仅是它,还需要做很多自己要做的事情才能把它玩转过来,它肯定不是全部。

访问日志的大数据分析应用

上图是我们现在的数据处理的大的架构。这里有一个特点,CDN行业边缘节点服务器数量众多,并且他们的计算资源非常充裕,在我们的边境节点的机器CPU使用率通常都不会超过10%到20%,其实可以把很多数据处理的工作放到边缘节点。并且我们的边缘节点同时也是产生日志的地方,非常自然的就把计算的工作放到了上面去,同时在边缘做一些必要的二次处理,然后再发送到数据中心里面,数据中心专门会有一个收集的服务。这个步骤是很有必要的,不能简单的说边缘节点里面的数据能直接存入到ES集群,这不现实,因为这里面还有一些数据必须要做合并统计。比如说每一台服务器汇总回来需要合并一下,我要知道广东电信,广州那边的节点的统计数据是怎样的,这里面就会牵扯到有一个合并计算的逻辑,我们要把这个逻辑放到了中间结果收集服务里面去做的。


随后做了收集还有二次处理,合并处理之后再扔到ES集群里面。ES集群有两个功能:


第一个,当然是最主要的,把这些数据能展现出来。

第二个,它可以做一个自动告警的功能。

访问日志的大数据分析应用

上图是我们刚才说的数据处理这部分的主要流程,第一个是log,log会经过我们的log分析程序。这个log分析程序里面做的主要有两个工作,一个是提炼数据的价值,另外一个是合并计算。随后它就会扔到我们后面的日志收集,再进行一次合并计算。在这里面我们出现了两次的合并计算然后再把它存入到ES集群里面。我们为什么要去做合并计算?因为一开始我就提到我们全网所产生的日志量是非常巨大的,2000多亿条数据,15T。我用50台机器的ES集群也只能存两天的数据,这样的话性能是非常低的。比如说现在我想看一下今天全网带宽统计,如果在这个集群里面看的话,我打开这个数据最少要等三四十秒,很漫长。而我们合并过了之后再存入ES,在这个场景里面我要去看我们一天的带宽数据,那其实基本上秒开,只要一点马上能看到昨天的带宽数据,这就是我们合并计算的价值,第一个是存的数据少了,第二是查看的性能非常高。我做了粗略的统计,我们合并可以达到的数据压缩率是1000倍以上,非常非常厉害。


三、提炼数据的价值

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!