目录

使用历史索引监控 Elasticsearch 索引生命周期管理

作者:来自 Elastic Stef Nestor

大家好!在之前的一篇博客中,我们概述了常见的索引生命周期管理 (index lifecycle management - ILM) 问题及其解决方案。此后,我们已将这些常见场景添加到我们的 Elasticsearch 文档中,并附带示例演示视频。在这里,我们将扩展 ILM 历史索引(ILM history index),以演示如何在故障排除期间使用它,并在需要干预时设置主动警报。

监控 ILM Elastic Health Elastic Cloud 支持 故障排除

ILM 原理

ILM 通过逻辑和时间延迟自动执行常见的管理任务,例如将数据轮换到新索引、通过硬件温度老化索引以及在保留期后删除数据。

为了保护数据完整性,ILM 按顺序执行这些请求的阶段及其操作。与其他一些行业工具不同,这意味着如果索引在某个步骤上出现问题,ILM 将不会继续执行索引的后续步骤,直到当前问题得到解决。这可以避免高级操作的中间状态,并且具有保护作用,例如,当索引的 ILM 策略被标记为在删除之前等待快照时,以确保在备份中捕获数据以确保合规性。

历史索引

ILM 历史索引 ilm-history-* 存储索引的 ILM explain 数据的历史摘要。它在设置 indices.lifecycle.history_index_enabled 下默认启用。你可以通过针对此索引模式 data view 在 Kibana 中查看此数据。例如,在 Create data view下,我们将定位索引模式 ilm-history-7。

创建后,我们可以在 Discover 下查看数据。我更喜欢通过切换表列来浏览创建的索引模式:[index、policy、state.phase、state.action、state.step、success、error_details]。

此日志在排查索引在执行其步骤时遇到问题的原因时非常有用,例如,滚动更新遇到错误,setting [index.lifecycle.rollover_alias] for index [x] is empty or not defined. 。

这也有助于检查索引是否在特定子操作上停留的时间比预期的要长。例如,迁移持续时间延长可能表示集群或网络压力。或者,等待快照的时间延长可能表示存储库健康问题。

类似的 ILM 信息记录在 Elasticsearch 集群日志中,但格式不同。两者对于故障排除同样有效。我发现出于合规性原因,用户更喜欢保留比集群日志更长的 ILM 历史记录。让我们展示一下相似之处!在 Elastic Cloud 下,我启用了日志和指标,以便可以针对 elastic-cloud-logs-8 创建数据视图。

然后,在 Discover 中,我可以过滤到 log.logger:"org.elasticsearch.xpack.ilm.IndexLifecycleRunner"。

你会注意到 10 分钟的周期,这是由 ILM 的设置 indices.lifecycle.poll_interval 值来决定的。

检查问题

我们建议使用 v8.7 中引入的 Health API 来检查活动的 ILM 问题。这会针对错误和停滞步骤进行报告,因此比滚动浏览 ILM explain 更为全面。Dev Tools 会显示健康结果:

Elastic Cloud 将此信息加载到其部署健康状态中,该部署健康状态报告:

以下是来自 Dev Tools 的不健康报告的示例:

Elastic Cloud 相应地报告:

监控错误

我们建议设置监控 Kibana 规则,以便在需要干预以纠正索引的 ILM 错误时收到通知,这样它就可以继续其生命周期。此设置位于 Stack Monitoring 及其其他性能警报之上

例如,在 "Create Rule " 下,我们将选择 "Stack Alerts ",然后选择类型 Elasticsearch query

我们将规则命名为 "ILM erring"。向下滚动,我们将目标数据视图 ilm-history-7 包含 Lucene 查询错误和 log.logger:"org.elasticsearch.xpack.ilm.IndexLifecycleRunner"。在我们的示例中,我们希望收到任何匹配的通知,因此我们将阈值设置为 "is above 1."。

接下来,我们将启用通知 action。在我们的示例中,我们将使用 Elastic Cloud 的内置 SMTP 服务器来发送值班分配电子邮件。

就是这样!现在,当需要使用 ILM 历史索引进行干预以保持 ILM 健康时,示例团队将收到通知。当你的团队收到通知时,他们可能会对我们关于检查 ILM 健康状况的演示视频以及我们常见的设置问题和解决方案感兴趣。让我们所有人都安静地待命吧!

本文中描述的任何特性或功能的发布和时间均由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。

原文:Monitoring Elasticsearch index lifecycle management with the history index | Elastic Blog

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
七七知享3 分钟前
从 0 到 1 构建 Python 分布式爬虫,实现搜索引擎全攻略
分布式·爬虫·python·程序人生·算法·搜索引擎·网络爬虫
青岛前景互联信息技术有限公司13 分钟前
智慧港口新未来:大数据赋能应急消防,筑牢安全防线
大数据·人工智能·物联网·安全·智慧城市
P7进阶路14 分钟前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
成长之路5141 小时前
zephyr-中国跨国并购数据(1997-2024.3.8)
大数据
猫咪-95271 小时前
数据库原理及应用mysql版陈业斌实验一
数据库·oracle
LuiChun1 小时前
django设置admin的排列顺序,耗3小时【躲坑指南】
数据库·django·sqlite
安科瑞王孟春1001 小时前
防逆流检测仪表在分布式光伏发电系统中的应用
大数据·人工智能·分布式
maxmaxma2 小时前
LLM之向量数据库Chroma milvus FAISS
数据库·milvus·faiss
✿ ༺ ོIT技术༻3 小时前
MySQL:表的增删查改
数据库·mysql
liufangshun7 小时前
【DeepSeekR1】怎样清除mssql的日志文件?
数据库·人工智能·sqlserver