前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >始于日志,不止于日志,Elastic Stack全面介绍

始于日志,不止于日志,Elastic Stack全面介绍

作者头像
MCNU云原生
发布2023-03-09 14:59:04
8720
发布2023-03-09 14:59:04
举报
文章被收录于专栏:MCNU云原生

1、Elastic Stack是什么?

说Elastic Stack之前,先说一下ELK Stack。这个词相信很多人都是耳熟能详的,作为一个著名的日志系统解决方案,应用非常广泛。

“ELK”是三个开源项目的首字母缩写词:Elasticsearch、Logstash 和 Kibana。其中Elasticsearch 是一个开源、分布式、RESTful、基于 JSON 的搜索和分析引擎;Logstash 是一个服务器端数据处理管道,它同时从多个来源摄取数据,对其进行转换,然后将其发送到 Elasticsearch存储;Kibana 则允许用户在 Elasticsearch 中使用图表和图形来可视化数据。

其中Logstash除了可以收集多个来源的数据,还具备丰富的插件,可以用于数据分析过滤,但是占用资源比较多,使用起来比较重。由于有用户提出只需要跟踪某一个文件这种单一的轻量级场景,所以2015 年Elastic又开发出了各种轻量级单一用途的数据收集器,这就是Beats,其中非常著名的例如FileBeat。Beats出现以后,通常做法是使用Beats收集数据上传到Kafka等消息队列,然后Logstash订阅消息队列的数据,经过分析过滤以后上传到Elasticsearch。

当Beats加入ELK这个组合以后,再叫ELK显然就不合适了,那么不能叫做"EBLK"或者叫做"ELKB"吧,不然以后再加一个组件进来又得再改名字了。所以官方想了Elastic Stack这个新名字,具备“弹性”倒是非常贴切,所以以后不要再说ELK啦,就叫Elastic Stack。

2、Elastic Stack应用场景远不止于日志

Elastic Stack是公认的日志监测领域的领导者,以提供日志解决方案而闻名,但是实际上其应用场景却远远不止于日志,在基础架构监测、APM、客户旅程监测、企业内部搜索、地理位置信息应用、SIEM、终端安全、商业分析等方面都有比较完善的解决方案。下面举几个应用场景案例进行说明:

2.1、使用Elastic Stack构建APM

应用性能监测(APM)是现代微服务架构下非常重要的部分,掌握应用的性能数据、调用链路、依赖关系,能够方便、快速地对应用地运行系统进行掌握,出现故障能够快速分析定位。

Elastic Stack支持包括 OpenTelemetry、W3C 跟踪上下文和 Jaeger 在内的开放标准,通过采集由 OpenTelemetry agent收集的应用程序遥测数据,能够快速收集各类应用程序的性能数据,支持各类语言,通过Kibana、APM Server集成构建用户可观测的用户界面,就能非常方便实现APM的能力。

OpenTelemetry(也称为 OTel)是一个开源可观测能力框架,由一系列工具、API 和 SDK 组成,使 IT 团队能够检测、生成、收集和导出远程监测数据以进行分析和了解软件性能和行为,它是云原生地可观测遥测数据收集的一个标准;Jaeger 也是一个著名的分布式链路追踪框架。Elastic Stack对于这些框架的集成支持,使得构建APM是一件比较轻松的事情。

收集到的数据通过Kibana集成的APM能力能够以图形化的形式展示出来,例如调用链路跟踪、应用程序依赖关系等。

另外,Elastic Stack还具备Machine Learning 以及延迟和错误相关性的自动异常检测的能力,能够更加智能地协助问题排查。

2.2、使用Elastic Stack构建基础架构监测

Elastic Stack提供了Elastic Agent支持从各种地方收集需要进行监控的数据,这些数据可以是日志、指示、操作轨迹等,为了方便进行各类Elastic Agent的管理,Elastic Stack还提供了Fleet,可以统一对Agent进行配置、管理。

Elastic Agent 和 Fleet 为常用服务和平台提供了多种开箱即用的组件,包括一些常用的仪表板、可视化工具,免除大量的人工操作成本。

Kibana中有大量可以集成的现成应用,这些集成的组件超过200个,只需要简单安装即可完成集成接入,非常方便。

2.3、使用Elastic Stack构建用户体检监测

系统表现出的性能与实际的用户体验之间是可能存在较大的差距的,用户实际体验会受到浏览器类型、网络、区域、操作系统类型等多个因素的影响,如果不能有效掌握用户的体验受阻情况,就无法针对性的进行优化。

通过收集用户体验埋点信息,用户受挫信息等,基于URL、地理位置信息、浏览器类别等进行相关的数据统计分析,使用Elasticsearch存储所有的类型数据,使用Kibana相关集成对数据进行分析展示,了解不同地域、分层的用户的体验情况。

以上只是一些例子,实际上Elastic Stack在可观测性方面已经有了非常全面的解决方案,并且被广泛采用,在2022 年度 Gartner® APM 与可观测性 Magic Quadrant™评选中被评为visionary(“有远见者”)。

3、为什么选择Elastic Stack?

Elastic Stack之所以能够被广泛地采用,一是这个套件中各组件的功能强大,二是经过Elastic的整合,各套件完美搭配。

以可观测性系统构建为例,主要涉及三大步骤:数据采集、数据存储、数据分析和展示。

3.1、Logstash和Beats构建了最强大灵活的数据采集能力

Logstash 能够动态地采集、转换和传输数据,支持非结构化的数据,强大的Grok表达式可以轻松从非结构化数据中解析出所需要的数据,支持各种数据源,拥有近200种插件,数据过滤和转换能力十分强大,并且具备可信的交付管道,通过持久化队列保障事件至少被发送一次。

Beats则集合了多种单一用途数据采集器,包括Filebeat、Metricbeat、Heartbeat等等,轻松地从虚拟机、Docker或kubernetes容器平台收集数据,所有的Beats基于libbeat,这意味着开发者能根据自己的需要灵活地构建新地Beats。

3.2、Elasticsearch构建了强大的存储和搜索能力

Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎,它几乎适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据,搜索速度快、分布式扩展性强、功能强大。

搜索速度很快。因为 Elasticsearch 建立在 Lucene 之上,所以它擅长全文搜索。Elasticsearch 也是一个近乎实时的搜索平台,这意味着从文档被索引到变得可搜索的延迟非常短——通常是一秒。因此,Elasticsearch 非常适合对时间敏感的用例,例如安全分析和基础设施监控。

Elasticsearch 是自然分布的。存储在 Elasticsearch 中的文档分布在称为shard的不同容器中,这些容器被复制以在硬件故障时提供数据的冗余副本。Elasticsearch 的分布式特性使其能够扩展到数百(甚至数千)台服务器并处理 PB 级的数据。

Elasticsearch 具有广泛的功能。除了速度、可扩展性和弹性之外,Elasticsearch 还具有许多强大的内置功能,可以更加高效地存储和搜索数据,例如数据汇总和索引生命周期管理。

3.3、Kibana构建强大的展示能力

Kibana 则提供了强大的数据可视化和管理工具,提供常用的直方图、折线图、饼图和地图等。它还包括了高级应用程序,例如允许用户根据数据创建自定义动态信息图表的Canvas,以及用于可视化地理空间数据的 Elastic Maps。

目前为止,在UI展示功能和灵活性方面,除了Grafana,Kibana可以说是首屈一指。

4、Elastic Stack的服务提供方式

Elasticsearch相关的服务可以通过 Elasticsearch Service(可在 Amazon Web Services (AWS)、Google Cloud 和阿里云上使用)部署为托管的托管服务。

对于希望从单个控制台配置、管理和监控其部署但不想使用公共云平台的用户,Elastic 还提供 Elastic Cloud Enterprise,可以以私有云的形式进行部署。

对于自主掌控能力较强,有相关维护团队的企业来说,可以自行下载Elasticsearch、Kibana等组件自行进行部署和维护,高级非免费功能通过付费购买方式使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MCNU云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Elastic Stack是什么?
  • 2、Elastic Stack应用场景远不止于日志
    • 2.1、使用Elastic Stack构建APM
      • 2.2、使用Elastic Stack构建基础架构监测
        • 2.3、使用Elastic Stack构建用户体检监测
        • 3、为什么选择Elastic Stack?
          • 3.1、Logstash和Beats构建了最强大灵活的数据采集能力
            • 3.2、Elasticsearch构建了强大的存储和搜索能力
              • 3.3、Kibana构建强大的展示能力
              • 4、Elastic Stack的服务提供方式
              相关产品与服务
              Elasticsearch Service
              腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档