You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kibana SLM策略配置异常:快照保留5天却包含一年索引

问题原因与解决方案

核心误解

你配置的retention.expire_after: "5d"是用来控制快照自身的保留时长——也就是快照创建完成后,会在5天后被自动删除,但它完全不会影响快照中包含哪些索引。

当前你的config.indices: "index-*"会匹配所有以index-开头的索引,所以每次执行快照时,自然会把过去一年里所有符合这个规则的索引都包含进去,这就是问题的根源。

正确配置方法

要让快照只包含最近5天的索引,需要利用Elasticsearch的日期数学表达式,精准匹配索引名中的日期部分。假设你的索引命名格式是index-YYYY.MM.DD(例如index-2024.05.20),修改SLM策略的config部分如下:

PUT _slm/policy/new-snapshot-1 
{   
  "schedule": "0 40 21 * * ?",        
  "name": "<index-{now/d}>",    
  "repository": "snap-s3",    
  "config": 
  {
    "indices": "index-{now/d-5d}*",                 
    "include_global_state": true,
    "ignore_unavailable": true       
  },   
  "retention": 
  {                    
    "expire_after": "5d"
  } 
}
  • index-{now/d-5d}*:表示匹配索引名以当前日期减去5天开头的所有索引(比如今天是2024.05.20,就会匹配index-2024.05.15*到index-2024.05.20*的所有索引)。
  • ignore_unavailable: true:避免因为某一天的索引不存在而导致整个快照任务失败。

如果你的索引命名是其他日期格式(比如index-20240520),只需调整日期数学表达式的格式部分即可,例如:

"indices": "index-{now/d-5d||yyyyMMdd}*"

额外说明

如果你的索引名没有包含日期信息,SLM无法直接通过索引创建时间来筛选要快照的索引,这种情况下建议调整索引命名规则,加入日期后缀,这样才能用上述方法实现按时间范围快照索引。

内容的提问来源于stack exchange,提问作者dominbdg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:32:44