fluent-plugin-elasticsearch 1.9.7 → 1.10.0
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/History.md +5 -0
- data/README.md +12 -0
- data/fluent-plugin-elasticsearch.gemspec +2 -2
- data/lib/fluent/plugin/out_elasticsearch.rb +4 -2
- data/test/plugin/test_out_elasticsearch.rb +19 -1
- data/test/plugin/test_out_elasticsearch_dynamic.rb +4 -0
- 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: d7f9583b7923380fe06d399cc24006cf75a17528
|
4
|
+
data.tar.gz: ffb1c9ed360ef6c48cfa003ee81022d179f0b9bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74eaadfe9d121623014befb052b8437cdb092a9857153c521039ee463ef51a20877f7f1e63dea4ad9c5f3a8f70ab33b0ea1c77cf0aa93fac0c33b0da63e15af6
|
7
|
+
data.tar.gz: 4a84606298bf3e2874485c6d5d10212f065d89f68ab7bc44e0731cfa3908a2cefce18aa9eef51f1b2fb09248e9a98d8610ebc5bd3496b9223cbb4245e00d6b04
|
data/History.md
CHANGED
@@ -4,6 +4,11 @@
|
|
4
4
|
- Log ES response errors (#230)
|
5
5
|
- Use latest elasticsearch-ruby (#240)
|
6
6
|
|
7
|
+
### 1.10.0
|
8
|
+
- backport adding `logstash_prefix_separator` parameter fix
|
9
|
+
- backport making configuraable SSL/TLS version (#300)
|
10
|
+
- bump up minimum required Fluentd version to v0.12.10 due to use enum parameter type
|
11
|
+
|
7
12
|
### 1.9.7
|
8
13
|
- fix license identifier in gemspec (#295)
|
9
14
|
|
data/README.md
CHANGED
@@ -19,6 +19,7 @@ Note: For Amazon Elasticsearch Service please consider using [fluent-plugin-aws-
|
|
19
19
|
+ [user, password, path, scheme, ssl_verify](#user-password-path-scheme-ssl_verify)
|
20
20
|
+ [logstash_format](#logstash_format)
|
21
21
|
+ [logstash_prefix](#logstash_prefix)
|
22
|
+
+ [logstash_prefix_separator](#logstash_prefix_separator)
|
22
23
|
+ [logstash_dateformat](#logstash_dateformat)
|
23
24
|
+ [pipeline](#pipeline)
|
24
25
|
+ [time_key_format](#time_key_format)
|
@@ -122,6 +123,12 @@ This is meant to make writing data into ElasticSearch indices compatible to what
|
|
122
123
|
logstash_prefix mylogs # defaults to "logstash"
|
123
124
|
```
|
124
125
|
|
126
|
+
### logstash_prefix_separator
|
127
|
+
|
128
|
+
```
|
129
|
+
logstash_prefix_separator _ # defaults to "-"
|
130
|
+
```
|
131
|
+
|
125
132
|
### logstash_dateformat
|
126
133
|
|
127
134
|
The strftime format to generate index target index name when `logstash_format` is set to true. By default, the records are inserted into index `logstash-YYYY.MM.DD`. This option, alongwith `logstash_prefix` lets us insert into specified index like `mylogs-YYYYMM` for a monthly index.
|
@@ -441,6 +448,11 @@ client_key /path/to/your/private/key
|
|
441
448
|
client_key_pass password
|
442
449
|
```
|
443
450
|
|
451
|
+
If you want to configure SSL/TLS version, you can specify ssl\_version parameter.
|
452
|
+
```
|
453
|
+
ssl_version TLSv1_2 # or [SSLv23, TLSv1, TLSv1_1]
|
454
|
+
```
|
455
|
+
|
444
456
|
### Proxy Support
|
445
457
|
|
446
458
|
Starting with version 0.8.0, this gem uses excon, which supports proxy with environment variables - https://github.com/excon/excon#proxy-support
|
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'fluent-plugin-elasticsearch'
|
6
|
-
s.version = '1.
|
6
|
+
s.version = '1.10.0'
|
7
7
|
s.authors = ['diogo', 'pitr']
|
8
8
|
s.email = ['pitr.vern@gmail.com', 'me@diogoterror.com']
|
9
9
|
s.description = %q{ElasticSearch output plugin for Fluent event collector}
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
|
19
19
|
s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
|
20
20
|
|
21
|
-
s.add_runtime_dependency 'fluentd', '>= 0.10
|
21
|
+
s.add_runtime_dependency 'fluentd', '>= 0.12.10'
|
22
22
|
s.add_runtime_dependency 'excon', '>= 0'
|
23
23
|
s.add_runtime_dependency 'elasticsearch'
|
24
24
|
|
@@ -30,6 +30,7 @@ class Fluent::ElasticsearchOutput < Fluent::ObjectBufferedOutput
|
|
30
30
|
config_param :time_precision, :integer, :default => 0
|
31
31
|
config_param :logstash_format, :bool, :default => false
|
32
32
|
config_param :logstash_prefix, :string, :default => "logstash"
|
33
|
+
config_param :logstash_prefix_separator, :string, :default => '-'
|
33
34
|
config_param :logstash_dateformat, :string, :default => "%Y.%m.%d"
|
34
35
|
config_param :utc_index, :bool, :default => true
|
35
36
|
config_param :type_name, :string, :default => "fluentd"
|
@@ -49,6 +50,7 @@ class Fluent::ElasticsearchOutput < Fluent::ObjectBufferedOutput
|
|
49
50
|
config_param :client_cert, :string, :default => nil
|
50
51
|
config_param :client_key_pass, :string, :default => nil
|
51
52
|
config_param :ca_file, :string, :default => nil
|
53
|
+
config_param :ssl_version, :enum, list: [:SSLv23, :TLSv1, :TLSv1_1, :TLSv1_2], :default => :TLSv1
|
52
54
|
config_param :remove_keys, :string, :default => nil
|
53
55
|
config_param :remove_keys_on_update, :string, :default => ""
|
54
56
|
config_param :remove_keys_on_update_key, :string, :default => nil
|
@@ -154,7 +156,7 @@ class Fluent::ElasticsearchOutput < Fluent::ObjectBufferedOutput
|
|
154
156
|
transport_options: {
|
155
157
|
headers: { 'Content-Type' => 'application/json' },
|
156
158
|
request: { timeout: @request_timeout },
|
157
|
-
ssl: { verify: @ssl_verify, ca_file: @ca_file }
|
159
|
+
ssl: { verify: @ssl_verify, ca_file: @ca_file, version: @ssl_version }
|
158
160
|
}
|
159
161
|
}), &adapter_conf)
|
160
162
|
es = Elasticsearch::Client.new transport: transport
|
@@ -305,7 +307,7 @@ class Fluent::ElasticsearchOutput < Fluent::ObjectBufferedOutput
|
|
305
307
|
record[TIMESTAMP_FIELD] = dt.iso8601(@time_precision)
|
306
308
|
end
|
307
309
|
dt = dt.new_offset(0) if @utc_index
|
308
|
-
target_index = "#{@logstash_prefix}
|
310
|
+
target_index = "#{@logstash_prefix}#{@logstash_prefix_separator}#{dt.strftime(@logstash_dateformat)}"
|
309
311
|
else
|
310
312
|
target_index = @index_name
|
311
313
|
end
|
@@ -70,6 +70,10 @@ class ElasticsearchOutput < Test::Unit::TestCase
|
|
70
70
|
assert_equal '/es/', instance.path
|
71
71
|
assert_equal 'john', instance.user
|
72
72
|
assert_equal 'doe', instance.password
|
73
|
+
assert_equal :TLSv1, instance.ssl_version
|
74
|
+
assert_nil instance.client_key
|
75
|
+
assert_nil instance.client_cert
|
76
|
+
assert_nil instance.client_key_pass
|
73
77
|
end
|
74
78
|
|
75
79
|
def test_template_already_present
|
@@ -645,6 +649,20 @@ class ElasticsearchOutput < Test::Unit::TestCase
|
|
645
649
|
assert_equal(logstash_index, index_cmds.first['index']['_index'])
|
646
650
|
end
|
647
651
|
|
652
|
+
def test_writes_to_logstash_index_with_specified_prefix_and_separator
|
653
|
+
separator = '_'
|
654
|
+
driver.configure("logstash_format true
|
655
|
+
logstash_prefix_separator #{separator}
|
656
|
+
logstash_prefix myprefix")
|
657
|
+
time = Time.parse Date.today.to_s
|
658
|
+
logstash_index = "myprefix#{separator}#{time.getutc.strftime("%Y.%m.%d")}"
|
659
|
+
stub_elastic_ping
|
660
|
+
stub_elastic
|
661
|
+
driver.emit(sample_record, time.to_i)
|
662
|
+
driver.run
|
663
|
+
assert_equal(logstash_index, index_cmds.first['index']['_index'])
|
664
|
+
end
|
665
|
+
|
648
666
|
def test_writes_to_logstash_index_with_specified_prefix_uppercase
|
649
667
|
driver.configure("logstash_format true
|
650
668
|
logstash_prefix MyPrefix")
|
@@ -739,7 +757,7 @@ class ElasticsearchOutput < Test::Unit::TestCase
|
|
739
757
|
assert_equal(index_cmds[1]['@timestamp'], ts)
|
740
758
|
assert_equal("logstash-2001.02.03", index_cmds[0]['index']['_index'])
|
741
759
|
end
|
742
|
-
|
760
|
+
|
743
761
|
def test_uses_custom_time_key_exclude_timekey
|
744
762
|
driver.configure("logstash_format true
|
745
763
|
time_key vtm
|
@@ -68,6 +68,10 @@ class ElasticsearchOutputDynamic < Test::Unit::TestCase
|
|
68
68
|
assert_equal 'john', instance.user
|
69
69
|
assert_equal 'doe', instance.password
|
70
70
|
assert_equal '/es/', instance.path
|
71
|
+
assert_equal :TLSv1, instance.ssl_version
|
72
|
+
assert_nil instance.client_key
|
73
|
+
assert_nil instance.client_cert
|
74
|
+
assert_nil instance.client_key_pass
|
71
75
|
end
|
72
76
|
|
73
77
|
def test_defaults
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- diogo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-09-
|
12
|
+
date: 2017-09-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.10
|
20
|
+
version: 0.12.10
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.10
|
27
|
+
version: 0.12.10
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: excon
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|