4 在国内的发展现状
由于分布式日志系统主要面对的是大量访问量的情况下的日志收集和分析,所以主要是一些大型公司在研发和使用相关产品,但是由于国内目前技术圈的封闭,很多技术资料和细节都无法获取到,只能从一些相关宣传资料中了解一二。所以这里我们也不妄加臆断,只能说发展良好,但是和国际的技术水平还是有差距的。
这里仅仅以笔者实习所在公司作为例子(以下以Z代替),简单说明一下,国内目前分布式日志系统的发展状况。
Z的分布式日志系统叫做Kids—Kiss,其中Kids系统主要用来分布式的收集日志信息,完成日志格式化,日志持久化之前的所有操作,但是目前日志信息收集过来以后,主要还是依托于本地的文件系统作为存储,没有做到分布式存储,其中一大部分原因是因为无法很好的将分布式存储的文件合并到一起,还原为原始的信息格式(主要是顺序),但是为分布式收集,统一处理提供了一个良好,高可用的方案。
Kiss系统主要由笔者开发,是Z日志系统的分析子系统,其相关功能主要包括日志访问接口、日志格式解析、日志信息报表。
Kiss系统框架图
日志访问接口的设计,是为了解决再没有使用DFS的环境下,满足不同的应用程序离线访问日志,接口设计满足了POSIX标准,通过有状态的RPC调用,解决了跨平台问题和传输效率问题,不用每次在网路上传递大量信息,同时对上层屏蔽了本身的存储结构,使用简单,系统安全性较高。
虽然日志是经过标准化的,但是由于一些历史原因标准化后的日志格式还是很多,比如说web标准日志,JSON字符串,CSV格式等等,日志格式解析模块的设计,主要就是为了解决这个头疼的问题,将所有的日志经过提取,提取出关键字段,封装,拱上层使用,这样日志访问接口在访问底层的时候,就不需要针对不同的格式,做出特殊处理了,也不需要应用程序做出不同的处理,方便了日志的使用。
日志信息报表可以说是最能体现日志系统价值的产品了,该系统通过离线访问历史日志,利用统计信息和既定的聚合规则,计算出一些指标的信息,包括效率,异常率,访问量等等,将这些数据持久化后,可以做出一个更长事件同比和环比的报表,运维人员可以参考这个报表调整基础架构,业务开发员可以参考这个优化程序,产品人员可以通过类似于访问量的数据修改产品形态,决定业务方向。
所以在Z,日志系统已经初具规模,形成了“分布式收集,统一处理,离线分析”。其他的一些诸如Baidu、Tencent之类的大公司,内部并然对于日志系统是有一套解决方案的,但是一般都离不开最开始提到的Google的那几片论文,以及相关的产品,就不加赘述了。
分布式日志系统的发展研究现状(2):http://www.751com.cn/yanjiu/lunwen_72188.html