Logstash docker 图像,创建我无法覆盖的默认输出
Logstash docker image, creating default output I can't override
我正在使用此 Dockerfile
创建一个 docker 图像
FROM docker.elastic.co/logstash/logstash:5.5.0
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
RUN /usr/share/logstash/bin/logstash-plugin install logstash-filter-clone
和运行这张图片使用:
docker build -t y:y - < ./Dockerfile
和运行它使用:
docker run -it --rm -v "$PWD":/config-dir y1:y1 -f /config-dir/logstash.conf
虽然这是 logstash.yml
input{
exec{
command=>'curl -k -i -u admin:admin -s https://some.url'
interval=>10
codec=>"json"
type=>"curl"
}
}
output {
stdout { codec => rubydebug }
}
我的问题是 docker 由于未知原因 运行 elasticsearch 输出插件有些东西我无法覆盖
2017-10-18T11:02:33,196][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://logstash_system:xxxxxx@elasticsearch:9200/, :path=>"/"}
[2017-10-18T11:02:33,209][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch"}
[2017-10-18T11:02:33,299][INFO ][logstash.licensechecker.licensereader] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://logstash_system:xxxxxx@elasticsearch:9200/, :path=>"/"}
[2017-10-18T11:02:33,311][WARN ][logstash.licensechecker.licensereader] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch"}
我尝试在容器中执行并找出此配置存在的位置但失败了,我很难理解此弹性搜索输出插件的配置位置以及如何禁用它?
您需要禁用 XPack 监控位。 Logstash 尝试向 ES 发送健康信息,但找不到。
只需将此添加到您的 Dockerfile
:
ENV XPACK_MONITORING_ENABLED=false
我正在使用此 Dockerfile
FROM docker.elastic.co/logstash/logstash:5.5.0
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
RUN /usr/share/logstash/bin/logstash-plugin install logstash-filter-clone
和运行这张图片使用:
docker build -t y:y - < ./Dockerfile
和运行它使用:
docker run -it --rm -v "$PWD":/config-dir y1:y1 -f /config-dir/logstash.conf
虽然这是 logstash.yml
input{
exec{
command=>'curl -k -i -u admin:admin -s https://some.url'
interval=>10
codec=>"json"
type=>"curl"
}
}
output {
stdout { codec => rubydebug }
}
我的问题是 docker 由于未知原因 运行 elasticsearch 输出插件有些东西我无法覆盖
2017-10-18T11:02:33,196][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://logstash_system:xxxxxx@elasticsearch:9200/, :path=>"/"}
[2017-10-18T11:02:33,209][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch"}
[2017-10-18T11:02:33,299][INFO ][logstash.licensechecker.licensereader] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://logstash_system:xxxxxx@elasticsearch:9200/, :path=>"/"}
[2017-10-18T11:02:33,311][WARN ][logstash.licensechecker.licensereader] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch"}
我尝试在容器中执行并找出此配置存在的位置但失败了,我很难理解此弹性搜索输出插件的配置位置以及如何禁用它?
您需要禁用 XPack 监控位。 Logstash 尝试向 ES 发送健康信息,但找不到。
只需将此添加到您的 Dockerfile
:
ENV XPACK_MONITORING_ENABLED=false