试图恢复与死ES实例的连接,但得到一个错误



按此配置。然而,我得到错误

logstash.yml

http.host: '0.0.0.0'
xpack.monitoring.elasticsearch.hosts: ["https://es1:9200","https://es2:9200","https://es3:9200"]
xpack.monitoring.elasticsearch.ssl.certificate_authority: '/usr/share/logstash/ca-ca.pem'
xpack.monitoring.elasticsearch.username: 'elastic'
xpack.monitoring.elasticsearch.password: 'myPassword'

logstash.conf

output {
elasticsearch {
ssl => true
}
}
Attempted to resurrect connection to dead ES instance, but got an error {:url=>"https://127.0.0.1:9200/", :exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :message=>"Elasticsearch Unreachable: [https://127.0.0.1:9200/][Man

仅推荐用于开发环境

它至少可以让你朝着正确的方向去寻找"生产"解决方案

我有同样的问题,我有一个docker环境,我运行我所有的logstash管道。在生产环境中没有问题,但是我开始在开发/测试工作中使用dockerized弹性集群。

我从我开发的其他应用程序连接到该集群,没有任何问题。

我试着做@OP上面概述的事情,甚至更进一步,在输出级别禁用ssl验证:

# myPipeline.conf
output {
elasticsearch {
ssl => true
ssl_certificate_verification => false
}
}

但是我仍然得到关于恢复连接和失败的相同错误。

在查阅了各种文档和帖子的答案后,这篇文章使我找到了一个可行的解决方案。

logstash.yml配置文件中将xpack.monitoring.elasticsearch.ssl.verification_mode设置为none

# logstash.yml
http:
host: "0.0.0.0"
xpack:
monitoring:
enabled: true
elasticsearch:
username: 'elastic'
password: 'myPassword'
hosts: ["https://es1:9200","https://es2:9200","https://es3:9200"]
ssl:
verification_mode: none

指出:

  • 我还没有测试它与xpack.monitoring.elasticsearch.ssl.certificate_authority设置。
  • 禁用SSL验证会严重危害安全性。
  • 如果推出到生产站点,请使用此方法在本地进行测试,以查看SSL证书的签名是否存在问题,因为这将允许您针对特定问题微调解决方案。

相关内容

  • 没有找到相关文章

最新更新