【阿里云MVP第五期】阿里云李靖威:Elasticsearch集群监控与报警原理解析

简介: 本文节选自阿里云MVP第五期嘉宾阿里云技术专家李靖威分享话题《使用X-Pack和Kibana实现Elasticsearch 的监控与报警》。以开源 Elasticsearch、阿里云 Elasticsearch和X-Pack的Demo show的形式, 对 Elasticsearch 集群监控和报警的内部原理进行讲解和使用方法演示。

嘉宾介绍

李靖威 阿里云技术专家
全栈程序员,精通前后端,在Web微服务系统架构上有深入研究。3年搜索产品相关经验,现负责阿里云Elasticsearch的产品业务部分的开发。

今天会对Elasticsearch集群监控原理介绍和Demo展示,包括集群运行状况、监控信息的搜集、分析和报警等。

我今天的主题主要会从三个方面来逐步介绍,第一个方面会从大家最广泛使用的开源Elasticsearch实现监控和报警相关的原理。第二个方面,从ES官方X-Pack里面的非常强大的Monitor插件,是来如何实现对ES进行的监控和报警。第三个方面是介绍一下在阿里云Elasticsearch里面如何更加方便的去使用ES的集群的监控和报警。

开源Elasticsearch如何实现监控和报警

为了保证一个ES集群的稳定运行,我们要从各个维度去对整个集群进行监控。我对这些不同维度的指标做了一个简单的分类。

_

  • 资源类,主要指ES集群所跑的物理机和操作系统相关所分配的一些资源,包括CPU、内存、网络、磁盘和操作系统的system log等指标。
  • 容器级,这里面就包含Java运行时的JVM等相关指标。
  • 最核心的ES应用级别指标,大概分为两个维度:
    节点级:因为ES是一个分布式的应用,所以在这个应用下可能会有一个维度是跟每一个节点相关的。我们知道,在每一个ES结点上会跑多个Lucene进程,进程相关的指标就属于这个级别。

索引级:一个索引会分布在不同的节点上,针对每一行索引的维度,可以观察到各种各样的行动指标,

  • 最后的就是在通过调用方的一些监控。今天我主要讲的是前面的一部分,不包含调用的部分。

ES集群监控原理

下面给大家介绍一下ES集群监控的一些原理。这个里面刚才我给大家介绍了那么多相关的指标的,看起来很复杂,有各种各样的维度,但实际上ES本身在这上面是做得比较健全,它把刚才提高的绝大部分的信息都已经集成到了RESTful API里面,给大家介绍几个跟ES监控相关的接口。

_

  • Node Stats API,顾名思义就是看集群内的每一个节点的状态信息,在每个节点上会有不同索引的一些分片,这个节点所涉及到的分片每一个单独的信息可以通过这个API观察到的。
  • Cluster Stats API,就是整个集群的比较选举性的信息,通过这个API包括插件节点输入,还有一些各个节点的统计信息的相加结果,都可以在这个API中可以看到。
  • Index_name Stats API,就是刚才提到维度索引级别的。这个API的调用是通过一个index_name斜杠,是指定每一个索引都可以去调用这个接口,去观察这个索引的相关统计信息。部分指标和Node Stats API相匹配。
  • Cluster Health API,这是大家非常了解的,ES绿、黄、红三个状态就是通过这个接口来拿到。这个接口包含整个集群的分片信息和监控状态,这个监控大家应该会用得非常广泛。
  • Pending Tasks API,ES里面有很多的异步任务,利用这个接口可以进行全局性观察。整个集群当中正在跑的一些任务,这些任务包括索引创建任务或者是shard均衡任务等。
    这个接口有一个很好用的一个特性,参数wait_for_completion=ture,可以就结合浏览器里面JS来实现浏览器端和服务器端的实时通信。众所周知http是无状态服务,通过这个参数可以在浏览器里边做到很多类似于实时通信的效果,因此可以给集群监控提供方便。

第三方监控系统

下面提一下第三方监控系统,大多不是开源的,大家可以下面去自己去了解一下。他们的基本原理都是类似的,通过刚才介绍的那几个接口,或者直接通过RestAPI获取信息。

_

X-Pack的Monitor组件

下面介绍X-Pack的监控组件Monitor,以前的名字叫做Marvel。下图界面是X-pack在Kibana安装了Monitor插件之后的功能截面。

_

在这里面能够看到,ES集群现在的监控状态里有很多实用的节点级指标。而下面这张图是索引级别的。

_

X-Pack Monitor的监控原理

Monitor的监控原理其实大部分的监控系统都是类似的。它通过collector,持续收集前面提到的监控API的历史信息。collector收集的时间周期是每10秒钟一次,10秒这个时间是可以通过xpack.monitoring.collection.interal配置项来进行调整。这个值调整得越小,集群监控的实时性就越高,但是集群监控所占用的系统资源也会越多。

还有一个非常重要的实践经验,尽量将你的ES集群的监控做成独立的监控。X-Pack默认开启Monitor监控,它会把监控信息直接存储到当前集群内的。但这样会有出现一个问题,生产环境对监控信息要求非常高的情况下,如果集群挂掉,集群监控也就挂了,因为他们是放在一起的。所以最佳实践是,做成一个dedicated cluster,也就是一个独立的集群。在ES5.0里面可以通过xpack.monitoring.elasticsearch.url配置dedicated cluster。在ES6.0里面,这个功能更加强大,可通过xpack.monitoring.exporters配置到多个目标里面去。

下图是Monitor Collector收集的主要信息:

_

X-Pack报警功能的实现原理
X-Pack的报警功Watcher是一个工作流的配置引擎,通过Rest API可以配置它的触发器,包括数据的输入、触发条件和最后执行的动作,来实现特定条件下触发某个特定动作。

_

X-Pack的监控功能应该是市面上第三方监控系统中功能最强大的了。在国内大家可能更希望使用国内的一些服务进行接受报警的通知,比如邮件、短信、钉钉等。

阿里云Elasticsearch的监控报警

最后分享阿里云Elasticsearch如何做监控报警。基于阿里云云监控和X-Pack的Monitor功能实现集群监控,并配置旺旺接收告警信息。配置DEMO,如下所示:

阿里云MVP介绍

阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖。点击了解更多产品信息
阿里云 MVP Meetup 第5期活动视频回顾。点击观看

加入钉钉技术讨论群

dingQR

阿里云Elasticsearch已正式发布啦,Elastic开源官方联合开发,集成5.5商业版本XPack功能,欢迎开通使用。
点击了解更多产品信息

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
24天前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
17天前
|
机器学习/深度学习 数据可视化 PyTorch
深入解析图神经网络注意力机制:数学原理与可视化实现
本文深入解析了图神经网络(GNNs)中自注意力机制的内部运作原理,通过可视化和数学推导揭示其工作机制。文章采用“位置-转移图”概念框架,并使用NumPy实现代码示例,逐步拆解自注意力层的计算过程。文中详细展示了从节点特征矩阵、邻接矩阵到生成注意力权重的具体步骤,并通过四个类(GAL1至GAL4)模拟了整个计算流程。最终,结合实际PyTorch Geometric库中的代码,对比分析了核心逻辑,为理解GNN自注意力机制提供了清晰的学习路径。
168 7
深入解析图神经网络注意力机制:数学原理与可视化实现
|
18天前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
55 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
1月前
|
机器学习/深度学习 算法 数据挖掘
解析静态代理IP改善游戏体验的原理
静态代理IP通过提高网络稳定性和降低延迟,优化游戏体验。具体表现在加快游戏网络速度、实时玩家数据分析、优化游戏设计、简化更新流程、维护网络稳定性、提高连接可靠性、支持地区特性及提升访问速度等方面,确保更流畅、高效的游戏体验。
82 22
解析静态代理IP改善游戏体验的原理
|
1月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
110 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
1月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
77 12
|
25天前
|
开发框架 监控 JavaScript
解锁鸿蒙装饰器:应用、原理与优势全解析
ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。
48 2
|
7天前
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
2月前
|
机器学习/深度学习 自然语言处理 搜索推荐
自注意力机制全解析:从原理到计算细节,一文尽览!
自注意力机制(Self-Attention)最早可追溯至20世纪70年代的神经网络研究,但直到2017年Google Brain团队提出Transformer架构后才广泛应用于深度学习。它通过计算序列内部元素间的相关性,捕捉复杂依赖关系,并支持并行化训练,显著提升了处理长文本和序列数据的能力。相比传统的RNN、LSTM和GRU,自注意力机制在自然语言处理(NLP)、计算机视觉、语音识别及推荐系统等领域展现出卓越性能。其核心步骤包括生成查询(Q)、键(K)和值(V)向量,计算缩放点积注意力得分,应用Softmax归一化,以及加权求和生成输出。自注意力机制提高了模型的表达能力,带来了更精准的服务。
|
17天前
|
存储 机器学习/深度学习 人工智能
Elasticsearch:使用阿里云 AI 服务进行向量化和重新排名
本文介绍了如何将阿里云 AI 功能与 Elasticsearch 集成,以提高语义搜索的相关性。
232 0

热门文章

最新文章

相关产品

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

    更多