设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 大数据 > 正文

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

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

本文整理自APMCon 2016中国应用性能管理大会CDN加速专场又拍云CTO黄慧攀题为《访问日志的大数据分析应用》的演讲,现场解读了在海量访问日志中提炼多个性能指标,对日志分析系统查询需求进行分析,对访问特点进行分析,并基于性能考虑对系统架构进行优化,从而达到优化CDN服务质量。

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

以下为演讲实录:


黄慧攀:谢谢,我是又拍云的黄慧攀,很高兴今天过来跟大家分享一下关于日志的大数据分析应用,这是大家平时都经常触碰的东西,不管是Web或者是Server,都会打日志出来,这是首先我们考虑的东西。然后打出来的日志到底有什么价值,这就是我们今天想跟大家分享的一个内容。


一、日志的价值

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

我们今天这个话题最主要会讲到日志,上图就是非常简单的一条。我们比起一般的会多了一些额外的信息,因为这是我们在CDN节点上面截取出来的,这里面包含一些我们的业务系统用到的做性能必要的数据。如果说只是很简单的去看这一段文字,我们根本不知道它是干什么的,它有什么价值也看不出来,就是一堆字符。但是我们需要对这些数据做结构化的理解,就变成下面这个样子:

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

你可以看到在这里面把每一个字段拆解下来,第一个肯定会看到客户端的IP,第二个是访问协议,还有访问的目标,URL、访问的状态码、字节数、CDN流转的中转节点、原站到了哪里、中转吞吐的速率、还有原站的吞吐速度都被标记出来。这样的话你就结构化的理解这条日志,可以看到这里数据的价值。当然不局限于说只有这一条,因为我们接下来还会讲到怎么去把这些数据变成有价值的东西能够展现出来。

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

这部分我主要想提一下,刚才说的有价值的数据我们需要做哪些转换。比如说IP需要对应到客户,这个IP到底在哪里,是广东电信还是北京联通,需要对这个数据做一个分析,不能只在字眼上面看它,不能只看到几个数字而已。接下来还有很多都需要对字符提炼出它的价值。比如说访问URL里面需要提取出来的一个是域名,因为在CDN服务商里面一个域名对应的是一个客户。而后面会有稳健的URL,这个URL里面会有一些文件的扩展名,我们也认为是可以提炼的价值点,可以知道全站里面跑的是什么内容,哪一个文件类型占的流量带宽最多。如果我要做一个成本控制的决策,就会想看一下媒体文件所占的流量和带宽是不是比较大,如果是的话我可不可以在这里入手,能节约多少带宽,如果有这个数据的话就可以很准确的做出决定,对于我们的优化就做出一个方向。


二、又拍云ELK方案

这里面我先介绍一下又拍云搜集到的日志有多少,目前来说我们全网150多个节点,有3000多台服务器,每一台服务器平均每天会产生5个GB左右的日志。这个量非常庞大,如果全部存下来的话一天相当于有15T,这是非常庞大的数字。我们存原始日志的服务器是大规模的存储集群,也不是持久存储,因为我们在这里还做了一些二次处理,处理过后会再放到云存储里,这才是我们真正的持久存储的地方。这里的数字非常惊人,总共有2000多亿条日志,如果只是一个很小的网站一天下来只有一万多条日志,你看不出来这里数据的价值,但是我有几千亿条日子的时候,所组合出来的就是非常有价值的东西。


这里是又拍云对日志做了哪一些提炼,总有做了四个部分:

第一个部分,50台高性能大存储容量的服务器组成集群,以处理原始日志格式。因为我们在日常的排错过程中会用到ID,需要快速的在这个集群里面找到当前这次访问到底出现了什么问题,只能把所有的原始日志都收集进来,所以我们就做了一个这么巨大的集群去专门做这件事情。而这个集群因为数据量太大了,刚才就说了一天产生的日志有15T,其实我们没办法存太长时间,所以我们只存了两天的数据。


第二个部分,4台高性能服务器组成日志下载处理集群,以提供简化的标准日志供客户下载。我们针对这些日志会做一个二次的简化处理,因为原始日志里面包含的信息太多了,提供给我们的客户下载回去有很多的数据、信息他们是不需要的。并且他们也不可能每小时都到我们这里来下载3000个节点的日志文件回去,然后再自己合并、自己排序。所以我们第二个场景是做了一个日志二次处理和简化工作的集群,而这个集群是用了4台高性能的服务器去做的,这些日志保存30天供用户下载,最大的延迟是1小时就可以下载到这个日志。

到了每天凌晨两点钟完成日志处理的工作之后,会马上再做一个日志统计分析,最大延迟可以在6小时左右,可以看到昨天我们这些日志所产生的那些统计分析。当然这个是非常简化的统计分析,它所体现出来的价值还没有我接下来要讲的价值大。


第三个部分就是我们今天讲的重点,1台普通服务器,接收所有节点的二次处理后数据,输出节点质量报告。为什么我只强调数据展现,而没有说数据分析这部分,因为我们在这里面做了大量的数据价值的提炼,还有二次的处理。其实我们把很多的中间结果扔给了ES,ES在这个场景里所起到的作用更多的是一个存储,还有一个是数据展现这样的工作。


第四个部分接收所有节点的二次处理后数据,输入到 ES,输出多纬度分析数据。但这个不是重点,所以我就没有在今天接下来打算要介绍这个部分。


(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读