elasticsearch - Logstash 模糊端口定义
问题描述
我正在使用 Logstash 将文档推送到 elasticsearch,并且在尝试运行 logstash 时出现错误:
[2021-05-09T08:45:57,532][DEBUG][logstash.javapipeline][main] 管道因工作错误 {:pipeline_id=>"main", :exception=>#<LogStash::ConfigurationError: Explicit value for声明了“端口”,但在给定的 URL 之一中它是不同的!请确保您的 URL 与显式值内联。URL 的属性设置为“8001”,但也明确设置为“443”>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-输出-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client.rb:179:in calculate_property'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client.rb:228:in
port'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash -output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client.rb:66:inbuild_url_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client.rb:50:in
初始化'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client_builder.rb:110:在create_http_client'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/http_client_builder.rb:98:in
构建中”,“/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es.rb:256: in build_client'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-amazon_es-7.0.1-java/lib/logstash/outputs/amazon_es/common.rb:25:in
register'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:126:in register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:68:in
register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:226:in block in register_plugins'", "org/jruby/RubyArray.java:1809:in
each '", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:225:in register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:541:in
maybe_setup_out_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb: 238:在start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:183:in
运行'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:134:in `block in start'"], "pipeline.sources"=>["/home/ubuntu/json_try /logstash_try.config"], :thread=>"#<线程:0x1b83bf8e 运行>"}
我试图弄清楚端口 443 配置来自哪里,因为我也在尝试使用 http 而不是 https 并在配置文件中指定端口 8001。我的logstash配置文件是:
input {
file{
type => "json"
path => "~/home/ubuntu/json_try/json_try.json"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output{
amazon_es {
hosts => "http://my.dom:8001/scans"
index => "snapshot-%{+YYYY.MM.dd}"
}
stdout{}
}
配置文件之外或里面有什么要改变的吗?
解决方案
我已经能够通过在配置文件中将端口显式设置为 8001 来解决,如下所示:
amazon_es {
hosts => "http://my.dom/scans"
port => 8001
index => "snapshot-%{+YYYY.MM.dd}"
}
它为我解决了重复端口问题。
推荐阅读
- macos - Applescript 将 Mac 显示分辨率更改为“缩放”、“更大的文本”
- java - 如何对集合子集应用进一步的过滤器
- cakephp - CakePHP 中的自动清除消息
- nativescript - 如何在 NativeScript 中对 .udsz 文件使用 AR QuickLook?
- node.js - 如何解决 socket.io-client 连接到服务器的问题?
- python - 没有在python中正确解析嵌套的xml标签
- javascript - 如何在 JavaScript 中传递引用?
- android - Firestore:在事务中检查 NotNull 并阻止调用 OnSuccessful 回调
- python - 如何使用openpyxl将['apple','carrots','mango']等列表导出到excel的一列中?在 Python 中
- jquery - 有没有办法在页面加载后执行从外部 javascript 文件发送的 django 标签