首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Logstash配置代理

为Logstash配置代理
EN

Stack Overflow用户
提问于 2014-10-01 07:42:59
回答 2查看 8.6K关注 0票数 1

我试图运行Logstash,通过代理将输出发送到Elasticsearch。据我所知,输出没有允许我指定代理的配置。目前我使用:

代码语言:javascript
复制
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对此也没有选择。我如何使用代理?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-01 12:39:40

事情很简单,一旦你知道最后一切都是简单的Java.

换句话说,Logstash使用Java的系统属性来完成这项工作。那么剩下的唯一一部分就是知道如何指定它。使用环境变量LS_JAVA_OPTS可以完成以下任务:

代码语言:javascript
复制
SET LS_JAVA_OPTS=-Dhttp.proxyHost=proxy.local -Dhttp.proxyPort=1337
logstash ...

这种方法的缺点是,所有输出只能有一个代理。不可能只对一个输出使用代理,也不可能对不同的输出使用不同的代理。

票数 6
EN

Stack Overflow用户

发布于 2020-01-13 13:47:38

LS_JAVA_OPTS="-Dhttp.proxyHost=... -Dhttp.proxyPort=..."将使用java.net堆栈产生任何效果(ES输出碰巧使用的是apache的http客户端--并不总是这样,可能会发生变化)

对于输出,人们应该更喜欢在插件上设置proxy => ...

代码语言:javascript
复制
output {
  elasticsearch {
    hosts => 'es.host:9300'
    proxy => "${ES_PROXY:}"
  }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26136461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档