Kibana索引生命周期策略报错:rollover_alias问题解析

一、背景

在使用ELK进行日志收集分析时,我们经常会将每天的日志生成一个索引,类似somta-log-2021-02-25,在以前的版本是需要我们写脚本或者服务来删除不想要的索引的,但是在新的ES里面已经帮我们实现了,我们可以通过创建一个索引生命周期策略来将我们的索引进行合并,删除等操作,是非常方便的

但是在ES 7.7.1上配置了一个生命周期索引,确出现了如下错误

错误1:

illegal_argument_exception: index.lifecycle.rollover_alias [somta-logs] does not point to index [somta-log-2021.02.23]

错误2:

illegal_argument_exception: rollover target [somta-logs] does not point to a write index

错误3:

illegal_argument_exception: setting [index.lifecycle.rollover_alias] for index [somta-log-2021.02.23] is empty or not defined

二、问题原因

先来看看我报错时,我的详细设置

1、索引模板

PUT _template/logs_template
{
  "index_patterns": ["somta-log-*"],   # 匹配所有以logs开头的索引
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "index.lifecycle.name": "log-30-days",     # 绑定生命周期策略
    "index.lifecycle.rollover_alias": "somta-log"        # 别名
  }
}

2、生命周期索引

其实出现该问题的主要原因是“启用滚动更新”造成的,因为索引生命周期策略中滚动更新时需要对索引设置别名的,并且每个索引别名要不一样,但是我们是按天分割索引的,有没办法自动设置索引,所以这种方式明显不适合,启用滚动更新的索引格式一般为 apm-7.7.1-profile-000027

三、解决办法

我只需要禁用“启用滚动更新”即可,然后将修改后的索引生命周期策略重新添加到索引模板上即可

注意:

1.使用新的索引模板进行测试的时候,需要新建一个模板对应的索引,否则在此处的下拉框中将不会出现该索引模板

2.如果原索引模板中已经存在索引生命周期策略,覆盖后新生成的索引会使用新覆盖的策略,但是已经存在的索引仍然是就策略,不会触发删除,需要手动删除

相关推荐
技术文档
软件下载
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空