Elasticsearch 全观测技术解析与应用(三):能力呈现与应用价值

简介: 本文梳理了全观测流程,介绍了Elastic的整套工具及其在全观测中的能力,并且用两个实例展示了如何用这些工具进行全观测。

点击免费下载
《Elasticsearch 全观测技术解析与应用》>>>

分享嘉宾:朱杰

这节课承接《全观测技术原理与技术生态》,介绍Elastic整套工具带来的能力,以及用demo展示怎么用这些能力构建全方位的观测性。

实现全观测主要有以下步骤

第一步是数据采集,这些数据可能来自日志、指标或APM,每一种数据都有对应的采集工具;数据采集完成后,会进到Kafka这样的数据汇聚层,以经济高效的方式保证海量数据的涌入;随后在数据处理层,有Logstash等工具对数据进行加工、转换、清洗,变成结构化数据,然后交由Elasticsearch进行存储和提供搜索能力;最后,可以通过Kibana进行数据的可视化,以及用机器学习进行告警。

目前,除数据汇聚层的Kafka外,Elasticsearch提供的工具已经贯穿了全观测的全链路,能在各环节提供相应的工具。

image.png

Elastic Stack提供的数据采集全套工具

即用;Metricbeat采集指标和底层的性能数据,有40多个插件;Packetbeat从网络包层面采集数据;Functionbeat主要对接在云端吐出来的指标日子;Winlogbeat主要适配Windows上的日志系统;Heartbeat主要检测服务的可用性,比如检测API是否在线等;最后,Auditbeat可以连到Linux的audit framework来采集Linux各种各样的事件,汇总到Elasticsearch。除此之外,我们的社区也制造了很多beat,大家可以去看看。

image.png

数据处理工具

数据处理工具提供的是Logstash,它分为输入、过滤和输出三个部分。它并不是独属于Elasticsearch数据输入和输出的工具,它有很多数据接入源,比如syslog、redis等,输出也可以到Kafka、Elasticsearch和其他数据库,而它的过滤部分主要体现在数据的加工和处理,比如用grok进行正则抽取。Logstash能很容易地把像日志一样的流式文本抽取成Json的结构化数据,进而给后面的Elasticsearch进行存储和索引。

image.png

数据存储搜索工具

这部分主要由Elasticsearch提供核心的功能。Elasticsearch经过了一系列演变,从倒排序仅支持全文搜索,到列存储支持结构化数据,加速排序聚合,再到BKD树支持的数值型运算,提升数值类型的范围搜索效率,以及数据上卷节省存储空间。

经过演变,Elasticsearch能支持结构化的数据搜索和聚合,还有全文搜索、地理搜索等能力。这种丰富的处理能力可以应用到全观测的应用场景,产生很多有价值的图表分析。同时,它还有自动化的监测监控,并且执行告警。

image.png

告警系统

全观测需要持续部署大量的监控规则,来自动化地进行监控和告警。我们在Kibana里植入了新的告警系统,它能跟上层的各种APP和解决方案进行无缝整合,大幅简化使用门槛

image.png

除了基于规则的告警,Elastic Stack还提供了机器学习的异常检测。

Elasticsearch中存在大量的指标数据,它们随时间序列的波动是非常常见的,但当指标数量越来越多,就很难用传统的方式一个一个地设置规则。所以我们利用机器学习,通过对历史数据的建模去学习正常的波动范围,不再需要人工来标注数据。同时,模型也会根据数据的持续写入来不停地更新,以反映最新的指标状态。

image.png

数据分析和展示工具

Kibana经过演化现在已经拥有了丰富的可视化展示能力,并且我们引入了Kibana Lens这样更加便捷的制图工具,同时也不断添加各种图表类型,帮助展示Elasticsearch里的各种数据。

image.png

把工具组合起来使用——两个全观测实例

下面这张仪表板的图,融合了日志、指标和APM数据,能进行统一的过滤、搜索和展示等。我们能从多个维度进行统计和观测,同时,日志、指标和APM数据也能对齐时间,对照着进行分析。

另外因为所有的数据都汇聚到这儿,所以我们可以建立统一的基于规则的监控和告,并通过参考三份数据源,来判断是否要触发某一个告警,减少误判。此外,我们还能建立统一的基于机器学习的智能监控和告警。

image.png

再看另外一个较复杂的实例。

下图呈现了当前常见的微服务架构,它所有的服务都部署在K8s容器化的环境中。在前端,它全部基于Nodejs提供Web服务,而核心业务是基于Spring框架的Java服务,并连接到后端MySQL数据库,同时它还有基于Python Flash提供地址查询的Rest API服务,通过连接Elasticsearch服务器实现全文搜索的功能。

那么我们如何用上面的工具对这一架构进行监测呢?

首先我们采用Filebeat去采集每一个Pod的日志,把它们汇总到Elasticsearch里,然后通过Metricbeat采集系统的性能数据,以及把Packetbeat安装在某些Pod中采集网络包数据,最后是用APM探针植入到Nodejs、Java代码和Python中监控代码层面的各种性能、响应、延迟等数据。

通过这些,我们就能把日志、指标、APM数据汇总到一起,统一地进行观测。同时,由于数据量很大,所以也将使用机器学习来对里面的性能指标进行自动化的监控和告警。

image.png

从故障告警到故障定位的流程

全观测定位故障主要有以下几步。首先我们会收到来自机器学习的警告,告知我们可能遇到了问题,随后我们可以点击链接跳转到Kibana的分析平台。在机器学习的告警页面,会把告警全部对齐,方便我们去分析各个服务之间的状态和依赖关系等。

在看到告警之后我们可以进行排查,通过跳转到其他的Kibana应用来帮助我们进行侦测和定位各种故障。比如跳到APM应用程序中,从APM的角度观测发生故障时代码层面的一些异常,或者在综合仪表板中统一地观测各种数据,或者在指标的应用中看到发生故障时K8s基础架构的情况。

image.png

下面我们更具体地来看定位故障的每一步流程。

机器学习告警

我们能在机器学习告警页面看到很多机器学习的任务,他们能够进行告警对齐。另外,机器学习根据API响应时间的历史情况自动建模,当监控值超过动态阈值就触发告警,并且可以指出是哪个API性能下降。这旁边还有action,能引导我们到其他应用中做分析,比如跳转到APM、仪表板、指标、Uptime等来诊断这个故障。


image.png

APM性能分析

在APM层面,我们不仅能看到总体性能统计概览,还能根据各个API性能影响的情况进行倒排。

image.png

当我们点进API后,还能看到它在分布式环境下如何调用堆栈。比如下图中蓝色就代表Nodejs,绿色代表Java代码的调用。可以看到,每一个服务不仅存在多个实例,而且是分布在不同的服务器上,因此这个工具可以把服务流经的所有处理环节串联到一起,实现分布式追踪。

image.png

仪表板综合分析

在仪表板中也是一样,会把故障的时间点定位到最当中,然后可以参照前后性能状况来综合判断故障的状况。这个仪表板是完全可定制化的,所以可以把各种分析图都放在里面,包括日志、指标、APM等。

image.png

指标关联日志APM

里面也体现了联动的精髓,比如当我们点击某一个pod,就可以单独看到这个pod串联的日志、指标、APM、Uptime数据,这样就方便我们灵活地进行跳转,更快地定位问题。

image.png


另外,当我们点进Pod的日志的时候,会进入流式日志分析器,这集合了所有服务器所有应用的庞大的日志流,按照时间戳进行排序。这里面有一个很强大功能就是搜索框,任何符合ES搜索语句的都可以写在这个地方,并且能用and这个条件继续进行过滤和定位。

image.png


image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费 X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费
下载白皮书:Elasticsearch 八大经典场景应用


image.png

image.png

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
11月前
|
传感器 人工智能 物联网
穿戴科技新风尚:智能服装设计与技术全解析
穿戴科技新风尚:智能服装设计与技术全解析
887 85
|
11月前
|
存储 JSON 数据格式
ElasticSearch基础概念解析
以上就是ElasticSearch的基础概念。理解了这些概念,你就可以更好地使用ElasticSearch,像使用超级放大镜一样,在数据海洋中找到你需要的珍珠。
326 71
|
11月前
|
人工智能 API 语音技术
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
816 31
|
11月前
|
编解码 监控 网络协议
RTSP协议规范与SmartMediaKit播放器技术解析
RTSP协议是实时流媒体传输的重要规范,大牛直播SDK的rtsp播放器基于此构建,具备跨平台支持、超低延迟(100-300ms)、多实例播放、高效资源利用、音视频同步等优势。它广泛应用于安防监控、远程教学等领域,提供实时录像、快照等功能,优化网络传输与解码效率,并通过事件回调机制保障稳定性。作为高性能解决方案,它推动了实时流媒体技术的发展。
601 5
|
11月前
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
434 4
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术如何重塑客服系统?解析合力亿捷AI智能客服系统实践案例
本文探讨了人工智能技术在客服系统中的应用,涵盖技术架构、关键技术和优化策略。通过感知层、认知层、决策层和执行层的协同工作,结合自然语言处理、知识库构建和多模态交互技术,合力亿捷客服系统实现了智能化服务。文章还提出了用户体验优化、服务质量提升和系统性能改进的方法,并展望了未来发展方向,强调其在客户服务领域的核心价值与潜力。
718 6
|
11月前
|
前端开发 JavaScript Java
优雅草卓伊凡:全栈工程师并非盲目学语言,转型价值全解析
优雅草卓伊凡:全栈工程师并非盲目学语言,转型价值全解析
174 0
优雅草卓伊凡:全栈工程师并非盲目学语言,转型价值全解析
|
11月前
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
402 1
|
10月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
1882 64
|
9月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
4817 0

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版
  • 推荐镜像

    更多
  • DNS