我正在尝试运行Logstash以通过代理将输出发送到Elasticsearch。据我所知,没有用于我指定代理的输出配置。目前,我使用:
output {
elasticsearch {
protocol => "http"
host => "es-dev.local"
port => "9200"
index => "logstash-analysis-%{+YYYY.MM.dd}"
flush_size => "200"
workers => "2"
template_name => "logstash_per_index"
}
}
elasticsearch_http
也没有选择。如何使用代理?
最佳答案
一旦知道最后只是纯Java,事情就变得非常简单了。
换句话说,Logstash使用Java的系统属性来完成这项工作。然后剩下的唯一一块就是知道如何指定它。使用环境变量LS_JAVA_OPTS
可以达到目的:
SET LS_JAVA_OPTS=-Dhttp.proxyHost=proxy.local -Dhttp.proxyPort=1337
logstash ...
这种方法的缺点是所有输出只能有一个代理。不能仅将代理用于一个输出,也不能将不同的代理用于不同的输出。
关于proxy - 为Logstash配置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26136461/