在 Logstash 的 Elasticsearch 输出上设置 HTTP 代理
直接配置 Elasticsearch 输出插件的代理 URI,而不是依赖整个 JVM 的网络属性。
output {
elasticsearch {
id => "remote_cluster"
hosts => ["https://es.example:9200"]
proxy => "${ES_PROXY:}"
}
}
将这段配置合并到现有管道中。hosts 仍然是集群的 HTTP 端点,而 Logstash 进程的 ES_PROXY 可以提供经过批准的 URI,例如 http://proxy.example:8080。
Elasticsearch 输出参考要求提供代理 URI,并明确接受空字符串表示未设置。表达式的空默认值使该实例在不需要代理的地方不必设置显式代理。
保留集群认证、索引和 TLS 设置。可公开访问的集群只有在允许公共中间人且未配置代理凭据的路由上,才能使用 HTTP 代理列表 中的 HTTP 候选;请确认能访问集群实际的主机和端口。另一个输出可以选择其他代理,而无需更改 JVM 中的每个 Java HTTP 客户端。
环境变量替换发生在 Logstash 加载管道时。请在真实的服务或容器启动时设置该变量,而不是在之后无关的终端里设置。