gpt4 book ai didi

authentication - 如何验证 Logstash 输出到安全的 Elasticsearch URL(版本 5.6.5)

转载 作者:行者123 更新时间:2023-11-29 02:54:03 25 4
gpt4 key购买 nike

我使用的是 Logstash 和 Elasticsearch 版本 5.6.5。到目前为止,使用带有 HTTP 协议(protocol)且没有身份验证的 elasticsearch 输出。现在 Elasticsearch 正在使用基本身份验证(用户/密码)和 CA 认证的 HTTPS URL 进行保护。我对 elasticsearch 服务器没有任何控制权。我只是用它从 Logstash 输出。

现在,当我尝试使用基本身份验证配置 elasticsearch 的 HTTPS URL 时,它无法创建管道。

输出配置

output { 
elasticsearch {
hosts => ["https://myeslasticsearch.server.io"]
user => "esusername"
password => "espassword"
ssl => true
}
}

错误

 1. Error registering plugin {:plugin=>"#<LogStash::OutputDelegator:0x50aa9200
2. Pipeline aborted due to error {:exception=>#<URI::InvalidComponentError: bad component(expected user component):

如何解决这个问题?我注意到有一个名为 cacert 的字段需要一些 PEM 文件。但我不确定该放什么,因为 Elasticsearch 服务器使用的是 CA 认证的 SSL,而不是自签名的。

附加问题:我没有安装任何 xpack。从 Logstash 到 Elasticsearch 的 HTTPS 输出是否需要购买“xpack”?

最佳答案

我找到了问题的根本原因。需要解决三件事:

  1. 我测试的 logstash 版本是错误的 5.5.0。我下载了与 Elasticsearch 版本 5.6.5 匹配的正确版本。

  2. 我使用的主机在 443 端口上运行。当我没有像下面那样指定端口时,logstash 附加了 9200,因此连接失败。

    hosts => ['https://my.es.server.com']

    以下配置更正了 logstash 使用的端口。

    hosts => ['https://my.es.server.com:443']

  3. 我缺少代理连接设置。

    proxy => 'http://my.proxy.com:80'

整体设置有效。

output {
elasticsearch {
hosts => ['https://my.es.server.com:443']
user => 'esusername'
password => 'espassword'
proxy => 'http://my.proxy:80'
index => "my-index-%{+YYYY.MM.dd}"
}
}

不需要“ssl”字段。

此外,无需安装“xpack”即可满足此要求。

关于authentication - 如何验证 Logstash 输出到安全的 Elasticsearch URL(版本 5.6.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49109251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com