日志数据是企业大数据数据支持的重要环节之一,因为这些日志记录了网络数据、设备数据、操作系统数据以及其他的用户行为数据。通过对这些日志的分析,我们可以提取到很多有价值的内容,例如可以分析网络安全、可以对用户数据进行业务分析来确定哪些业务需要重点优化提升等等。所以日志分析可以为企业带来很多的好处。下面我们就来看看关于日志处理的那些事。
基于ELK日志分析系统
如下图所示,是一个基于ELK实现的日志处理流程架构图。
从图中可以看出,主要完成了如下的一些操作
- 日志收集:通过一些日志采集脚本或者是在业务系统中添加日志切面的方式,将日志文件写入的Kafka消息队列中。
- 日志传输:这里的Kafka主要完成的工作就是对日志的缓存操作。
- 日志转换:通过LogStash来消费Kafka日志消息,对数据进行一系列的转换之后进行存储
- 日志存储:经过LogStash的日志被处理成JSON格式的日志,接下来就是将其存储到ES中。
- 日志展示:通过Kibana完成对日志的可视化查询操作,或者是可以调用ES的API接口来完成其他的一些分析处理
通过上面我们也了解了ELK其实分别就是ElasticSearch、LogStash、Kibana。基于ELK实现的日志操作虽然是非常稳定并且是经历过很多大厂的考验的,但是在实际使用的过程中还是存在一些小问题的,因为是三个组件组合,所以整体实现起来会比较麻烦,并且对于一些较为复杂的查询,支持的也不是太好。从图中也可以看出来,ELK所能支持日志操作,主要还是基于了ElasticSearch的性能。所以下面我们要介绍的内容也是对ElasticSearch的性能的优化代替框架。
基于Apache Doris实现新一代日志分析系统
基于Apache Doris实现日志分析系统架构图如下。
- 日志采集方式:会看到Apache Doris 提供了多种日志采集方式。
- 日志存储方式:所有的日志数据都统一的存储到Apache Doris中,并且Apache Doris还可以与数据仓库中的其他数据进行数据关联,基本上不会存在数据孤岛问题。
- 日志查询方式:会看到Apache Doris提供了多种日志查询方式,例如接入Grafana、接入数据库等方式。
除此之外,Apache Doris还具备如下的一些优势
对半结构化的数据支持
- 提供多种数据结构查询功能:对日志字符串支持多种查询规则
- 支持Scheme Evolution:相比较ElasticSearch来说,Apache Doris支持了根据业务对Schema进行调整,支持按需增减字段、增加索引、增加数据类型等操作。
支持SQL分析引擎
Apache Doris 支持了一些标准的SQL操作,基本上与MySQL语法类似,所以Apache Doris也可以通过SQL操作对日志进行分析。
相对于ElasticSearch性能大大提升
经过实际的生产检验,Apache Doris在进行了日志场景优化之后,整体的系统性能要比ElasticSearch提升很多。
总结
Apache Doris 是针对日志场景做了很多的优化,无论是从存储还是到读写查询都比ElasticSearch的性能要提高很多。并且在很多的使用场景中都能展现出其足够能够撑起整个业务日志系统的能力。有兴趣的读者不妨也来试试。
本文暂时没有评论,来添加一个吧(●'◡'●)