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

跨机器部署Logstash与Elasticsearch时无法创建索引问题

解决Logstash跨机器连接Elasticsearch无法创建索引的问题

从你提供的Logstash日志来看,Logstash已经成功和目标ES节点建立了连接(能看到恢复与ES实例的连接和确定ES输出版本的日志),但无法创建索引,咱们可以从以下几个方向逐一排查:

1. 先确认网络连通性

  • 先在Logstash所在机器上测试能否访问ES节点:执行curl http://192.168.51.100:9200,如果能返回ES的基本信息,说明网络通;如果不通,先排查ES机器的防火墙规则,确保9200端口对外开放,允许Logstash所在IP访问。
  • 检查ES配置文件elasticsearch.yml里的network.host参数,不能只设为localhost,要改成0.0.0.0(允许所有IP访问)或者具体的内网IP(比如192.168.51.100),改完后重启ES服务。

2. 检查Elasticsearch的权限设置

  • 如果你的ES开启了X-Pack安全功能(7.x版本默认可能启用),Logstash配置里必须添加正确的账号密码:
    output {
      elasticsearch {
        hosts => ["http://192.168.51.100:9200"]
        user => "logstash_writer" # 确保这个账号有创建索引的权限
        password => "your_password"
      }
    }
    
  • 可以在ES端用curl验证账号权限:curl -u logstash_writer:your_password http://192.168.51.100:9200/_security/user/logstash_writer,确认账号拥有create_index等必要权限。

3. 排查Logstash配置细节

  • 确认output块的hosts格式正确,日志里显示的["http://192.168.51.100:9200"]是对的,但可以手动指定一个简单的索引名测试,比如:
    output {
      elasticsearch {
        hosts => ["http://192.168.51.100:9200"]
        index => "test-log-%{+YYYY.MM.dd}" # 简化索引名,避免模板问题
      }
    }
    
  • 检查是否误设置了action => "create",这个参数会强制只创建新文档,不会自动创建索引,默认应该是action => "index",如果有这个配置可以删掉试试。

4. 索引模板的问题

  • 日志里显示Logstash尝试安装默认模板,你可以在ES端检查模板是否存在:执行curl http://192.168.51.100:9200/_template/logstash,如果返回空,说明模板安装失败。
  • 可以尝试在Logstash配置里禁用模板管理,直接创建索引:
    output {
      elasticsearch {
        hosts => ["http://192.168.51.100:9200"]
        manage_template => false # 禁用默认模板
        index => "test-log"
      }
    }
    

5. 关于日志里的警告

你日志里的Java版本警告、反射访问警告都是环境兼容性问题(Logstash 7.7.0和Java 14的兼容问题),这些不会影响索引创建,可以暂时忽略,后续升级Logstash或者降级Java到11版本就能解决。

快速验证步骤

先在Logstash机器上手动创建一个ES索引:

curl -XPUT http://192.168.51.100:9200/test-manual

如果这一步失败,说明问题出在ES端(网络、权限或ES配置);如果成功,再回到Logstash配置排查细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 17:18:13