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

Fluent对接Elasticsearch配置ILM后日志未写入新滚动索引问题

问题根因

你的配置存在两个核心错误,导致rollover后日志无法自动写入新索引:

  • Fluentd配置中index_name写死为固定初始索引名fluentd-log-000001,无论ES端是否生成新索引,Fluentd都会强制向这个旧索引写入数据
  • Elasticsearch ILM rollover机制依赖可写别名实现索引自动切换,你没有配置Fluentd向rollover别名写入,也没有完成初始索引和别名的绑定
修复步骤
  1. 修改fluent.conf配置,将index_name替换为你索引模板中设置的rollover别名fluentd:
<match *.**>
  @type copy
  <store>
    @type elasticsearch
    host elasticsearch
    port 9200
    logstash_format false
    index_name fluentd # 这里改为rollover别名,不要写死具体索引名
    type_name access_log
    tag_key @log_name
    flush_interval 5s
  </store>

  <store>
    @type stdout
  </store>
</match>

修改后重启Fluentd生效。

  1. 完成初始索引与rollover别名的绑定,执行以下ES请求将初始索引设置为别名的可写索引:
PUT fluentd-log-000001
{
  "aliases": {
    "fluentd": {
      "is_write_index": true
    }
  }
}
生效逻辑

修复完成后,当ILM触发rollover生成新的滚动索引时,Elasticsearch会自动将fluentd别名的写权限切换到新索引上,Fluentd始终向别名写入数据,就会自动路由到最新的索引中,无需手动修改配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:36:00