logstash-output-elasticsearch 10.5.1-java → 10.7.3-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 +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
|