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

Logstash指定文件路径输出到Elasticsearch自定义索引配置问题

配置问题排查

  • 字段引用错误:Filebeat 7.x+版本默认上报的文件路径字段为[log][file][path],而非你写的[@file][path],你可以先通过stdout输出打印全量事件确认你环境中的路径字段名。
  • 匹配逻辑错误:你的需求是路径精确等于/file/path,但用了in运算符(用于判断子串存在),需改为==实现精确匹配。
  • 配置项缺失:自定义索引的elasticsearch输出段漏加manage_template => false,和原有逻辑保持一致可避免索引模板冲突。
  • 语法格式不规范:if关键字和后续字段引用的中括号之间需加空格,避免Logstash解析配置时报错。

正确配置示例(适配Filebeat 7.x+标准字段)

output {
    # 精确匹配日志文件路径
    if [log][file][path] == "/file/path" {
        elasticsearch {
            hosts => ["localhost:9200"] 
            manage_template => false
            index => "test_file_index-%{+YYYY.MM.dd}"
            user => some_user
            password => pass_4_some_user
        }
    } else {
        # 原有逻辑保持不变
        if [@metadata][pipeline] {
            elasticsearch {
                hosts => ["localhost:9200"]
                manage_template => false
                index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
                pipeline => "%{[@metadata][pipeline]}"
                user => some_user
                password => pass_4_some_user
            }
        } else {
            elasticsearch {
                hosts => ["localhost:9200"]
                manage_template => false
                index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
                user => some_user
                password => pass_4_some_user
            }
        }
    }
}

注:如果你环境中的文件路径字段不是[log][file][path],将上述配置中的对应字段替换为你实际的路径字段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:45:03