前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >误删除Elasticsearch ILM Rollover Action滚动生成的索引后怎么解决

误删除Elasticsearch ILM Rollover Action滚动生成的索引后怎么解决

原创
作者头像
bellen
发布于 2022-06-11 09:17:49
发布于 2022-06-11 09:17:49
9950
举报

背景

有一天收到告警,显示用于存储日志的es集群磁盘使用率超过了85%,因此登陆kibana进行一番查看,发现该集群有很多几个月之前的索引,直接DELETE filebeat-7.8.0-2021-*一把把所有的2021年的索引都清理掉,结果一看傻眼了,集群没索引了,很快创建出了一个名为filebeat-7.8.0的索引继续写入,这个索引名称是被删除的索引名如filebeat-7.8.0-2021.12.21-000001的别名,现在filebeat-7.8.0成为一个实体索引,后续索引也没法滚动了,ILM也执行不下去了。

如何解决

因为我们日志采集的方式是filebeat(版本7.8)采集日志直接发送到es,filebeat会自带一个ILM策略(默认开启),在首次启动时会创建这个名为filebeat的ILM策略:

这个策略比较简单,只有一个Rollover Action,也就是在索引超过50GB或者创建时间超过30天就触发滚动,哪个条件先达到就触发。问题就是我们的日志量并不大,最近一次创建的索引是2021年12月25号创建的,并且没有触发滚动,直接一把把2021年的索引删除掉之后,当前集群没有正在写入的索引了filebeat写入时实际上是通过别名"filebeat-7.8.0"进行写入,在索引删掉之后后续es又自动创建了名为"filebeat-7.8.0"的索引进行写入。

因为我们还是需要对索引进行滚动的,现在别名成了实体索引,所以必须解决这个问题。

解决方式1

如果日志本身不是很重要的话,可以先把action.auto_create_index(动态配置)关掉,禁止在bulk写入时如果发现索引不存在就自动创建索引,然后把"filebeat-7.8.0"索引删除掉,最后重启一台filebeat,再次生成如filebeat-7.8.0-2022.01.21-000001这种带滚动后缀000001的索引。

解决方式2

如果不想重启filebeat,也不想把已有的"filebeat-7.8.0"索引删除掉,此时可以借助于default_pipeline进行索引重定向,把写入到"filebeat-7.8.0"索引的数据重定向到新的可滚动的索引进行写入:

1 . 修改filebeat-7.8.0索引模板,配置滚动别名为filebeat-7.8.0-1

2 . 创建新的可滚动的索引并设置别名

代码语言:txt
AI代码解释
复制
// 索引名称为filebeat-7.8.0-1-{now/d}-000001 , 使用URI编码:
PUT %3Cfilebeat-7.8.0-1-%7Bnow%2Fd%7D-000001%3E
{
  "aliases": {
    "filebeat-7.8.0-1": {
    	"is_wirte_index":true
    }
  }
}

3 . 创建pipeline

代码语言:txt
AI代码解释
复制
PUT _ingest/pipeline/redirect
{
  "description": "_description",
  "processors": [
    {
      "set": {
        "field": "_index",
        "value": "filebeat-7.8.0-1"
      }
    }
  ]
}

4 . 配置default_pipeline

代码语言:txt
AI代码解释
复制
PUT filebeat-7.8.0/_settings
{
  "index.default_pipeline": "redirect"
}

之后索引会写入到filebeat-7.8.0-1-2022.01.21-000001, 并且可以正常以别名filebeat-7.8.0-1进行滚动。

这种方式可以不用删除filebeat-7.8.0实体索引,但是随着时间的推移,当需要清理该索引时,则需要把上述filebeat-7.8.0索引模板中的滚动别名改回为"filebeat-7.8.0"并且把当前正在写入的最新的别名修改为"filebeat-7.8.0", 否则会导致又重新创建出filebeat-7.8.0实体索引(可以通过关闭action.auto_create_index禁止自动创建该索引)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Elasticsearch 索引生命周期管理详解与实践汇总篇
Elasticsearch 从版本6.8开始已经免费开放索引生命周期管理的功能,通过该功能我们可以实现日志索引不同阶段的细化管理进而达到实际需求。本文基于以往的索引生命周期管理知识沉淀作进一步的深化,如大家想了解ILM的相关文章,请参考如下链接:
南非骆驼说大数据
2020/11/23
2.5K0
Elasticsearch 索引生命周期管理详解与实践汇总篇
Elastic Searchable snapshot功能初探 二 (hot phase)
在上一篇文章中(Elastic Searchable snapshot功能初探),我们已经做了可搜索快照的简单演示。在总结中,我们提到:
点火三周
2021/03/02
6.3K0
巧用ingest pipeline实现Elasticsearch索引的重定向
对于第1个问题,在7.x版本的集群中比较常见,因为所以默认只有1分片1副本,该问题的一种解决方式就是切换一个新的索引进行写入,提高新的索引的分片数量(最好保持为节点数量的倍数),使得写入并行度提高,从而提高写入吞吐率。
bellen
2020/10/16
1.4K0
Elasticsearch——Rollover的正确使用姿势
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html
WeldonWang
2023/03/09
3K0
腾讯云Elasticsearch索引生命周期管理原理及实践
本文将从三个方面介绍Elasticsearch索引生命周期管理的特性,首先会介绍ES索引生命周期管理的基本原理,其次会通过一个常见的日志场景来一步步配置索引生命周期管理,最后向大家介绍在日常的ES运维工作中遇到的关于索引生命周期管理常见的问题及解决方法。
吴容
2021/12/04
4.3K0
腾讯云Elasticsearch索引生命周期管理原理及实践
干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
关于人生,有人这么说:“人,生来一个人,死去一个人,所以,人生就是一个人生老病死的简称。”
铭毅天下
2021/06/25
7K1
干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
Elasticsearch ILM实现索引全生命周期自动管理,解放双手
Elasticsearch Index Lifecycle Management(ILM)是Elasticsearch的一个功能,用于管理索引的生命周期,优化索引的性能和减少存储成本。ILM可以自动执行索引的各种操作,如创建、删除、滚动、缩小等,从而帮助用户轻松地管理索引的生命周期。ILM可以帮助用户减少手动干预的工作量,使其可以更好地专注于数据分析。
MCNU云原生
2023/03/17
1.1K0
Elasticsearch ILM实现索引全生命周期自动管理,解放双手
ElasticSearch ILM实践
在ES没有提供ILM功能以前,我们的索引生命周期管理一般是自己写脚本或者curator工具来管理的。
保持热爱奔赴山海
2022/05/15
6180
ElasticSearch ILM实践
Elasticsearch也能"分库分表",rollover实现自动分索引
MySQL的分库分表大家是非常熟悉的,在Elasticserach中有存在类似的场景需求。为了不让单个索引太过于庞大,从而引发性能变差等问题,我们常常有根据索引大小、时间等创建新索引的需求,解决方案一般有两个:
MCNU云原生
2023/03/17
2.7K1
Elasticsearch也能"分库分表",rollover实现自动分索引
Elasticsearch可搜索快照技术原理及最佳实践
Elasticsearch于7.10版本推出可搜索快照功能,但是7.10版本的可搜索快照技术还不够成熟,随着7.14版本的发布,可搜索快照技术才真正能够大规模用于生产实践中。本文将基于ES 7.14.2版本,继续从原理和实践两个角度向大家介绍可搜索快照技术的。
吴容
2021/11/27
2.1K3
Elasticsearch可搜索快照技术原理及最佳实践
Elasticsearch ILM 索引生命周期管理 - ES 必备技能
假设有三个索引,my-index-001, my-index-002, my-index-003, 全部绑定到别名 my-alias, 并且 my-index-003 设置了 "is_write_index": true。这意味着对 my-alias 查询可以查询到以上所有三个索引的数据,而对 my-alias 写入数据只会写入到 my-index-003。
sir5kong
2023/07/20
9790
Elasticsearch探索:Ingest pipeline实现索引重定向
default pipeline与final pipeline实际上都是普通的ingest pipeline,只是和一般的pipeline执行时机不同;default pipeline的执行时机是当前写入请求没有指定pipeline时,final pipeline的执行时机是在所有pipeline执行完毕后,具体如图所示:
HLee
2020/12/29
1.3K0
Elasticsearch探索:Ingest pipeline实现索引重定向
elasticsearch的ILM(Index Lifecycle Management)操作详解
Index lifecycle management(索引生命周期管理)是elasticsearch提供的一种用于自动管理索引的生命周期的功能。允许使用者定义索引的各个阶段,从创建至删除。并允许使用者在每个阶段定义索引需要执行的特定动作。这些动作包含索引创建,rollover滚动规则, shrink收缩索引,索引降冷,删除索引等动作。极大程度的降低了elasticsearch索引管理的成本。
空洞的盒子
2023/11/10
2.4K1
Elasticsearch 索引容量管理实践
作者:gavinyao,腾讯 PCG 后台开发工程师 Elasticsearch 是目前大数据领域最热门的技术栈之一,腾讯云 Elasticsearch Service(ES)是基于开源搜索引擎 Elasticsearch 打造的高可用、可伸缩的云端全托管 Elasticsearch 服务,完善的高可用解决方案,让业务可以放心的把重要数据存储到腾讯云 ES 中。 了解 ES 的索引管理方法有助于扬长避短,更好的利用 ES 的强大功能,特别是当遇到性能问题时,原因通常都可回溯至数据的索引方式以及集群中的
腾讯技术工程官方号
2020/07/06
1.2K0
Elasticsearch 索引容量管理实践
Elasticsearch是目前大数据领域最热门的技术栈之一,腾讯云 Elasticsearch Service(ES)是基于开源搜索引擎 Elasticsearch 打造的高可用、可伸缩的云端全托管 Elasticsearch 服务,完善的高可用解决方案,让业务可以放心的把重要数据存储到腾讯云 ES 中。
腾讯云大数据
2021/01/07
9940
Elasticsearch 索引容量管理实践
Elasticsearch 可搜索快照技术原理及最佳实践
Elasticsearch于7.10版本推出可搜索快照功能,但是7.10版本的可搜索快照技术还不够成熟,随着7.14版本的发布,可搜索快照技术才真正能够大规模用于生产实践中。本文将基于ES 7.14.2版本,继续从原理和实践两个角度向大家介绍可搜索快照技术。
腾讯云大数据
2021/12/29
1.4K1
Elasticsearch 可搜索快照技术原理及最佳实践
Elasticsearch rollover API
rollover API 使你可以根据索引大小,文档数或使用期限自动过渡到新索引。 当 rollover 触发后,将创建新索引,写别名(write alias) 将更新为指向新索引,所有后续更新都将写入新索引。
腾讯云大数据
2020/09/29
2.4K0
Elasticsearch rollover API
Elasticsearch 索引容量管理实践
Elasticsearch是目前大数据领域最热门的技术栈之一,腾讯云 Elasticsearch Service(ES)是基于开源搜索引擎 Elasticsearch 打造的高可用、可伸缩的云端全托管 Elasticsearch 服务,完善的高可用解决方案,让业务可以放心的把重要数据存储到腾讯云 ES 中。
姚俊刚
2020/06/18
3.3K0
Elasticsearch 索引容量管理实践
[转]Elasticsearch:如何轻松安全地对实时 Elasticsearch 索引 reindex 你的数据
在很多的时候,由于一些需求,我们不得不修改索引的映射,也即 mapping,这个时候我们需要重新索引(reindex)来把之前的数据索引到新的索引中。槽糕的是,我们的这个索引还在不断地收集实时数据,那么我们该如何处理这种情况呢?
保持热爱奔赴山海
2024/05/08
1140
Elastic Stack 实战教程 2:ILM 索引生命周期管理
索引生命周期管理 (Index Lifecycle Management, ILM) 是在 Elasticsearch 在 6.6(公测版)首次引入并在 6.7 版正式推出的一项功能。ILM 旨在帮助用户更方便地管理时序数据(例如日志,指标等)。时序数据有如下几个典型的特点:
Se7en258
2023/02/26
6700
Elastic Stack 实战教程 2:ILM 索引生命周期管理
推荐阅读
相关推荐
Elasticsearch 索引生命周期管理详解与实践汇总篇
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文