logstash-output-elasticsearch 10.5.1-java → 10.7.3-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/CONTRIBUTORS +1 -0
- data/docs/index.asciidoc +142 -81
- data/lib/logstash/outputs/elasticsearch.rb +33 -0
- data/lib/logstash/outputs/elasticsearch/common.rb +21 -8
- data/lib/logstash/outputs/elasticsearch/common_configs.rb +3 -3
- data/lib/logstash/outputs/elasticsearch/http_client.rb +6 -2
- data/lib/logstash/outputs/elasticsearch/ilm.rb +1 -1
- data/lib/logstash/outputs/elasticsearch/template_manager.rb +20 -12
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es2x.json → templates/ecs-disabled/elasticsearch-2x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es5x.json → templates/ecs-disabled/elasticsearch-5x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es6x.json → templates/ecs-disabled/elasticsearch-6x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es7x.json → templates/ecs-disabled/elasticsearch-7x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-8x.json +50 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-6x.json +2950 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-7x.json +2948 -0
- data/logstash-output-elasticsearch.gemspec +2 -1
- data/spec/es_spec_helper.rb +32 -12
- data/spec/fixtures/template-with-policy-es8x.json +50 -0
- data/spec/integration/outputs/ilm_spec.rb +36 -22
- data/spec/integration/outputs/metrics_spec.rb +1 -5
- data/spec/unit/outputs/elasticsearch/http_client_spec.rb +22 -0
- data/spec/unit/outputs/elasticsearch/template_manager_spec.rb +40 -3
- data/spec/unit/outputs/elasticsearch_spec.rb +23 -1
- data/spec/unit/outputs/error_whitelist_spec.rb +1 -1
- metadata +25 -7
- data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es8x.json +0 -44
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-output-elasticsearch'
|
3
|
-
s.version = '10.
|
3
|
+
s.version = '10.7.3'
|
4
4
|
|
5
5
|
s.licenses = ['apache-2.0']
|
6
6
|
s.summary = "Stores logs in Elasticsearch"
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_runtime_dependency 'stud', ['>= 0.0.17', '~> 0.0']
|
26
26
|
s.add_runtime_dependency 'cabin', ['~> 0.6']
|
27
27
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
28
|
+
s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.0'
|
28
29
|
|
29
30
|
s.add_development_dependency 'logstash-codec-plain'
|
30
31
|
s.add_development_dependency 'logstash-devutils'
|
data/spec/es_spec_helper.rb
CHANGED
@@ -49,19 +49,10 @@ module ESHelper
|
|
49
49
|
Time.now.strftime("%Y.%m.%d")
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
def default_mapping_from_mappings(mappings)
|
54
|
-
if ESHelper.es_version_satisfies?(">=7")
|
55
|
-
mappings
|
56
|
-
else
|
57
|
-
mappings["_default_"]
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
52
|
def field_properties_from_template(template_name, field)
|
62
|
-
|
63
|
-
|
64
|
-
|
53
|
+
template = get_template(@es, template_name)
|
54
|
+
mappings = get_template_mappings(template)
|
55
|
+
mappings["properties"][field]["properties"]
|
65
56
|
end
|
66
57
|
|
67
58
|
def routing_field_name
|
@@ -105,6 +96,7 @@ module ESHelper
|
|
105
96
|
|
106
97
|
def clean(client)
|
107
98
|
client.indices.delete_template(:name => "*")
|
99
|
+
client.indices.delete_index_template(:name => "logstash*") rescue nil
|
108
100
|
# This can fail if there are no indexes, ignore failure.
|
109
101
|
client.indices.delete(:index => "*") rescue nil
|
110
102
|
clean_ilm(client) if supports_ilm?(client)
|
@@ -182,6 +174,34 @@ module ESHelper
|
|
182
174
|
}
|
183
175
|
}
|
184
176
|
end
|
177
|
+
|
178
|
+
def get_template(client, name)
|
179
|
+
if ESHelper.es_version_satisfies?(">=8")
|
180
|
+
t = client.indices.get_index_template(name: name)
|
181
|
+
t['index_templates'][0]['index_template']
|
182
|
+
else
|
183
|
+
t = client.indices.get_template(name: name)
|
184
|
+
t[name]
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def get_template_settings(template)
|
189
|
+
if ESHelper.es_version_satisfies?(">=8")
|
190
|
+
template['template']['settings']
|
191
|
+
else
|
192
|
+
template['settings']
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
def get_template_mappings(template)
|
197
|
+
if ESHelper.es_version_satisfies?(">=8")
|
198
|
+
template['template']['mappings']
|
199
|
+
elsif ESHelper.es_version_satisfies?(">=7")
|
200
|
+
template['mappings']
|
201
|
+
else
|
202
|
+
template['mappings']["_default_"]
|
203
|
+
end
|
204
|
+
end
|
185
205
|
end
|
186
206
|
|
187
207
|
RSpec.configure do |config|
|
@@ -0,0 +1,50 @@
|
|
1
|
+
{
|
2
|
+
"index_patterns" : "overwrite-*",
|
3
|
+
"version" : 80001,
|
4
|
+
"template" : {
|
5
|
+
"settings" : {
|
6
|
+
"index.refresh_interval" : "1s",
|
7
|
+
"number_of_shards": 1
|
8
|
+
},
|
9
|
+
"mappings" : {
|
10
|
+
"dynamic_templates" : [ {
|
11
|
+
"message_field" : {
|
12
|
+
"path_match" : "message",
|
13
|
+
"match_mapping_type" : "string",
|
14
|
+
"mapping" : {
|
15
|
+
"type" : "text",
|
16
|
+
"norms" : false
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}, {
|
20
|
+
"string_fields" : {
|
21
|
+
"match" : "*",
|
22
|
+
"match_mapping_type" : "string",
|
23
|
+
"mapping" : {
|
24
|
+
"type" : "text", "norms" : false,
|
25
|
+
"fields" : {
|
26
|
+
"keyword" : { "type": "keyword", "ignore_above": 256 }
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
} ],
|
31
|
+
"properties" : {
|
32
|
+
"@timestamp": { "type": "date" },
|
33
|
+
"@version": { "type": "keyword" },
|
34
|
+
"geoip" : {
|
35
|
+
"dynamic": true,
|
36
|
+
"properties" : {
|
37
|
+
"ip": { "type": "ip" },
|
38
|
+
"location" : { "type" : "geo_point" },
|
39
|
+
"latitude" : { "type" : "half_float" },
|
40
|
+
"longitude" : { "type" : "half_float" }
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
},
|
46
|
+
"priority": 200,
|
47
|
+
"_meta" : {
|
48
|
+
"description": "index template for logstash-output-elasticsearch"
|
49
|
+
}
|
50
|
+
}
|
@@ -8,7 +8,7 @@ shared_examples_for 'an ILM enabled Logstash' do
|
|
8
8
|
let (:settings) { super.merge("ilm_policy" => ilm_policy_name)}
|
9
9
|
|
10
10
|
it 'should rollover when the policy max docs is reached' do
|
11
|
-
put_policy(@es,ilm_policy_name, policy)
|
11
|
+
put_policy(@es, ilm_policy_name, policy)
|
12
12
|
subject.register
|
13
13
|
|
14
14
|
subject.multi_receive([
|
@@ -108,9 +108,11 @@ shared_examples_for 'an ILM disabled Logstash' do
|
|
108
108
|
it 'should not write the ILM settings into the template' do
|
109
109
|
subject.register
|
110
110
|
sleep(1)
|
111
|
-
|
111
|
+
|
112
|
+
template = get_template(@es, "logstash")
|
113
|
+
expect(template).to have_index_pattern("logstash-*")
|
112
114
|
if ESHelper.es_version_satisfies?(">= 2")
|
113
|
-
expect(
|
115
|
+
expect(get_template_settings(template)['index']['lifecycle']).to be_nil
|
114
116
|
end
|
115
117
|
end
|
116
118
|
|
@@ -152,16 +154,17 @@ shared_examples_for 'an ILM disabled Logstash' do
|
|
152
154
|
end
|
153
155
|
|
154
156
|
context 'with a custom template name' do
|
155
|
-
let (:template_name) { "
|
157
|
+
let (:template_name) { "logstash_custom_template_name" }
|
156
158
|
let (:settings) { super.merge('template_name' => template_name)}
|
157
159
|
|
158
160
|
it 'should not write the ILM settings into the template' do
|
159
161
|
subject.register
|
160
162
|
sleep(1)
|
161
163
|
|
162
|
-
|
164
|
+
template = get_template(@es, template_name)
|
165
|
+
expect(template).to have_index_pattern("logstash-*")
|
163
166
|
if ESHelper.es_version_satisfies?(">= 2")
|
164
|
-
expect(
|
167
|
+
expect(get_template_settings(template)['index']['lifecycle']).to be_nil
|
165
168
|
end
|
166
169
|
end
|
167
170
|
end
|
@@ -249,9 +252,9 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
249
252
|
}
|
250
253
|
let (:small_max_doc_policy) { max_docs_policy(3) }
|
251
254
|
let (:large_max_doc_policy) { max_docs_policy(1000000) }
|
252
|
-
let (:expected_index) {
|
255
|
+
let (:expected_index) { elasticsearch_output_plugin.default_ilm_rollover_alias }
|
253
256
|
|
254
|
-
subject { LogStash::Outputs::ElasticSearch.new(settings) }
|
257
|
+
subject(:elasticsearch_output_plugin) { LogStash::Outputs::ElasticSearch.new(settings) }
|
255
258
|
|
256
259
|
before :each do
|
257
260
|
# Delete all templates first.
|
@@ -387,16 +390,20 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
387
390
|
it 'should write the ILM settings into the template' do
|
388
391
|
subject.register
|
389
392
|
sleep(1)
|
390
|
-
|
391
|
-
|
392
|
-
expect(
|
393
|
+
|
394
|
+
template = get_template(@es, "logstash")
|
395
|
+
expect(template).to have_index_pattern("logstash-*")
|
396
|
+
expect(get_template_settings(template)['index']['lifecycle']['name']).to eq("logstash-policy")
|
397
|
+
expect(get_template_settings(template)['index']['lifecycle']['rollover_alias']).to eq("logstash")
|
393
398
|
end
|
394
399
|
|
395
400
|
it_behaves_like 'an ILM enabled Logstash'
|
396
401
|
end
|
397
402
|
|
398
403
|
context 'with a set index and a custom index pattern' do
|
399
|
-
if ESHelper.es_version_satisfies?(">=
|
404
|
+
if ESHelper.es_version_satisfies?(">= 8.0")
|
405
|
+
let (:template) { "spec/fixtures/template-with-policy-es8x.json" }
|
406
|
+
elsif ESHelper.es_version_satisfies?(">= 7.0")
|
400
407
|
let (:template) { "spec/fixtures/template-with-policy-es7x.json" }
|
401
408
|
else
|
402
409
|
let (:template) { "spec/fixtures/template-with-policy-es6x.json" }
|
@@ -408,13 +415,15 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
408
415
|
it 'should not overwrite the index patterns' do
|
409
416
|
subject.register
|
410
417
|
sleep(1)
|
411
|
-
|
418
|
+
|
419
|
+
template = get_template(@es, "logstash")
|
420
|
+
expect(template).to have_index_pattern("overwrite-*")
|
412
421
|
end
|
413
422
|
end
|
414
423
|
|
415
424
|
|
416
425
|
context 'with a custom template' do
|
417
|
-
let (:ilm_rollover_alias) { "
|
426
|
+
let (:ilm_rollover_alias) { "logstash_the_cat_in_the_hat" }
|
418
427
|
let (:index) { ilm_rollover_alias }
|
419
428
|
let(:expected_index) { index }
|
420
429
|
let (:settings) { super.merge("ilm_policy" => ilm_policy_name,
|
@@ -422,7 +431,9 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
422
431
|
"ilm_rollover_alias" => ilm_rollover_alias)}
|
423
432
|
|
424
433
|
|
425
|
-
if ESHelper.es_version_satisfies?(">=
|
434
|
+
if ESHelper.es_version_satisfies?(">= 8.0")
|
435
|
+
let (:template) { "spec/fixtures/template-with-policy-es8x.json" }
|
436
|
+
elsif ESHelper.es_version_satisfies?(">= 7.0")
|
426
437
|
let (:template) { "spec/fixtures/template-with-policy-es7x.json" }
|
427
438
|
else
|
428
439
|
let (:template) { "spec/fixtures/template-with-policy-es6x.json" }
|
@@ -460,13 +471,15 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
460
471
|
it 'should write the ILM settings into the template' do
|
461
472
|
subject.register
|
462
473
|
sleep(1)
|
463
|
-
|
464
|
-
|
465
|
-
expect(
|
474
|
+
|
475
|
+
template = get_template(@es, ilm_rollover_alias)
|
476
|
+
expect(template).to have_index_pattern("#{ilm_rollover_alias}-*")
|
477
|
+
expect(get_template_settings(template)['index']['lifecycle']['name']).to eq(ilm_policy_name)
|
478
|
+
expect(get_template_settings(template)['index']['lifecycle']['rollover_alias']).to eq(ilm_rollover_alias)
|
466
479
|
end
|
467
480
|
|
468
481
|
context 'with a different template_name' do
|
469
|
-
let (:template_name) { "
|
482
|
+
let (:template_name) { "logstash_custom_template_name" }
|
470
483
|
let (:settings) { super.merge('template_name' => template_name)}
|
471
484
|
|
472
485
|
it_behaves_like 'an ILM enabled Logstash'
|
@@ -474,9 +487,10 @@ if ESHelper.es_version_satisfies?(">= 6.6")
|
|
474
487
|
it 'should write the ILM settings into the template' do
|
475
488
|
subject.register
|
476
489
|
sleep(1)
|
477
|
-
|
478
|
-
expect(
|
479
|
-
expect(
|
490
|
+
template = get_template(@es, template_name)
|
491
|
+
expect(template).to have_index_pattern("#{ilm_rollover_alias}-*")
|
492
|
+
expect(get_template_settings(template)['index']['lifecycle']['name']).to eq(ilm_policy_name)
|
493
|
+
expect(get_template_settings(template)['index']['lifecycle']['rollover_alias']).to eq(ilm_rollover_alias)
|
480
494
|
end
|
481
495
|
end
|
482
496
|
|
@@ -19,11 +19,7 @@ describe "metrics", :integration => true do
|
|
19
19
|
|
20
20
|
# Clean ES of data before we start.
|
21
21
|
@es = get_client
|
22
|
-
@es
|
23
|
-
|
24
|
-
# This can fail if there are no indexes, ignore failure.
|
25
|
-
@es.indices.delete(:index => "*") rescue nil
|
26
|
-
#@es.indices.refresh
|
22
|
+
clean(@es)
|
27
23
|
subject.register
|
28
24
|
end
|
29
25
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require_relative "../../../../spec/es_spec_helper"
|
1
2
|
require "logstash/devutils/rspec/spec_helper"
|
2
3
|
require "logstash/outputs/elasticsearch/http_client"
|
3
4
|
require "java"
|
@@ -138,6 +139,27 @@ describe LogStash::Outputs::ElasticSearch::HttpClient do
|
|
138
139
|
end
|
139
140
|
end
|
140
141
|
|
142
|
+
describe "index template" do
|
143
|
+
subject { described_class.new(base_options) }
|
144
|
+
let(:template_name) { "logstash" }
|
145
|
+
let(:template) { {} }
|
146
|
+
let(:get_response) {
|
147
|
+
double("response", :body => {})
|
148
|
+
}
|
149
|
+
|
150
|
+
it "should call composable index template in version 8+" do
|
151
|
+
expect(subject).to receive(:maximum_seen_major_version).and_return(8)
|
152
|
+
expect(subject.pool).to receive(:put).with("_index_template/#{template_name}", nil, anything).and_return(get_response)
|
153
|
+
subject.template_put(template_name, template)
|
154
|
+
end
|
155
|
+
|
156
|
+
it "should call index template in version < 8" do
|
157
|
+
expect(subject).to receive(:maximum_seen_major_version).and_return(7)
|
158
|
+
expect(subject.pool).to receive(:put).with("_template/#{template_name}", nil, anything).and_return(get_response)
|
159
|
+
subject.template_put(template_name, template)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
141
163
|
describe "join_bulk_responses" do
|
142
164
|
subject { described_class.new(base_options) }
|
143
165
|
|
@@ -8,17 +8,54 @@ describe LogStash::Outputs::ElasticSearch::TemplateManager do
|
|
8
8
|
describe ".default_template_path" do
|
9
9
|
context "elasticsearch 1.x" do
|
10
10
|
it "chooses the 2x template" do
|
11
|
-
expect(described_class.default_template_path(1)).to
|
11
|
+
expect(described_class.default_template_path(1)).to end_with("/templates/ecs-disabled/elasticsearch-2x.json")
|
12
12
|
end
|
13
13
|
end
|
14
14
|
context "elasticsearch 2.x" do
|
15
15
|
it "chooses the 2x template" do
|
16
|
-
expect(described_class.default_template_path(2)).to
|
16
|
+
expect(described_class.default_template_path(2)).to end_with("/templates/ecs-disabled/elasticsearch-2x.json")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
context "elasticsearch 5.x" do
|
20
20
|
it "chooses the 5x template" do
|
21
|
-
expect(described_class.default_template_path(5)).to
|
21
|
+
expect(described_class.default_template_path(5)).to end_with("/templates/ecs-disabled/elasticsearch-5x.json")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'when ECS v1 is requested' do
|
27
|
+
it 'resolves' do
|
28
|
+
expect(described_class.default_template_path(7, :v1)).to end_with("/templates/ecs-v1/elasticsearch-7x.json")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "index template with ilm settings" do
|
33
|
+
let(:plugin_settings) { {"manage_template" => true, "template_overwrite" => true} }
|
34
|
+
let(:plugin) { LogStash::Outputs::ElasticSearch.new(plugin_settings) }
|
35
|
+
|
36
|
+
describe "in version 8+" do
|
37
|
+
let(:file_path) { described_class.default_template_path(8) }
|
38
|
+
let(:template) { described_class.read_template_file(file_path)}
|
39
|
+
|
40
|
+
it "should update settings" do
|
41
|
+
expect(plugin).to receive(:maximum_seen_major_version).at_least(:once).and_return(8)
|
42
|
+
described_class.add_ilm_settings_to_template(plugin, template)
|
43
|
+
expect(template['template']['settings']['index.lifecycle.name']).not_to eq(nil)
|
44
|
+
expect(template['template']['settings']['index.lifecycle.rollover_alias']).not_to eq(nil)
|
45
|
+
expect(template.include?('settings')).to be_falsey
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "in version < 8" do
|
50
|
+
let(:file_path) { described_class.default_template_path(7) }
|
51
|
+
let(:template) { described_class.read_template_file(file_path)}
|
52
|
+
|
53
|
+
it "should update settings" do
|
54
|
+
expect(plugin).to receive(:maximum_seen_major_version).at_least(:once).and_return(7)
|
55
|
+
described_class.add_ilm_settings_to_template(plugin, template)
|
56
|
+
expect(template['settings']['index.lifecycle.name']).not_to eq(nil)
|
57
|
+
expect(template['settings']['index.lifecycle.rollover_alias']).not_to eq(nil)
|
58
|
+
expect(template.include?('template')).to be_falsey
|
22
59
|
end
|
23
60
|
end
|
24
61
|
end
|
@@ -6,7 +6,7 @@ require "logstash/outputs/elasticsearch"
|
|
6
6
|
describe LogStash::Outputs::ElasticSearch do
|
7
7
|
subject { described_class.new(options) }
|
8
8
|
let(:options) { {} }
|
9
|
-
let(:maximum_seen_major_version) {
|
9
|
+
let(:maximum_seen_major_version) { [1,2,5,6,7,8].sample }
|
10
10
|
|
11
11
|
let(:do_register) { true }
|
12
12
|
|
@@ -355,6 +355,28 @@ describe LogStash::Outputs::ElasticSearch do
|
|
355
355
|
end
|
356
356
|
end
|
357
357
|
|
358
|
+
describe "the pipeline option" do
|
359
|
+
context "with a sprintf and set pipeline" do
|
360
|
+
let(:options) { {"pipeline" => "%{pipeline}" } }
|
361
|
+
|
362
|
+
let(:event) { LogStash::Event.new("pipeline" => "my-ingest-pipeline") }
|
363
|
+
|
364
|
+
it "should interpolate the pipeline value and set it" do
|
365
|
+
expect(subject.event_action_tuple(event)[1]).to include(:pipeline => "my-ingest-pipeline")
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
context "with a sprintf and empty pipeline" do
|
370
|
+
let(:options) { {"pipeline" => "%{pipeline}" } }
|
371
|
+
|
372
|
+
let(:event) { LogStash::Event.new("pipeline" => "") }
|
373
|
+
|
374
|
+
it "should interpolate the pipeline value but not set it because it is empty" do
|
375
|
+
expect(subject.event_action_tuple(event)[1]).not_to include(:pipeline)
|
376
|
+
end
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
358
380
|
describe "SSL end to end" do
|
359
381
|
let(:do_register) { false } # skip the register in the global before block, as is called here.
|
360
382
|
|
@@ -11,10 +11,10 @@ describe "whitelisting error types in expected behavior" do
|
|
11
11
|
|
12
12
|
before :each do
|
13
13
|
allow(subject.logger).to receive(:warn)
|
14
|
+
allow(subject).to receive(:maximum_seen_major_version).and_return(0)
|
14
15
|
|
15
16
|
subject.register
|
16
17
|
|
17
|
-
allow(subject.client).to receive(:maximum_seen_major_version).and_return(0)
|
18
18
|
allow(subject.client).to receive(:get_xpack_info)
|
19
19
|
allow(subject.client).to receive(:bulk).and_return(
|
20
20
|
{
|
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: 10.
|
4
|
+
version: 10.7.3
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,6 +84,20 @@ dependencies:
|
|
84
84
|
- - "<="
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '2.99'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '1.0'
|
93
|
+
name: logstash-mixin-ecs_compatibility_support
|
94
|
+
prerelease: false
|
95
|
+
type: :runtime
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.0'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
102
|
requirement: !ruby/object:Gem::Requirement
|
89
103
|
requirements:
|
@@ -159,17 +173,19 @@ files:
|
|
159
173
|
- lib/logstash/outputs/elasticsearch/common.rb
|
160
174
|
- lib/logstash/outputs/elasticsearch/common_configs.rb
|
161
175
|
- lib/logstash/outputs/elasticsearch/default-ilm-policy.json
|
162
|
-
- lib/logstash/outputs/elasticsearch/elasticsearch-template-es2x.json
|
163
|
-
- lib/logstash/outputs/elasticsearch/elasticsearch-template-es5x.json
|
164
|
-
- lib/logstash/outputs/elasticsearch/elasticsearch-template-es6x.json
|
165
|
-
- lib/logstash/outputs/elasticsearch/elasticsearch-template-es7x.json
|
166
|
-
- lib/logstash/outputs/elasticsearch/elasticsearch-template-es8x.json
|
167
176
|
- lib/logstash/outputs/elasticsearch/http_client.rb
|
168
177
|
- lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb
|
169
178
|
- lib/logstash/outputs/elasticsearch/http_client/pool.rb
|
170
179
|
- lib/logstash/outputs/elasticsearch/http_client_builder.rb
|
171
180
|
- lib/logstash/outputs/elasticsearch/ilm.rb
|
172
181
|
- lib/logstash/outputs/elasticsearch/template_manager.rb
|
182
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-2x.json
|
183
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-5x.json
|
184
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-6x.json
|
185
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-7x.json
|
186
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-8x.json
|
187
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-6x.json
|
188
|
+
- lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-7x.json
|
173
189
|
- logstash-output-elasticsearch.gemspec
|
174
190
|
- spec/es_spec_helper.rb
|
175
191
|
- spec/fixtures/_nodes/2x_1x.json
|
@@ -185,6 +201,7 @@ files:
|
|
185
201
|
- spec/fixtures/scripts/painless/scripted_upsert.painless
|
186
202
|
- spec/fixtures/template-with-policy-es6x.json
|
187
203
|
- spec/fixtures/template-with-policy-es7x.json
|
204
|
+
- spec/fixtures/template-with-policy-es8x.json
|
188
205
|
- spec/fixtures/test_certs/ca/ca.crt
|
189
206
|
- spec/fixtures/test_certs/ca/ca.key
|
190
207
|
- spec/fixtures/test_certs/test.crt
|
@@ -262,6 +279,7 @@ test_files:
|
|
262
279
|
- spec/fixtures/scripts/painless/scripted_upsert.painless
|
263
280
|
- spec/fixtures/template-with-policy-es6x.json
|
264
281
|
- spec/fixtures/template-with-policy-es7x.json
|
282
|
+
- spec/fixtures/template-with-policy-es8x.json
|
265
283
|
- spec/fixtures/test_certs/ca/ca.crt
|
266
284
|
- spec/fixtures/test_certs/ca/ca.key
|
267
285
|
- spec/fixtures/test_certs/test.crt
|