fluent-plugin-elasticsearch 3.3.3 → 3.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d075f2b8fe2deb8579ce232104c2e497eb6aee6703b28f0288728b2f2622c23
4
- data.tar.gz: 580c94f146d2039d242cc0e02487bc771e12e0f9ac885d634ea4fc169c6e577b
3
+ metadata.gz: 4e8eed03eaeddf3765e1ac07f5038cd026bacbc7f86d63b286af4da186c7d04f
4
+ data.tar.gz: 17d90e2717897e2a021629b4414c475954ff0100c16b9d4db2526e8bd4ffc084
5
5
  SHA512:
6
- metadata.gz: d98b07c8fe8e0c13d290e50957c9f2f6f6d988173bc3dbe3a6f36bedf546531f85639d3fce637295eefb14d5c3726a77e3b91fd418b451080caae03399177df8
7
- data.tar.gz: 3cc3ab52cb741c020568fd55e82d496805b5a66b2d54ea6a9cf09917413099934f17bc6d69fce8b9ef431f7b0dde6662d27d9649d6ecd4330dce55fae932364d
6
+ metadata.gz: 94d36c2a7804887d9f974e26d55a2abbd8ade8e042126f5f6b7bbc586db0ff63fe6195feb8a51d5c610e8ffbc9274d76a886290f49af10ce0ff005d72758fb81
7
+ data.tar.gz: 0b3bfaf992cfebd919cdc526c52e5b3200cc70cc424bce51a197cc7915890e9b495904ce367cdb329df69b182c6928675d6872f9ce4e579d55cb2f9e5b53304d
data/History.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ### [Unreleased]
4
4
 
5
+ ### 3.4.0
6
+ - Check exclusive feature on #configure (#569)
7
+ - Modify FAQ for highly load k8s EFK stack (#566)
8
+ - Add FAQ for high load k8s EFK stack (#564)
9
+
5
10
  ### 3.3.3
6
11
  - Add unit test for exception message (#563)
7
12
  - Add ignore_exceptions config (#562)
data/README.md CHANGED
@@ -91,6 +91,7 @@ Current maintainers: @cosmo0920
91
91
  + [Declined logs are resubmitted forever, why?](#declined-logs-are-resubmitted-forever-why)
92
92
  + [Suggested to increase flush_thread_count, why?](#suggested-to-increase-flush_thread_count-why)
93
93
  + [Suggested to install typhoeus gem, why?](#suggested-to-install-typhoeus-gem-why)
94
+ + [Stopped to send events on k8s, why?](#stopped-to-send-events-on-k8s-why)
94
95
  * [Contact](#contact)
95
96
  * [Contributing](#contributing)
96
97
  * [Running tests](#running-tests)
@@ -1330,6 +1331,30 @@ td-agent-gem install typhoeus
1330
1331
 
1331
1332
  In more detail, please refer to [the official plugin management document](https://docs.fluentd.org/v1.0/articles/plugin-management).
1332
1333
 
1334
+ ### Stopped to send events on k8s, why?
1335
+
1336
+ fluent-plugin-elasticsearch reloads connection after 10000 requests. (Not correspond to events counts because ES plugin uses bulk API.)
1337
+
1338
+ This functionality which is originated from elasticsaearch-ruby gem is enabled by default.
1339
+
1340
+ Sometimes this reloading functionality bothers users to send events with ES plugin.
1341
+
1342
+ On k8s platform, users sometimes shall specify the following settings:
1343
+
1344
+ ```aconf
1345
+ reload_connections false
1346
+ reconnect_on_error true
1347
+ reload_on_failure true
1348
+ ```
1349
+
1350
+ If you use [fluentd-kubernetes-daemonset](https://github.com/fluent/fluentd-kubernetes-daemonset), you can specify them with environment variables:
1351
+
1352
+ * `FLUENT_ELASTICSEARCH_RELOAD_CONNECTIONS` as `false`
1353
+ * `FLUENT_ELASTICSEARCH_RECONNECT_ON_ERROR` as `true`
1354
+ * `FLUENT_ELASTICSEARCH_RELOAD_ON_FAILURE` as `true`
1355
+
1356
+ This issue had been reported at [#525](https://github.com/uken/fluent-plugin-elasticsearch/issues/525).
1357
+
1333
1358
  ## Contact
1334
1359
 
1335
1360
  If you have a question, [open an Issue](https://github.com/uken/fluent-plugin-elasticsearch/issues).
@@ -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 = '3.3.3'
6
+ s.version = '3.4.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}
@@ -176,6 +176,12 @@ EOC
176
176
 
177
177
  raise Fluent::ConfigError, "'max_retry_putting_template' must be positive number." if @max_retry_putting_template < 0
178
178
 
179
+ # Raise error when using host placeholders and template features at same time.
180
+ valid_host_placeholder = placeholder?(:host_placeholder, @host)
181
+ if valid_host_placeholder && (@template_name && @template_file || @templates)
182
+ raise Fluent::ConfigError, "host placeholder and template installation are exclusive features."
183
+ end
184
+
179
185
  if !Fluent::Engine.dry_run_mode
180
186
  if @template_name && @template_file
181
187
  retry_operate(@max_retry_putting_template) do
@@ -289,6 +295,15 @@ EOC
289
295
  end.compact
290
296
  end
291
297
 
298
+ def placeholder?(name, param)
299
+ begin
300
+ placeholder_validate!(name, param)
301
+ true
302
+ rescue Fluent::ConfigError
303
+ false
304
+ end
305
+ end
306
+
292
307
  def backend_options
293
308
  case @http_backend
294
309
  when :excon
@@ -659,6 +659,26 @@ class ElasticsearchOutput < Test::Unit::TestCase
659
659
  }
660
660
  end
661
661
 
662
+ def test_template_installation_exclusive_for_host_placeholder
663
+ cwd = File.dirname(__FILE__)
664
+ template_file = File.join(cwd, 'test_template.json')
665
+
666
+ config = %{
667
+ host logs-${tag}.google.com
668
+ port 777
669
+ scheme https
670
+ path /es/
671
+ user john
672
+ password doe
673
+ template_name logstash
674
+ template_file #{template_file}
675
+ }
676
+
677
+ assert_raise(Fluent::ConfigError) do
678
+ driver(config)
679
+ end
680
+ end
681
+
662
682
  def test_template_retry_install
663
683
  cwd = File.dirname(__FILE__)
664
684
  template_file = File.join(cwd, 'test_template.json')
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: 3.3.3
4
+ version: 3.4.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: 2019-03-20 00:00:00.000000000 Z
12
+ date: 2019-03-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd