按此配置。然而,我得到错误
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证书的签名是否存在问题,因为这将允许您针对特定问题微调解决方案。