logstash-output-elasticsearch 2.7.1-java → 3.0.1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -6
- data/Gemfile +2 -1
- data/lib/logstash/outputs/elasticsearch/common.rb +5 -3
- data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +2 -6
- data/lib/logstash/outputs/elasticsearch.rb +1 -3
- data/logstash-output-elasticsearch.gemspec +2 -2
- data/spec/integration/outputs/routing_spec.rb +1 -1
- data/spec/integration/outputs/templates_spec.rb +3 -1
- data/spec/integration/outputs/update_spec.rb +1 -2
- data/spec/unit/outputs/elasticsearch_spec.rb +2 -54
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f948e5caa196ea3ba4eb76f706c65f81670189b4
|
4
|
+
data.tar.gz: e8a600c78977584ce8a19f881f1dc462e1340ba5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c167b9448ec63baecb93bacecbdac5fbef4f005d39121700a51579a51f742e6827f93f12552c36c2ee2b18f3bb5033c4be3ab1b0f8b242e71c27b14088b040d
|
7
|
+
data.tar.gz: f579359b3b18ecbf4fbdc86559a077ce306df472bd9c0e961882fc604c32ef0e2d3b7c28386af37c14687529e8fc8f03aa34f00a36d980c550f876efa8465d2f
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
##
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
- Allow URI paths to work correctly when no 'path' option set
|
6
|
-
|
1
|
+
## 3.0.1
|
2
|
+
- Republish all the gems under jruby.
|
3
|
+
## 3.0.0
|
4
|
+
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See https://github.com/elastic/logstash/issues/5141
|
7
5
|
## 2.7.0
|
8
6
|
- Add `pipeline` configuration option for setting an ingest pipeline to run upon indexing
|
9
7
|
|
data/Gemfile
CHANGED
@@ -157,7 +157,7 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
157
157
|
type = if @document_type
|
158
158
|
event.sprintf(@document_type)
|
159
159
|
else
|
160
|
-
event
|
160
|
+
event.get("type") || "logs"
|
161
161
|
end
|
162
162
|
|
163
163
|
if !(type.is_a?(String) || type.is_a?(Numeric))
|
@@ -177,7 +177,8 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
177
177
|
"Attempted to send a bulk request to Elasticsearch configured at '#{@client.client_options[:hosts]}',"+
|
178
178
|
" but Elasticsearch appears to be unreachable or down!",
|
179
179
|
:error_message => e.message,
|
180
|
-
:class => e.class.name
|
180
|
+
:class => e.class.name,
|
181
|
+
:client_config => @client.client_options,
|
181
182
|
)
|
182
183
|
@logger.debug("Failed actions for last bad bulk request!", :actions => actions)
|
183
184
|
|
@@ -192,7 +193,8 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
192
193
|
"the configuration provided?",
|
193
194
|
:error_message => e.message,
|
194
195
|
:error_class => e.class.name,
|
195
|
-
:backtrace => e.backtrace
|
196
|
+
:backtrace => e.backtrace,
|
197
|
+
:client_config => @client.client_options,
|
196
198
|
)
|
197
199
|
|
198
200
|
@logger.debug("Failed actions for last bad bulk request!", :actions => actions)
|
@@ -10,11 +10,7 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
10
10
|
}
|
11
11
|
|
12
12
|
common_options[:timeout] = params["timeout"] if params["timeout"]
|
13
|
-
|
14
|
-
if params["path"]
|
15
|
-
client_settings[:path] = "/#{params["path"]}/".gsub(/\/+/, "/") # Normalize slashes
|
16
|
-
end
|
17
|
-
|
13
|
+
client_settings[:path] = "/#{params["path"]}/".gsub(/\/+/, "/") # Normalize slashes
|
18
14
|
logger.debug? && logger.debug("Normalizing http path", :path => params["path"], :normalized => client_settings[:path])
|
19
15
|
|
20
16
|
client_settings.merge! setup_ssl(logger, params)
|
@@ -107,4 +103,4 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
107
103
|
}
|
108
104
|
end
|
109
105
|
end
|
110
|
-
end; end; end
|
106
|
+
end; end; end
|
@@ -79,9 +79,7 @@ class LogStash::Outputs::ElasticSearch < LogStash::Outputs::Base
|
|
79
79
|
|
80
80
|
# HTTP Path at which the Elasticsearch server lives. Use this if you must run Elasticsearch behind a proxy that remaps
|
81
81
|
# the root path for the Elasticsearch HTTP API lives.
|
82
|
-
|
83
|
-
# not also set this field. That will raise an error at startup
|
84
|
-
config :path, :validate => :string
|
82
|
+
config :path, :validate => :string, :default => "/"
|
85
83
|
|
86
84
|
# Enable SSL/TLS secured communication to Elasticsearch cluster. Leaving this unspecified will use whatever scheme
|
87
85
|
# is specified in the URLs listed in 'hosts'. If no explicit protocol is specified plain HTTP will be used.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-output-elasticsearch'
|
4
|
-
s.version = '
|
4
|
+
s.version = '3.0.1'
|
5
5
|
s.licenses = ['apache-2.0']
|
6
6
|
s.summary = "Logstash Output to Elasticsearch"
|
7
7
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_runtime_dependency 'elasticsearch', ['>= 1.0.13', '~> 1.0']
|
25
25
|
s.add_runtime_dependency 'stud', ['>= 0.0.17', '~> 0.0']
|
26
26
|
s.add_runtime_dependency 'cabin', ['~> 0.6']
|
27
|
-
s.add_runtime_dependency "logstash-core-plugin-api", "~>
|
27
|
+
s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
|
28
28
|
|
29
29
|
s.add_development_dependency 'ftw', '~> 0.0.42'
|
30
30
|
s.add_development_dependency 'logstash-codec-plain'
|
@@ -12,7 +12,7 @@ shared_examples "a routing indexer" do
|
|
12
12
|
before do
|
13
13
|
subject.register
|
14
14
|
event_count.times do
|
15
|
-
subject.receive(LogStash::Event.new("message" => "
|
15
|
+
subject.receive(LogStash::Event.new("message" => "Hello World!", "type" => type))
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -73,7 +73,9 @@ describe "index template expected behavior", :integration => true do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "make [geoip][location] a geo_point" do
|
76
|
-
|
76
|
+
results = @es.search(:body => { "query" => { "bool" => { "must" => { "match_all" => {} }, "filter" => { "geo_distance" => { "distance" => "1000km", "geoip.location" => { "lat" => 0.5, "lon" => 0.5 } } } } } })
|
77
|
+
insist { results["hits"]["total"] } == 1
|
78
|
+
insist { results["hits"]["hits"][0]["_source"]["geoip"]["location"] } == [ 0.0, 0.0 ]
|
77
79
|
end
|
78
80
|
|
79
81
|
it "aggregate .raw results correctly " do
|
@@ -18,12 +18,10 @@ describe "outputs/elasticsearch" do
|
|
18
18
|
eso.client.send(:client).transport.options[:hosts].first
|
19
19
|
}
|
20
20
|
|
21
|
-
let(:do_register) { true }
|
22
|
-
|
23
21
|
around(:each) do |block|
|
24
|
-
eso.register
|
22
|
+
eso.register
|
25
23
|
block.call()
|
26
|
-
eso.close
|
24
|
+
eso.close
|
27
25
|
end
|
28
26
|
|
29
27
|
describe "getting a document type" do
|
@@ -80,56 +78,6 @@ describe "outputs/elasticsearch" do
|
|
80
78
|
expect(manticore_host).to include(options["path"])
|
81
79
|
end
|
82
80
|
end
|
83
|
-
|
84
|
-
context "with a URI based path" do
|
85
|
-
let(:options) do
|
86
|
-
o = super()
|
87
|
-
o.delete("path")
|
88
|
-
o["hosts"] = ["http://localhost:9200/mypath/"]
|
89
|
-
o
|
90
|
-
end
|
91
|
-
let(:client_host_path) { URI.parse(eso.client.client_options[:hosts].first).path }
|
92
|
-
|
93
|
-
it "should initialize without error" do
|
94
|
-
expect { eso }.not_to raise_error
|
95
|
-
end
|
96
|
-
|
97
|
-
it "should use the URI path" do
|
98
|
-
expect(client_host_path).to eql("/mypath/")
|
99
|
-
end
|
100
|
-
|
101
|
-
context "with a path option but no URL path" do
|
102
|
-
let(:options) do
|
103
|
-
o = super()
|
104
|
-
o["path"] = "/override/"
|
105
|
-
o["hosts"] = ["http://localhost:9200"]
|
106
|
-
o
|
107
|
-
end
|
108
|
-
|
109
|
-
it "should initialize without error" do
|
110
|
-
expect { eso }.not_to raise_error
|
111
|
-
end
|
112
|
-
|
113
|
-
it "should use the option path" do
|
114
|
-
expect(client_host_path).to eql("/override/")
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
# If you specify the path in two spots that is an error!
|
119
|
-
context "with a path option and a URL path" do
|
120
|
-
let(:do_register) { false } # Register will fail
|
121
|
-
let(:options) do
|
122
|
-
o = super()
|
123
|
-
o["path"] = "/override"
|
124
|
-
o["hosts"] = ["http://localhost:9200/mypath/"]
|
125
|
-
o
|
126
|
-
end
|
127
|
-
|
128
|
-
it "should initialize with an error" do
|
129
|
-
expect { eso.register }.to raise_error(LogStash::ConfigurationError)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
81
|
end
|
134
82
|
describe "without a port specified" do
|
135
83
|
it "should properly set the default port (9200) on the HTTP client" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,7 +83,7 @@ dependencies:
|
|
83
83
|
requirements:
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: '
|
86
|
+
version: '2.0'
|
87
87
|
name: logstash-core-plugin-api
|
88
88
|
prerelease: false
|
89
89
|
type: :runtime
|
@@ -91,7 +91,7 @@ dependencies:
|
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
94
|
+
version: '2.0'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|