ElasticSearch 可观测性最佳实践

ElasticSearch 概述
ElasticSearch 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别(大数据时代)的数据。ES 也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RestFul API 来隐藏 Lucene 的复杂性,从而让全文检索变得简单。
所以,ElasticSearch 的监控显得尤为重要,可以帮助我们进行性能优化、资源管理、容量规划、故障检测和预防,及时发现和解决问题,确保系统的高效和稳定运行。
实时性:ElasticSearch 能够实时地存储、检索和分析数据,使得用户能够快速获得最新的搜索结果和分析数据;
分布式:ElasticSearch 采用分布式架构,能够水平扩展,处理 PB 级结构化或非结构化数据,同时具有高可用性和容错性;
多样化的搜索和分析功能:ElasticSearch 支持全文搜索、结构化查询、过滤、地理空间查询和复杂的分析功能。
观测云
观测云是一个统一实时监测平台,它提供全面的系统可观测性解决方案,帮助用户快速实现对云平台、云原生、应用及业务的监控需求。观测云的核心功能包括:基础设施监测,日志采集和分析,用户访问监测(RUM),应用性能监测(APM),服务可用性监测(拨测),安全巡检,智能监控等等。
DataKit 提供 ElasticSearch 指标和日志的采集,安装好 DataKit 之后,开通 ElasticSearch 采集器,即可采集 ElasticSearch 指标和日志到观测云。
部署 DataKit
登录观测云控制台,点击「集成」 -「DataKit」 - 「Linux」,拷贝第 2 步中的安装命令。

安装完成后,DataKit 会提示您使用 datakit monitor 来检查 DataKit 的运行状态,如下图所示:

采集器配置
指标采集配置
Tips: ElasticSearch 版本 >= 6.0.0
适用于虚拟机部署的 ElasticSearch 监控,使用主机安装方式安装 DataKit 后,在 /usr/local/datakit/conf.d/db
目录下,复制 elasticsearch.conf.sample
为 elasticsearch.conf
。
日志采集配置
采集 ElasticSearch 的日志,可在 elasticsearch.conf 中 将 files 打开,并写入 ElasticSearch 日志文件的绝对路径。
开启日志采集以后,默认会产生日志来源(source)为 elasticsearch 的日志。
执行 datakit monitor
显示如下:

关键指标

视图
登录观测云控制台,点击「场景」 -「新建仪表板」,模板库系统视图中,输入 “ElasticSearch ”, 选择“ElasticSearch 监控视图”,点击“确定”。


监控器
查询耗时过长


当前文档存储空间不足


集群状态异常


查询拒绝率过高


总结
通过观测云监控 ElasticSearch 关键指标,可以帮助我们优化查询、提前容量规划及告警,及时响应和处理出现的各种问题,同时对于系统优化和业务开展提供了数据支撑。
评论