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

Logstash按多路径配置多索引后未生成索引、Kibana不可见如何解决

配置修改方案

你当前的配置存在几处语法错误和逻辑疏漏,按优先级调整即可:

  • elasticsearch输出的index参数语法错误
    index字段只接受字符串值,不支持数组格式,需要把两处elasticsearch输出的配置修改为:
    # prod对应的elasticsearch输出
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "prod-log"
    }
    # dev对应的elasticsearch输出
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "dev-log"
    }
    
  • file输入的type参数语法错误
    type字段同样为字符串类型,把两处file输入里的type => ["json"]改为type => "json"即可,该错误不直接影响索引生成,但会导致后续按type过滤的逻辑失效。
  • 新增文件读取配置避免历史数据不重读
    Logstash默认会记录已读取文件的偏移量,若你之前已经读取过对应日志文件,默认不会重新推送历史数据到ES。可以在两个file输入配置中新增如下参数(适用于Windows系统):
    file{
        tags => ["prod"]
        type => "json"
        path => ["C:/Users/DELL/Downloads/log/prod/*.log"]
        start_position => "beginning" # 首次读取从文件开头读
        sincedb_path => "NUL" # 不记录文件读取偏移量,测试用,生产环境可以去掉该配置
    }
    
  • 补充ES权限配置
    若你的Elasticsearch集群开启了身份认证,需要在elasticsearch输出配置中补充账号密码参数:
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "prod-log"
      user => "elastic"
      password => "你的ES密码"
    }
    
  • 检查ES自动索引创建开关
    执行ES命令GET _cluster/settings确认是否关闭了自动索引创建,若action.auto_create_index为false,可以临时开启或者提前创建对应名称的索引模板。

修改后重启Logstash即可在ES中看到对应索引,若还是没有生成可以查看Logstash运行日志排查连接ES的报错信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:15:02