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

Kibana 7.12.0如何为每日新建的filebeat索引自动绑定索引生命周期策略

结论

Kibana 7.12.0 版本不支持直接将索引模式(Index Patterns)与索引生命周期(ILM)策略绑定,你找不到对应配置入口不是操作问题,是功能本身就不支持——索引模式的定位是服务于日志查询、可视化的索引匹配规则,完全不介入新索引创建时的配置下发逻辑。

要让后续新建的filebeat-<date>格式索引自动应用ILM策略,用下面两种原生方案即可,不需要改源码或者装额外插件。

方案1:通过索引模板绑定ILM策略(通用方案,和日志采集端无关)

这是Elasticsearch原生的新索引配置自动下发机制,所有匹配模板规则的新索引都会自动套用模板里的配置,包括ILM策略、字段映射、分片规则等。
操作步骤完全在Kibana界面完成:

  • 提前确认你已经创建好目标ILM策略,记录准确的策略名称
  • 打开Kibana左侧菜单栏,进入「Stack Management(栈管理)」,在Elasticsearch分类下选择「Index Templates(索引模板)」
  • 搜索匹配filebeat-*规则的现有模板:正常部署Filebeat后会自动生成官方自带的模板,直接选中点编辑即可;如果没有匹配的模板,点击「Create template(创建模板)」新建
  • 模板配置项按下面填:
    • 「Index patterns(索引匹配规则)」填filebeat-*,优先级(Priority)设置为200(高于默认Filebeat模板的优先级即可,避免配置被低优先级模板覆盖)
    • 跳过组件配置步骤,到「Index settings(索引设置)」页,添加如下配置,替换成你自己的ILM策略名:
      {
        "index.lifecycle.name": "你自己创建的filebeat ILM策略名称"
      }
      
    • 如果你用ILM的滚动更新(Rollover)能力,就额外加一行"index.lifecycle.rollover_alias": "filebeat-write",提前创建好对应的写别名;如果只是按天生成带日期后缀的独立索引、不用rollover,不需要加这行
    • 映射、别名等其他配置如果是编辑现有模板,直接保留原有配置不要改动,避免字段解析异常;新建模板的话可以直接导入Filebeat官方提供的默认映射配置
    • 保存模板即可
  • 验证方式:手动创建一个测试索引filebeat-test-000001,在「Index Management(索引管理)」页查看该索引的ILM策略列,确认已经自动绑定目标策略就说明配置生效。历史已存在的索引不会自动应用该配置,需要手动批量绑定一次。
方案2:在Filebeat采集端直接配置ILM关联(适合你用Filebeat采集日志的场景)

如果你是在K8s里以DaemonSet方式运行Filebeat,直接改Filebeat的采集配置,让它在创建新索引的时候自动绑定ILM策略更简单,不需要手动调整索引模板:

  • 找到K8s集群中存储Filebeat配置的ConfigMap,在output.elasticsearch配置块下添加ILM相关配置:
    output.elasticsearch:
      hosts: ["http://你的Elasticsearch服务地址:9200"]
      ilm:
        enabled: true
        policy_name: "你创建好的ILM策略名称"
        pattern: "{now/d}-000001"
      index: "filebeat-%{+yyyy.MM.dd}"
    
  • 保存ConfigMap后滚动重启所有Filebeat Pod,后续Filebeat自动创建的按日期命名的索引都会直接绑定指定的ILM策略。

注意:如果同时配置了索引模板和Filebeat端的ILM规则,以优先级更高的索引模板配置为准。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:18:15