带你读《Elastic Stack 实战手册》之76:——4.2.2.Elasticsearch智能巡检开发设计实践(1)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之76:——4.2.2.Elasticsearch智能巡检开发设计实践(1)

4.2.2.Elasticsearch智能巡检开发设计实践


创作人:张妙成

审稿人田雪松

 

项目背景

 

PaaS 下管理了大量集群,监控和告警能快速的让开发维护人员,知道系统已经发生故障,并且辅助高效排障。

 

但是无法提前预知集群的健康状况,开发人员和维护人员均无法在故障前及时作出调整。为了帮助用户及时的知道集群的健康状态,更好使用 Elasticsearch 集群,可以定期对集群进行指标检查并给出相应报告。巡检作业及时发现集群的健康问题,集群的配置是否合理,提前主动发现问题,能有效保证集群的稳定性、健状性,从而减少业务中断时间保证服务质量。

 

为了解决集群健康状态提前预知困难的问题,可以通过抽取一些指标,进行定时检查达到健康诊断的目的。

 

巡检主要是对集群的各个指标检查,给出一份全方位的报告,并提供一定的推荐解决、优化方案。如阿里的 EYOU 平台(阿里云 Elasticsearch 智能诊断系统)会系统的在 Elasticsearch 公有云进行各个指标的检查,并给出相应报告,极大的减小了风险,降低了维护成本。

 

智能管理系统不是一个独立的检查系统,而是一个与其他系统相结合的闭环系统,独立的巡检模块对各项指标进行检查分析,将结果通过 PaaS 系统展示给用户,并在 PaaS 中给予入口,用以帮助用户手动再次触发检查,增强实时性,提高用户体验。

 

本文将介绍智能巡检系统在整个 Elasticsearch 相关系统中的位置与意义,并从指标分析选取、异常标准的角度,主要阐述智能巡检系统的设计与实现。


image.png


整个应用的框架如上:

 

l Elasticsearch 集群在 K8S 环境中(实际生产大多是 K8S 环境与物理机、虚拟机环境共存,这里简化成最终要达到的统一环境),由 PaaS 平台进行统一管理。

l PaaS 的信息数据主要是与 DB 交互(PaaS 是与 DB 的唯一交互入口),用户主要与

l PaaS平台进行交互。

智能巡检系统信息收集模块(一组 Python Job)主要是 K8S 环境中的 Elasticsearchl cluster、宿主机进行交互,数据报告信息通过 PaaS 平台存入 DB。

l 监控使用 VictoriaMetrics( Prometheus 的高可用方案)作为存储,grafana 作为前端展示页面。监控可以配置 Elasticsearch 各项指标,其中与智能巡检相关是巡检异常数量的监控面板,用来给 OPS 观察巡检亚健康集群异常点的修复(优化)情况。

l PaaS 提供入口手动触发再次检查。

指标选取简介

 

巡检的指标、异常阈值与告警配置的主要区别是,检的指标项会更加关心可能引发故障的某些现象和配置,参考阈值相对告警配置会更加宽松。巡检主要是通过指标的采集分析,得出一份相对全面的报告和推荐解决方案。为了报告的全面性与分析的准确性,巡检的指标项会与告警配置有一定相似或重复。

 

告警与巡检需要解决的问题不同,告警的目的是将异常指标恢复到正常状态,响应的实时性要求较高,而巡检的目的是预防故障、消除隐患、优化集群性能,以报告的形式推到平台和用户,不需要用户主动响应,只需解决问题后重新触发巡检。为推进优化,可将巡检报告中非健康指标配置成监控面板、告警。

 

集群健康程度可以从几个方面表现:cluster 层面、node 层面、shard 层面、index 层面、

jvm 层面、threadpool 层面。如下为参考指标:


image.png

image.pngimage.png


Elasticsearch 功能强大、使用方便,也就意味着对用户来说有很多的默认设置,用户使用的自由度很高,也就意味着开放的能力丰富,用户的使用对集群健康程度有着很大的影响。

 

所以指标选取需要从两个角度,一是现有的现象指标,二是常用不合理的配置指标。接下来对选取的指标进行简要逐一分析。

 


 《Elastic Stack 实战手册》——四、应用实践——4.2 可观测性应用场景 ——4.2.2.Elasticsearch智能巡检开发设计实践(2) https://developer.aliyun.com/article/1226094


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
Elasticsearch采坑实践总结
Elasticsearch采坑实践总结
50 0
|
6月前
|
存储 监控 安全
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践1
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践
85 0
|
4月前
|
存储 Java Maven
SpringBoot整合Jest和Elasticsearch实践
SpringBoot整合Jest和Elasticsearch实践
107 1
|
6月前
|
存储 缓存 搜索推荐
百度搜索:蓝易云【Elasticsearch 底层技术原理以及性能优化实践】
和副本、优化硬件、设计合理的索引、编写高效的查询以及利用缓存和预热等策略。通过综合考虑这些方面,可以提升Elasticsearch的性能并获得更好的搜索和分析体验。
280 0
|
2月前
|
存储 JSON 测试技术
异步检索在 Elasticsearch 中的理论与实践
异步检索在 Elasticsearch 中的理论与实践
36 0
|
4月前
|
运维 Kubernetes API
ElasticSearch容器化从0到1实践(一)
通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。
|
6月前
|
存储 Java 数据库
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
35 0
|
8月前
|
SQL AliSQL API
阿里云ElasticSearch安装开源插件实践
阿里云ElasticSearch安装开源插件实践,包含较为常用的NLPchina/elasticsearch-sql与medcl/elasticsearch-analysis-stconvert两个插件的安装、使用测试及同类插件的差异对比
|
10月前
|
SQL 关系型数据库 MySQL
【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践(五)
【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践(五)
59 0
|
10月前
【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践(四)
【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践(四)
51 0

相关产品

  • 检索分析服务 Elasticsearch版