ELK是什么?

举报
gentle_zhou 发表于 2022/09/11 21:28:47 2022/09/11
【摘要】 ELK取名来自于三个开源项目Elasticsearch、Logstash、Kibana的首字母缩写。

最近几次在和互联网客户交流日志服务的过程中,经常会听到他们提到ELK。带着好奇心,我去调研了一番,并通过本文记录下学习所得。

ELK是什么

ELK取名来自于三个开源项目Elasticsearch、Logstash、Kibana的首字母缩写。

Elasticsearch 是一个基于Lucene(apache下的一个开源的全文检索引擎工具包)的分布式搜索分析引擎,通过Restful方式进行交互;为所有类型的数据提供近乎实时的搜索和分析,并支持对数据进行存储和索引。

Logstash 是服务器端数据处理管道,支持从多个来源动态地采集转换数据,然后将数据传输到Elasticsearch“存储库”内。可以利用Grok(一种采用组合多个预定义的正则表达式,用来匹配分割文本并映射到关键字的工具)从非结构化数据中派生出结构,从IP地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

Kibana 是针对存储在Elasticsearch索引中数据的开源分析及可视化平台,使用图形、图表对数据进行可视化操作。基于此,它可以提供一个日志分析友好的web界面,支持用户快速创建仪表板来实时显示数据,可以汇总、分析和搜索重要数据日志,让海量数据更容易被理解。

因此,这三者的相互作用关系可以总结为:Logstash在最底层去采集、转换、传输数据;Elasticsearch在中间一层,用来搜索、分析、存储数据;Kibana在最上层将数据可视化展示给用户。
image.png

ELK发展历程

从最开始只有Elasticsearch,这个基于Json开发而来的分布式搜索引擎,因为使用简单,支持缩放规模,受到用户的热烈好评。

因为Elasticsearch 的核心是搜索引擎,所以用户开始将其用于日志用例管理,并希望能够对日志信息进行采集和可视化。因而接着引入了采集工具Logstash 和 可视化工具Kibana,让产品功能更为强大。

然后,随着社区越来越壮大,用例越来越丰富,开始有用户希望可以对某个特定的文件进行tail操作(用于查看文件的内容)。因此,在 2015 年,引入了一系列轻量型的单一功能数据采集器并把它们叫做 Beats。从上一节的图片里,其实我们也看到了在最底层Beats和Logstash处于同一层。

随着Beats的加入,ELK眼看又要改名了。ELKB?ELBK?当时的确有过继续沿用首字母缩写扩展名称的想法。然而,对于扩展速度如此之快的堆栈而言,一直采用首字母缩写的确不是长久之计。因此,Elastic Stack 这个名字应运而生了(当然,我们也可以继续叫ELK,或则托管型ELK)。

为什么要使用ELK

在一个服务中,日志可以用来记录其所有行为的数据,包括系统、应用程序和安全方面;而ELK则支持对服务行为数据进行分析,帮助运维、开发人员去了解服务器软硬件信息,服务器的性能和安全性,检查配置与应用的错误及发生的原因,从而可以及时采取措施纠正错误。

可以用到ELK的场景包括:

  1. 管理大量服务器的时候。不像管理单台机器的日志,针对几十几百几千台服务器,如果还要依次登录每台机器去查阅日志,肯定是又繁琐又效率低下。这时候有一整套集中式的日志系统,就可以提高定位问题的效率。
  2. 当应用出现故障的时候。我们需要通过日志去排查故障信息,ELK可以帮助我们对多个环境的日志进行收集、过滤、传输、存储、可视化。
  3. 当应用在生产环境上有异样表现的时候。这时候就需要我们的数据支撑,比如应用里API的调用量,出错率,使用人数等。ELK可以帮助我们无侵入式的进行信息的收集。

而作为用户,我们在使用ELK的时候,则应该要考虑几个问题:当前日志的输出是否合理?输出的内容是否是我们想要的?

日志服务需要具备的基本特征

  1. 收集:支持采集多种来源的日志数据
  2. 分析:支持在UI界面分析得到有效信息
  3. 传输:支持稳定地将日志数据传输给存储库
  4. 存储:支持存储日志数据
  5. 告警:提供监控机制,支持提供错误报告

参考链接

  1. https://www.elastic.co/cn/what-is/elk-stack
  2. https://baike.baidu.com/item/Lucene/6753302
  3. https://www.jianshu.com/p/443f1ea7b640
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。