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

如何解决Logstash无法连接Elasticsearch(8.8.1版本)的问题

问题解决步骤

1. 修正Logstash配置中的SQL语法错误

你的JDBC输入里的SQL语句存在语法错误:SELECT id, name, createdTime at FROM user limit 500中的createdTime at是无效写法,需修正为正确的字段名,示例:

SELECT id, name, createdTime FROM user limit 500

(如果需要给createdTime设置别名,可写成createdTime AS create_time)

2. 配置Logstash连接Elasticsearch的SSL参数

Elasticsearch 8.x默认强制开启HTTPS和身份验证,你的Logstash输出配置未适配SSL规则,导致连接失败。需修改elasticsearch输出段的配置:

output {
    elasticsearch {
        hosts => ["https://localhost:9200"]  # 改为HTTPS协议地址
        index => "music_user"
        document_id => "%{id}"
        cacert => "/Users/kun/Downloads/ElasticSearch/elasticsearch-8.8.1/config/http_ca.crt"  # 替换为你的ES安装目录下http_ca.crt的实际路径
        user => "elastic"  # ES默认超级用户
        password => "你的elastic用户密码"  # 安装ES时生成的初始密码
    }
    stdout {
        codec => rubydebug
    }
}

参数说明:

  • hosts:必须使用https://开头,对应ES的HTTPS默认端口9200
  • cacert:指定ES生成的CA证书路径,用于验证ES的SSL证书合法性
  • user和password:ES的身份验证凭据,使用安装时生成的elastic用户密码即可

3. 启动Logstash验证

执行以下命令启动Logstash(替换为你的配置文件实际路径):

bin/logstash -f /path/to/your/config.conf

启动后查看日志,若不再出现PipelineAction::Create<main>失败的错误,且能正常将数据输出到Elasticsearch和控制台,则配置生效。

关键说明

本地环境无需公网HTTPS地址,Elasticsearch使用的是自签名SSL证书,只要Logstash通过指定cacert信任该证书,就能正常建立HTTPS连接,同时Kibana也能继续使用SSL连接Elasticsearch,无需关闭ES的SSL功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:32:38