简单总结下日志平台的核心需求,至少有以下2点:
1、数据分析
数据分析又分成2类,一类是预先定义好的分析逻辑,另一类是即时的,突发奇想的分析adhoc
预先定义好的分析逻辑,可以在流计算系统就对日志流进行解析,转换,甚至聚合,结果可以丢到olap分析引擎,也可以丢到时序数据库。这种处理方式是对原始数据的有目的的粗加工,最终存储的数据是丢失了大量的信息量的
日志的adhoc分析,需要存储原始数据,不允许丢失信息量,同时能够实时对原始数据进行解析,统计和分析。平台必须支持强大的日志解析和统计计算能力,并且要有尽可能低的延时,一次统计和查询最好在秒级别或者分钟级别,时间越长,体验越差。
2、日志的搜索
故障定位等场景通常需要关键词搜索,日志平台要提供强大的搜索能力,不光能够搜索到关键字,还能还原日志的上下文,当然livetail可以算是日志搜索一种特殊情况,即实时全文自动更新。搜索对延时要求也很高,不加索引,全局暴力扫描的方式的搜索不能满足要求。
日志尽管也属于时序数据的一种,但是大多数时序数据库的数据模型并不适合存储日志,日志平台的存储必须同时满足上面的2点需求,才算是一个合格的日志平台。
日志既要保存明细,提供搜索,还要有强大的分析统计能力,正因为这两点,业内才选择elasticsearch作为存储引擎,因为开源领域似乎只有es, solr 兼具这两种能力
但是es和solr做日志存储和分析成本太高了,甚至可以说非常昂贵.
网友评论