logstash-output-elasticsearch 10.7.0-java → 10.8.3-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README.md +1 -1
  5. data/docs/index.asciidoc +226 -153
  6. data/lib/logstash/outputs/elasticsearch.rb +302 -165
  7. data/lib/logstash/outputs/elasticsearch/http_client.rb +7 -2
  8. data/lib/logstash/outputs/elasticsearch/http_client/pool.rb +13 -28
  9. data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +1 -0
  10. data/lib/logstash/outputs/elasticsearch/ilm.rb +9 -5
  11. data/lib/logstash/outputs/elasticsearch/license_checker.rb +47 -0
  12. data/lib/logstash/outputs/elasticsearch/template_manager.rb +8 -3
  13. data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-8x.json +39 -33
  14. data/lib/logstash/plugin_mixins/elasticsearch/api_configs.rb +163 -0
  15. data/lib/logstash/{outputs → plugin_mixins}/elasticsearch/common.rb +40 -167
  16. data/lib/logstash/plugin_mixins/elasticsearch/noop_license_checker.rb +9 -0
  17. data/logstash-output-elasticsearch.gemspec +1 -1
  18. data/spec/es_spec_helper.rb +32 -12
  19. data/spec/fixtures/template-with-policy-es8x.json +50 -0
  20. data/spec/integration/outputs/ilm_spec.rb +34 -20
  21. data/spec/integration/outputs/metrics_spec.rb +1 -5
  22. data/spec/integration/outputs/retry_spec.rb +14 -2
  23. data/spec/unit/outputs/elasticsearch/http_client/pool_spec.rb +45 -5
  24. data/spec/unit/outputs/elasticsearch/http_client_spec.rb +22 -0
  25. data/spec/unit/outputs/elasticsearch/template_manager_spec.rb +31 -0
  26. data/spec/unit/outputs/elasticsearch_spec.rb +2 -2
  27. data/spec/unit/outputs/license_check_spec.rb +41 -0
  28. metadata +10 -4
  29. data/lib/logstash/outputs/elasticsearch/common_configs.rb +0 -167
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 311303e9bfc0369329af5ec4da290d92e428bddee2e022fb1f22967fb1f1d6d9
4
- data.tar.gz: c88b0816b49bd5f5ab232156340f946b674e70a62b86f8a1c4c25ed985840c6e
3
+ metadata.gz: 4e7c81c4ce31203196fe4f6c377ea7785cc737b72aaa12abcd9afa7c625a7f72
4
+ data.tar.gz: 77257a5df5d92a5d06a75428e525fc9857123ed72e295b405dce451be27954b7
5
5
  SHA512:
6
- metadata.gz: 7d9910d4f28a864ac45450cd2be179268d8b83c91f8dab57328e6c772b06a39d7d8aa3fa7c34cddcd45a185bc994da2f2b46ee3b29bf2dc219a3189b6e995b30
7
- data.tar.gz: de41059508b3f06466446d3a183d4959cdaaacffb00492d917acc57824b4864a694c5834c8e210d8d277ae186c146d6bf3c6b9ab0c0cd1ab73bc7f95a6f4e871
6
+ metadata.gz: 5c1dc510523d80daee4de75bf4c06b8eba9c0e76938b23aa109ce039e3ed6d74bdfe01fad435d4c8c18f07f0099e58ef5ea8dbb2013109dfec61c754c47df6fa
7
+ data.tar.gz: 6bbedbb413d9149ba205b77bff647b09a69bfb8ce2abb3396e81cb1d2e45a6ae6e8f21be3eeb86306e83c85d8a7a542b7e8ab3ff918178ace885a49ce94fc9b9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## 10.8.3
2
+ - Avoid to implicitly set deprecated type to `_doc` when connects to Elasticsearch version 7.x [#994](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/994)
3
+
4
+ ## 10.8.2
5
+ - [DOC] Update links to use shared attributes [#985](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/985)
6
+
7
+ ## 10.8.1
8
+ - Fixed an issue when assigning the no-op license checker [#984](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/984)
9
+
10
+ ## 10.8.0
11
+ - Refactored configuration options into specific and shared in PluginMixins namespace [#973](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/973)
12
+ - Refactored common methods into specific and shared in PluginMixins namespace [#976](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/976)
13
+
14
+ ## 10.7.3
15
+ - Added composable index template support for elasticsearch version 8 [#980](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/980)
16
+
17
+ ## 10.7.2
18
+ - [DOC] Fixed links to restructured Logstash-to-cloud docs [#975](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/975)
19
+
20
+ ## 10.7.1
21
+ - [DOC] Document the permissions required in secured clusters [#969](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/969)
22
+
1
23
  ## 10.7.0
2
24
  - Changed: don't set the pipeline parameter if the value resolves to an empty string [#962](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/962)
3
25
 
data/CONTRIBUTORS CHANGED
@@ -26,6 +26,7 @@ Contributors:
26
26
  * Tom Hodder (tolland)
27
27
  * jimmyjones2
28
28
  * Gabriel Moskovicz (gmoskovicz)
29
+ * Luca Belluccini (lucabelluccini)
29
30
 
30
31
  Note: If you've sent us patches, bug reports, or otherwise contributed to
31
32
  Logstash, and you aren't on the list above and want to be, please let us know
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Logstash Plugin
2
2
 
3
- [![Travis Build Status](https://travis-ci.org/logstash-plugins/logstash-output-elasticsearch.svg)](https://travis-ci.org/logstash-plugins/logstash-output-elasticsearch)
3
+ [![Travis Build Status](https://travis-ci.com/logstash-plugins/logstash-output-elasticsearch.svg)](https://travis-ci.com/logstash-plugins/logstash-output-elasticsearch)
4
4
 
5
5
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
6
6
 
data/docs/index.asciidoc CHANGED
@@ -23,24 +23,25 @@ include::{include_path}/plugin_header.asciidoc[]
23
23
 
24
24
  If you plan to use the Kibana web interface to analyze data transformed by
25
25
  Logstash, use the Elasticsearch output plugin to get your data into
26
- Elasticsearch.
26
+ Elasticsearch.
27
27
 
28
28
  This output only speaks the HTTP protocol as it is the preferred protocol for
29
29
  interacting with Elasticsearch. In previous versions it was possible to
30
30
  communicate with Elasticsearch through the transport protocol, which is now
31
31
  reserved for internal cluster communication between nodes
32
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html[communication between nodes].
33
- Using the https://www.elastic.co/guide/en/elasticsearch/reference/current/java-clients.html[transport protocol]
34
- to communicate with the cluster has been deprecated in Elasticsearch 7.0.0 and
35
- will be removed in 8.0.0
32
+ {ref}/modules-transport.html[communication between nodes].
33
+ Using the transport protocol to communicate with the cluster has been deprecated
34
+ in Elasticsearch 7.0.0 and will be removed in 8.0.0
36
35
 
37
- You can learn more about Elasticsearch at <https://www.elastic.co/products/elasticsearch>
36
+ You can https://www.elastic.co/elasticsearch/[learn more about Elasticsearch] on
37
+ the website landing page or in the {ref}[Elasticsearch documentation].
38
38
 
39
39
  .Compatibility Note
40
40
  [NOTE]
41
41
  ================================================================================
42
42
  When connected to Elasticsearch 7.x, modern versions of this plugin
43
- use the required `_doc` document-type when inserting documents.
43
+ don't use the document-type when inserting documents, unless the user
44
+ explicitly sets <<plugins-{type}s-{plugin}-document_type>>.
44
45
 
45
46
  If you are using an earlier version of Logstash and wish to connect to
46
47
  Elasticsearch 7.x, first upgrade Logstash to version 6.8 to ensure it
@@ -53,10 +54,7 @@ connecting to Elasticsearch 7.x.
53
54
 
54
55
  ===== Hosted {es} Service on Elastic Cloud
55
56
 
56
- You can run Elasticsearch on your own hardware, or use our
57
- https://www.elastic.co/cloud/elasticsearch-service[hosted {es} Service] on
58
- Elastic Cloud. The Elasticsearch Service is available on AWS, Google Cloud
59
- Platform, and Microsoft Azure. {ess-trial}[Try the {es} Service for free].
57
+ {ess-leadin}
60
58
 
61
59
  ==== Compatibility with the Elastic Common Schema (ECS)
62
60
 
@@ -76,7 +74,7 @@ and will correctly reject events with fields that conflict and cannot be coerced
76
74
 
77
75
  [NOTE]
78
76
  ================================================================================
79
- You cannot use dynamic variable substitution when `ilm_enabled` is `true` and
77
+ You cannot use dynamic variable substitution when `ilm_enabled` is `true` and
80
78
  when using `ilm_rollover_alias`.
81
79
 
82
80
  ================================================================================
@@ -91,7 +89,10 @@ Each Elasticsearch output is a new client connected to the cluster:
91
89
  * it has to initialize the client and connect to Elasticsearch (restart time is longer if you have more clients)
92
90
  * it has an associated connection pool
93
91
 
94
- In order to minimize the number of open connections to Elasticsearch, maximize the bulk size and reduce the number of "small" bulk requests (which could easily fill up the queue), it is usually more efficient to have a single Elasticsearch output.
92
+ In order to minimize the number of open connections to Elasticsearch, maximize
93
+ the bulk size and reduce the number of "small" bulk requests (which could easily
94
+ fill up the queue), it is usually more efficient to have a single Elasticsearch
95
+ output.
95
96
 
96
97
  Example:
97
98
  [source,ruby]
@@ -100,11 +101,13 @@ Example:
100
101
  index => "%{[some_field][sub_field]}-%{+YYYY.MM.dd}"
101
102
  }
102
103
  }
103
-
104
+
104
105
  **What to do in case there is no field in the event containing the destination index prefix?**
105
106
 
106
- You can use the `mutate` filter and conditionals to add a `[@metadata]` field (see https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html#metadata) to set
107
- the destination index for each event. The `[@metadata]` fields will not be sent to Elasticsearch.
107
+ You can use the `mutate` filter and conditionals to add a
108
+ {logstash-ref}/event-dependent-configuration.html#metadata[`[@metadata]` field]
109
+ to set the destination index for each event. The `[@metadata]` fields will not
110
+ be sent to Elasticsearch.
108
111
 
109
112
  Example:
110
113
  [source,ruby]
@@ -136,7 +139,7 @@ HTTP requests to the bulk API are expected to return a 200 response code. All ot
136
139
  The following document errors are handled as follows:
137
140
 
138
141
  * 400 and 404 errors are sent to the dead letter queue (DLQ), if enabled. If a DLQ is not enabled, a log message will be emitted, and the event will be dropped. See <<plugins-{type}s-{plugin}-dlq-policy>> for more info.
139
- * 409 errors (conflict) are logged as a warning and dropped.
142
+ * 409 errors (conflict) are logged as a warning and dropped.
140
143
 
141
144
  Note that 409 exceptions are no longer retried. Please set a higher `retry_on_conflict` value if you experience 409 exceptions.
142
145
  It is more performant for Elasticsearch to retry these exceptions than this plugin.
@@ -156,30 +159,37 @@ happens, the problem is logged as a warning, and the event is dropped. See
156
159
  [id="plugins-{type}s-{plugin}-ilm"]
157
160
  ==== Index Lifecycle Management
158
161
 
159
-
160
162
  [NOTE]
161
163
  The Index Lifecycle Management feature requires plugin version `9.3.1` or higher.
162
164
 
163
165
  [NOTE]
164
166
  This feature requires an Elasticsearch instance of 6.6.0 or higher with at least a Basic license
165
167
 
166
- Logstash can use {ref}/index-lifecycle-management.html[Index Lifecycle Management] to automate the management of indices over time.
168
+ Logstash can use {ref}/index-lifecycle-management.html[Index Lifecycle
169
+ Management] to automate the management of indices over time.
167
170
 
168
171
  The use of Index Lifecycle Management is controlled by the `ilm_enabled`
169
172
  setting. By default, this setting detects whether the Elasticsearch instance
170
173
  supports ILM, and uses it if it is available. `ilm_enabled` can also be set to
171
174
  `true` or `false` to override the automatic detection, or disable ILM.
172
175
 
173
- This will overwrite the index settings and adjust the Logstash template to write the necessary settings for the template
174
- to support index lifecycle management, including the index policy and rollover alias to be used.
176
+ This will overwrite the index settings and adjust the Logstash template to write
177
+ the necessary settings for the template to support index lifecycle management,
178
+ including the index policy and rollover alias to be used.
175
179
 
176
- Logstash will create a rollover alias for the indices to be written to, including a pattern for how the actual indices will be named, and unless an ILM policy that already exists has been specified,
177
- a default policy will also be created. The default policy is configured to rollover an index when it reaches either 50 gigabytes in size, or is 30 days old, whichever happens first.
180
+ Logstash will create a rollover alias for the indices to be written to,
181
+ including a pattern for how the actual indices will be named, and unless an ILM
182
+ policy that already exists has been specified, a default policy will also be
183
+ created. The default policy is configured to rollover an index when it reaches
184
+ either 50 gigabytes in size, or is 30 days old, whichever happens first.
178
185
 
179
- The default rollover alias is called `logstash`, with a default pattern for the rollover index of `{now/d}-00001`,
180
- which will name indices on the date that the index is rolled over, followed by an incrementing number. Note that the pattern must end with a dash and a number that will be incremented.
186
+ The default rollover alias is called `logstash`, with a default pattern for the
187
+ rollover index of `{now/d}-00001`, which will name indices on the date that the
188
+ index is rolled over, followed by an incrementing number. Note that the pattern
189
+ must end with a dash and a number that will be incremented.
181
190
 
182
- See the {ref}/indices-rollover-index.html#_using_date_math_with_the_rollover_api[Rollover API documentation] for more details on naming.
191
+ See the {ref}/indices-rollover-index.html#_using_date_math_with_the_rollover_api[Rollover
192
+ API documentation] for more details on naming.
183
193
 
184
194
  The rollover alias, ilm pattern and policy can be modified.
185
195
 
@@ -195,19 +205,24 @@ See config below for an example:
195
205
 
196
206
  NOTE: Custom ILM policies must already exist on the Elasticsearch cluster before they can be used.
197
207
 
198
- NOTE: If the rollover alias or pattern is modified, the index template will need to be overwritten as the settings `index.lifecycle.name` and `index.lifecycle.rollover_alias` are automatically written to the template
208
+ NOTE: If the rollover alias or pattern is modified, the index template will need to be
209
+ overwritten as the settings `index.lifecycle.name` and
210
+ `index.lifecycle.rollover_alias` are automatically written to the template
199
211
 
200
212
  NOTE: If the index property is supplied in the output definition, it will be overwritten by the rollover alias.
201
213
 
202
214
 
203
215
  ==== Batch Sizes
204
216
 
205
- This plugin attempts to send batches of events as a single request. However, if
206
- a request exceeds 20MB we will break it up into multiple batch requests. If a single document exceeds 20MB it will be sent as a single request.
217
+ This plugin attempts to send batches of events to the {ref}/docs-bulk.html[{es}
218
+ Bulk API] as a single request. However, if a batch exceeds 20MB we break it up
219
+ into multiple bulk requests. If a single document exceeds 20MB it is sent as a
220
+ single request.
207
221
 
208
222
  ==== DNS Caching
209
223
 
210
- This plugin uses the JVM to lookup DNS entries and is subject to the value of https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html[networkaddress.cache.ttl],
224
+ This plugin uses the JVM to lookup DNS entries and is subject to the value of
225
+ https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html[networkaddress.cache.ttl],
211
226
  a global setting for the JVM.
212
227
 
213
228
  As an example, to set your DNS TTL to 1 second you would set
@@ -219,12 +234,11 @@ not reevaluate its DNS value while the keepalive is in effect.
219
234
  ==== HTTP Compression
220
235
 
221
236
  This plugin supports request and response compression. Response compression is
222
- enabled by default for HTTP and for Elasticsearch versions 5.0 and later.
237
+ enabled by default for HTTP and for Elasticsearch versions 5.0 and later.
223
238
 
224
239
  You don't have to set any configs in Elasticsearch for it to send back a
225
240
  compressed response. For versions before 5.0, or if HTTPS is enabled,
226
- `http.compression` must be set to `true`
227
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#modules-http[in
241
+ `http.compression` must be set to `true` {ref}/modules-http.html#modules-http[in
228
242
  Elasticsearch] to take advantage of response compression when using this plugin.
229
243
 
230
244
  For requests compression, regardless of the Elasticsearch version, enable the
@@ -232,12 +246,23 @@ For requests compression, regardless of the Elasticsearch version, enable the
232
246
 
233
247
  ==== Authentication
234
248
 
235
- Authentication to a secure Elasticsearch cluster is possible using one of the `user`/`password`, `cloud_auth` or `api_key` options.
249
+ Authentication to a secure Elasticsearch cluster is possible using one of the
250
+ `user`/`password`, `cloud_auth` or `api_key` options.
251
+
252
+ [id="plugins-{type}s-{plugin}-autz"]
253
+ ==== Authorization
254
+
255
+ Authorization to a secure Elasticsearch cluster requires `read` permission at
256
+ index level and `monitoring` permissions at cluster level. The `monitoring`
257
+ permission at cluster level is necessary to perform periodic connectivity
258
+ checks.
259
+
236
260
 
237
261
  [id="plugins-{type}s-{plugin}-options"]
238
262
  ==== Elasticsearch Output Configuration Options
239
263
 
240
- This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
264
+ This plugin supports the following configuration options plus the
265
+ <<plugins-{type}s-{plugin}-common-options>> described later.
241
266
 
242
267
  [cols="<,<,<",options="header",]
243
268
  |=======================================================================
@@ -307,7 +332,7 @@ output plugins.
307
332
  &nbsp;
308
333
 
309
334
  [id="plugins-{type}s-{plugin}-action"]
310
- ===== `action`
335
+ ===== `action`
311
336
 
312
337
  * Value type is <<string,string>>
313
338
  * Default value is `"index"`
@@ -325,7 +350,8 @@ The Elasticsearch action to perform. Valid actions are:
325
350
  - A sprintf style string to change the action based on the content of the event. The value `%{[foo]}`
326
351
  would use the foo field for the action
327
352
 
328
- For more details on actions, check out the http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html[Elasticsearch bulk API documentation]
353
+ For more details on actions, check out the {ref}/docs-bulk.html[Elasticsearch
354
+ bulk API documentation].
329
355
 
330
356
  [id="plugins-{type}s-{plugin}-api_key"]
331
357
  ===== `api_key`
@@ -333,12 +359,14 @@ For more details on actions, check out the http://www.elastic.co/guide/en/elasti
333
359
  * Value type is <<password,password>>
334
360
  * There is no default value for this setting.
335
361
 
336
- Authenticate using Elasticsearch API key. Note that this option also requires enabling the `ssl` option.
362
+ Authenticate using Elasticsearch API key. Note that this option also requires
363
+ enabling the `ssl` option.
337
364
 
338
- Format is `id:api_key` where `id` and `api_key` are as returned by the Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html[Create API key API].
365
+ Format is `id:api_key` where `id` and `api_key` are as returned by the
366
+ Elasticsearch {ref}/security-api-create-api-key.html[Create API key API].
339
367
 
340
368
  [id="plugins-{type}s-{plugin}-bulk_path"]
341
- ===== `bulk_path`
369
+ ===== `bulk_path`
342
370
 
343
371
  * Value type is <<string,string>>
344
372
  * There is no default value for this setting.
@@ -347,12 +375,12 @@ HTTP Path to perform the _bulk requests to
347
375
  this defaults to a concatenation of the path parameter and "_bulk"
348
376
 
349
377
  [id="plugins-{type}s-{plugin}-cacert"]
350
- ===== `cacert`
378
+ ===== `cacert`
351
379
 
352
380
  * Value type is <<path,path>>
353
381
  * There is no default value for this setting.
354
382
 
355
- The .cer or .pem file to validate the server's certificate
383
+ The .cer or .pem file to validate the server's certificate.
356
384
 
357
385
  [id="plugins-{type}s-{plugin}-cloud_auth"]
358
386
  ===== `cloud_auth`
@@ -360,9 +388,11 @@ The .cer or .pem file to validate the server's certificate
360
388
  * Value type is <<password,password>>
361
389
  * There is no default value for this setting.
362
390
 
363
- Cloud authentication string ("<username>:<password>" format) is an alternative for the `user`/`password` pair.
391
+ Cloud authentication string ("<username>:<password>" format) is an alternative
392
+ for the `user`/`password` pair.
364
393
 
365
- For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html#_cloud_auth[Logstash-to-Cloud documentation]
394
+ For more details, check out the
395
+ {logstash-ref}/connecting-to-cloud.html[Logstash-to-Cloud documentation].
366
396
 
367
397
  [id="plugins-{type}s-{plugin}-cloud_id"]
368
398
  ===== `cloud_id`
@@ -372,34 +402,38 @@ For more details, check out the https://www.elastic.co/guide/en/logstash/current
372
402
 
373
403
  Cloud ID, from the Elastic Cloud web console. If set `hosts` should not be used.
374
404
 
375
- For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html#_cloud_id[Logstash-to-Cloud documentation]
405
+ For more details, check out the
406
+ {logstash-ref}/connecting-to-cloud.html[Logstash-to-Cloud documentation].
376
407
 
377
408
  [id="plugins-{type}s-{plugin}-doc_as_upsert"]
378
- ===== `doc_as_upsert`
409
+ ===== `doc_as_upsert`
379
410
 
380
411
  * Value type is <<boolean,boolean>>
381
412
  * Default value is `false`
382
413
 
383
414
  Enable `doc_as_upsert` for update mode.
384
- Create a new document with source if `document_id` doesn't exist in Elasticsearch
415
+ Create a new document with source if `document_id` doesn't exist in Elasticsearch.
385
416
 
386
417
  [id="plugins-{type}s-{plugin}-document_id"]
387
- ===== `document_id`
418
+ ===== `document_id`
388
419
 
389
420
  * Value type is <<string,string>>
390
421
  * There is no default value for this setting.
391
422
 
392
- The document ID for the index. Useful for overwriting existing entries in Elasticsearch with the same ID.
423
+ The document ID for the index. Useful for overwriting existing entries in
424
+ Elasticsearch with the same ID.
393
425
 
394
426
  [id="plugins-{type}s-{plugin}-document_type"]
395
- ===== `document_type`
427
+ ===== `document_type`
396
428
 
397
429
  * Value type is <<string,string>>
398
430
  * There is no default value for this setting.
399
431
  * This option is deprecated
400
432
 
401
- NOTE: This option is deprecated due to the https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html[removal of types in Elasticsearch 6.0].
402
- It will be removed in the next major version of Logstash.
433
+ NOTE: This option is deprecated due to the
434
+ https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html[removal
435
+ of types in Elasticsearch 6.0]. It will be removed in the next major version of
436
+ Logstash.
403
437
 
404
438
  NOTE: This value is ignored and has no effect for Elasticsearch clusters `8.x`.
405
439
 
@@ -423,16 +457,17 @@ If you don't set a value for this option:
423
457
  ** When Logstash provides a `pipeline.ecs_compatibility` setting, its value is used as the default
424
458
  ** Otherwise, the default value is `disabled`.
425
459
 
426
- Controls this plugin's compatibility with the https://www.elastic.co/guide/en/ecs/current/index.html[Elastic Common Schema (ECS)],
427
- including the installation of ECS-compatible index templates.
428
- The value of this setting affects the _default_ values of:
460
+ Controls this plugin's compatibility with the
461
+ https://www.elastic.co/guide/en/ecs/current/index.html[Elastic Common Schema
462
+ (ECS)], including the installation of ECS-compatible index templates. The value
463
+ of this setting affects the _default_ values of:
429
464
 
430
465
  * <<plugins-{type}s-{plugin}-index>>
431
466
  * <<plugins-{type}s-{plugin}-template_name>>
432
467
  * <<plugins-{type}s-{plugin}-ilm_rollover_alias>>
433
468
 
434
469
  [id="plugins-{type}s-{plugin}-failure_type_logging_whitelist"]
435
- ===== `failure_type_logging_whitelist`
470
+ ===== `failure_type_logging_whitelist`
436
471
 
437
472
  * Value type is <<array,array>>
438
473
  * Default value is `[]`
@@ -453,7 +488,7 @@ an elasticsearch node. The headers will be used for any kind of request
453
488
  These custom headers will be overidden by settings like `http_compression`.
454
489
 
455
490
  [id="plugins-{type}s-{plugin}-healthcheck_path"]
456
- ===== `healthcheck_path`
491
+ ===== `healthcheck_path`
457
492
 
458
493
  * Value type is <<string,string>>
459
494
  * There is no default value for this setting.
@@ -464,13 +499,15 @@ before it is once again eligible to service requests.
464
499
  If you have custom firewall rules you may need to change this
465
500
 
466
501
  [id="plugins-{type}s-{plugin}-hosts"]
467
- ===== `hosts`
502
+ ===== `hosts`
468
503
 
469
504
  * Value type is <<uri,uri>>
470
505
  * Default value is `[//127.0.0.1]`
471
506
 
472
- Sets the host(s) of the remote instance. If given an array it will load balance requests across the hosts specified in the `hosts` parameter.
473
- Remember the `http` protocol uses the http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#modules-http[http] address (eg. 9200, not 9300).
507
+ Sets the host(s) of the remote instance. If given an array it will load balance
508
+ requests across the hosts specified in the `hosts` parameter. Remember the
509
+ `http` protocol uses the {ref}/modules-http.html#modules-http[http] address (eg.
510
+ 9200, not 9300).
474
511
 
475
512
  Examples:
476
513
 
@@ -480,18 +517,21 @@ Examples:
480
517
  `["https://127.0.0.1:9200"]`
481
518
  `["https://127.0.0.1:9200/mypath"]` (If using a proxy on a subpath)
482
519
 
483
- It is important to exclude http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html[dedicated master nodes] from the `hosts` list
484
- to prevent LS from sending bulk requests to the master nodes. So this parameter should only reference either data or client nodes in Elasticsearch.
520
+ Exclude {ref}/modules-node.html[dedicated master nodes] from the `hosts` list to
521
+ prevent Logstash from sending bulk requests to the master nodes. This parameter
522
+ should reference only data or client nodes in Elasticsearch.
485
523
 
486
- Any special characters present in the URLs here MUST be URL escaped! This means `#` should be put in as `%23` for instance.
524
+ Any special characters present in the URLs here MUST be URL escaped! This means
525
+ `#` should be put in as `%23` for instance.
487
526
 
488
527
  [id="plugins-{type}s-{plugin}-http_compression"]
489
- ===== `http_compression`
528
+ ===== `http_compression`
490
529
 
491
530
  * Value type is <<boolean,boolean>>
492
531
  * Default value is `false`
493
532
 
494
- Enable gzip compression on requests. Note that response compression is on by default for Elasticsearch v5.0 and beyond
533
+ Enable gzip compression on requests. Note that response compression is on by
534
+ default for Elasticsearch v5.0 and beyond
495
535
 
496
536
  [id="plugins-{type}s-{plugin}-ilm_enabled"]
497
537
  ===== `ilm_enabled`
@@ -499,14 +539,19 @@ Enable gzip compression on requests. Note that response compression is on by def
499
539
  * Value can be any of: `true`, `false`, `auto`
500
540
  * Default value is `auto`
501
541
 
502
- The default setting of `auto` will automatically enable the Index Lifecycle Management feature, if the Elasticsearch
503
- cluster is running Elasticsearch version `7.0.0` or higher with the ILM feature enabled, and disable it otherwise.
542
+ The default setting of `auto` will automatically enable
543
+ {ref}/index-lifecycle-management.html[Index Lifecycle Management], if the
544
+ Elasticsearch cluster is running Elasticsearch version `7.0.0` or higher with
545
+ the ILM feature enabled, and disable it otherwise.
504
546
 
505
- Setting this flag to `false` will disable the Index Lifecycle Management feature, even if the Elasticsearch cluster supports ILM.
506
- Setting this flag to `true` will enable Index Lifecycle Management feature, if the Elasticsearch cluster supports it. This is required
507
- to enable Index Lifecycle Management on a version of Elasticsearch earlier than version `7.0.0`.
547
+ Setting this flag to `false` will disable the Index Lifecycle Management
548
+ feature, even if the Elasticsearch cluster supports ILM.
549
+ Setting this flag to `true` will enable Index Lifecycle Management feature, if
550
+ the Elasticsearch cluster supports it. This is required to enable Index
551
+ Lifecycle Management on a version of Elasticsearch earlier than version `7.0.0`.
508
552
 
509
- NOTE: This feature requires a Basic License or above to be installed on an Elasticsearch cluster version 6.6.0 or later
553
+ NOTE: This feature requires a Basic License or above to be installed on an
554
+ Elasticsearch cluster version 6.6.0 or later.
510
555
 
511
556
  [id="plugins-{type}s-{plugin}-ilm_pattern"]
512
557
  ===== `ilm_pattern`
@@ -514,14 +559,24 @@ NOTE: This feature requires a Basic License or above to be installed on an Elast
514
559
  * Value type is <<string,string>>
515
560
  * Default value is `{now/d}-000001`
516
561
 
517
- Pattern used for generating indices managed by Index Lifecycle Management. The value specified in the pattern will be appended to
518
- the write alias, and incremented automatically when a new index is created by ILM.
562
+ Pattern used for generating indices managed by
563
+ {ref}/index-lifecycle-management.html[Index Lifecycle Management]. The value
564
+ specified in the pattern will be appended to the write alias, and incremented
565
+ automatically when a new index is created by ILM.
519
566
 
520
- Date Math can be used when specifying an ilm pattern, see {ref}/indices-rollover-index.html#_using_date_math_with_the_rollover_api[Rollover API docs] for details
567
+ Date Math can be used when specifying an ilm pattern, see
568
+ {ref}/indices-rollover-index.html#_using_date_math_with_the_rollover_api[Rollover
569
+ API docs] for details.
521
570
 
522
- NOTE: Updating the pattern will require the index template to be rewritten
571
+ NOTE: Updating the pattern will require the index template to be rewritten.
523
572
 
524
- NOTE: The pattern must finish with a dash and a number that will be automatically incremented when indices rollover.
573
+ NOTE: The pattern must finish with a dash and a number that will be automatically
574
+ incremented when indices rollover.
575
+
576
+ NOTE: The pattern is a 6-digit string padded by zeros, regardless of prior index name.
577
+ Example: 000001. See
578
+ {ref}/indices-rollover-index.html#rollover-index-api-path-params[Rollover path
579
+ parameters API docs] for details.
525
580
 
526
581
  [id="plugins-{type}s-{plugin}-ilm_policy"]
527
582
  ===== `ilm_policy`
@@ -529,10 +584,12 @@ NOTE: The pattern must finish with a dash and a number that will be automaticall
529
584
  * Value type is <<string,string>>
530
585
  * Default value is `logstash-policy`
531
586
 
532
- Modify this setting to use a custom Index Lifecycle Management policy, rather than the default. If this value is not set, the default policy will
533
- be automatically installed into Elasticsearch
587
+ Modify this setting to use a custom Index Lifecycle Management policy, rather
588
+ than the default. If this value is not set, the default policy will be
589
+ automatically installed into Elasticsearch
534
590
 
535
- NOTE: If this setting is specified, the policy must already exist in Elasticsearch cluster.
591
+ NOTE: If this setting is specified, the policy must already exist in Elasticsearch
592
+ cluster.
536
593
 
537
594
  [id="plugins-{type}s-{plugin}-ilm_rollover_alias"]
538
595
  ===== `ilm_rollover_alias`
@@ -542,16 +599,20 @@ NOTE: If this setting is specified, the policy must already exist in Elasticsear
542
599
  ** ECS Compatibility disabled: `logstash`
543
600
  ** ECS Compatibility enabled: `ecs-logstash`
544
601
 
545
- The rollover alias is the alias where indices managed using Index Lifecycle Management will be written to.
602
+ The rollover alias is the alias where indices managed using Index Lifecycle
603
+ Management will be written to.
546
604
 
547
- NOTE: If both `index` and `ilm_rollover_alias` are specified, `ilm_rollover_alias` takes precedence.
605
+ NOTE: If both `index` and `ilm_rollover_alias` are specified,
606
+ `ilm_rollover_alias` takes precedence.
548
607
 
549
- NOTE: Updating the rollover alias will require the index template to be rewritten
608
+ NOTE: Updating the rollover alias will require the index template to be
609
+ rewritten.
550
610
 
551
- NOTE: `ilm_rollover_alias` does NOT support dynamic variable substitution as `index` does.
611
+ NOTE: `ilm_rollover_alias` does NOT support dynamic variable substitution as
612
+ `index` does.
552
613
 
553
614
  [id="plugins-{type}s-{plugin}-index"]
554
- ===== `index`
615
+ ===== `index`
555
616
 
556
617
  * Value type is <<string,string>>
557
618
  * Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
@@ -563,11 +624,13 @@ The default value will partition your indices by day so you can more easily
563
624
  delete old data or only search specific date ranges.
564
625
  Indexes may not contain uppercase characters.
565
626
  For weekly indexes ISO 8601 format is recommended, eg. logstash-%{+xxxx.ww}.
566
- LS uses Joda to format the index pattern from event timestamp.
567
- Joda formats are defined http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html[here].
627
+ Logstash uses
628
+ http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html[Joda
629
+ formats] for the index pattern from event timestamp.
630
+
568
631
 
569
632
  [id="plugins-{type}s-{plugin}-keystore"]
570
- ===== `keystore`
633
+ ===== `keystore`
571
634
 
572
635
  * Value type is <<path,path>>
573
636
  * There is no default value for this setting.
@@ -576,7 +639,7 @@ The keystore used to present a certificate to the server.
576
639
  It can be either .jks or .p12
577
640
 
578
641
  [id="plugins-{type}s-{plugin}-keystore_password"]
579
- ===== `keystore_password`
642
+ ===== `keystore_password`
580
643
 
581
644
  * Value type is <<password,password>>
582
645
  * There is no default value for this setting.
@@ -584,7 +647,7 @@ It can be either .jks or .p12
584
647
  Set the keystore password
585
648
 
586
649
  [id="plugins-{type}s-{plugin}-manage_template"]
587
- ===== `manage_template`
650
+ ===== `manage_template`
588
651
 
589
652
  * Value type is <<boolean,boolean>>
590
653
  * Default value is `true`
@@ -604,7 +667,7 @@ field names) you should set `manage_template` to false and use the REST
604
667
  API to apply your templates manually.
605
668
 
606
669
  [id="plugins-{type}s-{plugin}-parameters"]
607
- ===== `parameters`
670
+ ===== `parameters`
608
671
 
609
672
  * Value type is <<hash,hash>>
610
673
  * There is no default value for this setting.
@@ -614,7 +677,7 @@ to every host listed in the 'hosts' configuration. If the 'hosts' list contains
614
677
  urls that already have query strings, the one specified here will be appended.
615
678
 
616
679
  [id="plugins-{type}s-{plugin}-parent"]
617
- ===== `parent`
680
+ ===== `parent`
618
681
 
619
682
  * Value type is <<string,string>>
620
683
  * Default value is `nil`
@@ -623,7 +686,7 @@ For child documents, ID of the associated parent.
623
686
  This can be dynamic using the `%{foo}` syntax.
624
687
 
625
688
  [id="plugins-{type}s-{plugin}-password"]
626
- ===== `password`
689
+ ===== `password`
627
690
 
628
691
  * Value type is <<password,password>>
629
692
  * There is no default value for this setting.
@@ -631,27 +694,30 @@ This can be dynamic using the `%{foo}` syntax.
631
694
  Password to authenticate to a secure Elasticsearch cluster
632
695
 
633
696
  [id="plugins-{type}s-{plugin}-path"]
634
- ===== `path`
697
+ ===== `path`
635
698
 
636
699
  * Value type is <<string,string>>
637
700
  * There is no default value for this setting.
638
701
 
639
- HTTP Path at which the Elasticsearch server lives. Use this if you must run Elasticsearch behind a proxy that remaps
640
- the root path for the Elasticsearch HTTP API lives.
702
+ HTTP Path at which the Elasticsearch server lives. Use this if you must run
703
+ Elasticsearch behind a proxy that remaps the root path for the Elasticsearch
704
+ HTTP API lives.
641
705
  Note that if you use paths as components of URLs in the 'hosts' field you may
642
706
  not also set this field. That will raise an error at startup
643
707
 
644
708
  [id="plugins-{type}s-{plugin}-pipeline"]
645
- ===== `pipeline`
709
+ ===== `pipeline`
646
710
 
647
711
  * Value type is <<string,string>>
648
712
  * Default value is `nil`
649
713
 
650
- Set which ingest pipeline you wish to execute for an event. You can also use event dependent configuration here
651
- like `pipeline => "%{[@metadata][pipeline]}"`. The pipeline parameter won't be set if the value resolves to empty string ("").
714
+ Set which ingest pipeline you wish to execute for an event. You can also use
715
+ event dependent configuration here like `pipeline =>
716
+ "%{[@metadata][pipeline]}"`. The pipeline parameter won't be set if the value
717
+ resolves to empty string ("").
652
718
 
653
719
  [id="plugins-{type}s-{plugin}-pool_max"]
654
- ===== `pool_max`
720
+ ===== `pool_max`
655
721
 
656
722
  * Value type is <<number,number>>
657
723
  * Default value is `1000`
@@ -662,7 +728,7 @@ Setting this too low may mean frequently closing / opening connections
662
728
  which is bad.
663
729
 
664
730
  [id="plugins-{type}s-{plugin}-pool_max_per_route"]
665
- ===== `pool_max_per_route`
731
+ ===== `pool_max_per_route`
666
732
 
667
733
  * Value type is <<number,number>>
668
734
  * Default value is `100`
@@ -673,7 +739,7 @@ Setting this too low may mean frequently closing / opening connections
673
739
  which is bad.
674
740
 
675
741
  [id="plugins-{type}s-{plugin}-proxy"]
676
- ===== `proxy`
742
+ ===== `proxy`
677
743
 
678
744
  * Value type is <<uri,uri>>
679
745
  * There is no default value for this setting.
@@ -684,7 +750,7 @@ An empty string is treated as if proxy was not set. This is useful when using
684
750
  environment variables e.g. `proxy => '${LS_PROXY:}'`.
685
751
 
686
752
  [id="plugins-{type}s-{plugin}-resurrect_delay"]
687
- ===== `resurrect_delay`
753
+ ===== `resurrect_delay`
688
754
 
689
755
  * Value type is <<number,number>>
690
756
  * Default value is `5`
@@ -694,15 +760,16 @@ Resurrection is the process by which backend endpoints marked 'down' are checked
694
760
  to see if they have come back to life
695
761
 
696
762
  [id="plugins-{type}s-{plugin}-retry_initial_interval"]
697
- ===== `retry_initial_interval`
763
+ ===== `retry_initial_interval`
698
764
 
699
765
  * Value type is <<number,number>>
700
766
  * Default value is `2`
701
767
 
702
- Set initial interval in seconds between bulk retries. Doubled on each retry up to `retry_max_interval`
768
+ Set initial interval in seconds between bulk retries. Doubled on each retry up
769
+ to `retry_max_interval`
703
770
 
704
771
  [id="plugins-{type}s-{plugin}-retry_max_interval"]
705
- ===== `retry_max_interval`
772
+ ===== `retry_max_interval`
706
773
 
707
774
  * Value type is <<number,number>>
708
775
  * Default value is `64`
@@ -710,17 +777,15 @@ Set initial interval in seconds between bulk retries. Doubled on each retry up t
710
777
  Set max interval in seconds between bulk retries.
711
778
 
712
779
  [id="plugins-{type}s-{plugin}-retry_on_conflict"]
713
- ===== `retry_on_conflict`
780
+ ===== `retry_on_conflict`
714
781
 
715
782
  * Value type is <<number,number>>
716
783
  * Default value is `1`
717
784
 
718
- The number of times Elasticsearch should internally retry an update/upserted document
719
- See the https://www.elastic.co/guide/en/elasticsearch/guide/current/partial-updates.html[partial updates]
720
- for more info
785
+ The number of times Elasticsearch should internally retry an update/upserted document.
721
786
 
722
787
  [id="plugins-{type}s-{plugin}-routing"]
723
- ===== `routing`
788
+ ===== `routing`
724
789
 
725
790
  * Value type is <<string,string>>
726
791
  * There is no default value for this setting.
@@ -729,7 +794,7 @@ A routing override to be applied to all processed events.
729
794
  This can be dynamic using the `%{foo}` syntax.
730
795
 
731
796
  [id="plugins-{type}s-{plugin}-script"]
732
- ===== `script`
797
+ ===== `script`
733
798
 
734
799
  * Value type is <<string,string>>
735
800
  * Default value is `""`
@@ -745,16 +810,17 @@ Example:
745
810
  }
746
811
 
747
812
  [id="plugins-{type}s-{plugin}-script_lang"]
748
- ===== `script_lang`
813
+ ===== `script_lang`
749
814
 
750
815
  * Value type is <<string,string>>
751
816
  * Default value is `"painless"`
752
817
 
753
- Set the language of the used script. If not set, this defaults to painless in ES 5.0.
754
- When using indexed (stored) scripts on Elasticsearch 6 and higher, you must set this parameter to `""` (empty string).
818
+ Set the language of the used script.
819
+ When using indexed (stored) scripts on Elasticsearch 6.0 and higher, you must set
820
+ this parameter to `""` (empty string).
755
821
 
756
822
  [id="plugins-{type}s-{plugin}-script_type"]
757
- ===== `script_type`
823
+ ===== `script_type`
758
824
 
759
825
  * Value can be any of: `inline`, `indexed`, `file`
760
826
  * Default value is `["inline"]`
@@ -765,7 +831,7 @@ Define the type of script referenced by "script" variable
765
831
  file : "script" contains the name of script stored in elasticsearch's config directory
766
832
 
767
833
  [id="plugins-{type}s-{plugin}-script_var_name"]
768
- ===== `script_var_name`
834
+ ===== `script_var_name`
769
835
 
770
836
  * Value type is <<string,string>>
771
837
  * Default value is `"event"`
@@ -773,7 +839,7 @@ Define the type of script referenced by "script" variable
773
839
  Set variable name passed to script (scripted update)
774
840
 
775
841
  [id="plugins-{type}s-{plugin}-scripted_upsert"]
776
- ===== `scripted_upsert`
842
+ ===== `scripted_upsert`
777
843
 
778
844
  * Value type is <<boolean,boolean>>
779
845
  * Default value is `false`
@@ -781,17 +847,18 @@ Set variable name passed to script (scripted update)
781
847
  if enabled, script is in charge of creating non-existent document (scripted update)
782
848
 
783
849
  [id="plugins-{type}s-{plugin}-sniffing"]
784
- ===== `sniffing`
850
+ ===== `sniffing`
785
851
 
786
852
  * Value type is <<boolean,boolean>>
787
853
  * Default value is `false`
788
854
 
789
- This setting asks Elasticsearch for the list of all cluster nodes and adds them to the hosts list.
790
- For Elasticsearch 1.x and 2.x any nodes with `http.enabled` (on by default) will be added to the hosts list, including master-only nodes!
791
- For Elasticsearch 5.x and 6.x any nodes with `http.enabled` (on by default) will be added to the hosts list, excluding master-only nodes.
855
+ This setting asks Elasticsearch for the list of all cluster nodes and adds them
856
+ to the hosts list.
857
+ For Elasticsearch 5.x and 6.x any nodes with `http.enabled` (on by default) will
858
+ be added to the hosts list, excluding master-only nodes.
792
859
 
793
860
  [id="plugins-{type}s-{plugin}-sniffing_delay"]
794
- ===== `sniffing_delay`
861
+ ===== `sniffing_delay`
795
862
 
796
863
  * Value type is <<number,number>>
797
864
  * Default value is `5`
@@ -799,7 +866,7 @@ For Elasticsearch 5.x and 6.x any nodes with `http.enabled` (on by default) will
799
866
  How long to wait, in seconds, between sniffing attempts
800
867
 
801
868
  [id="plugins-{type}s-{plugin}-sniffing_path"]
802
- ===== `sniffing_path`
869
+ ===== `sniffing_path`
803
870
 
804
871
  * Value type is <<string,string>>
805
872
  * There is no default value for this setting.
@@ -810,17 +877,19 @@ if sniffing_path is set it will be used as an absolute path
810
877
  do not use full URL here, only paths, e.g. "/sniff/_nodes/http"
811
878
 
812
879
  [id="plugins-{type}s-{plugin}-ssl"]
813
- ===== `ssl`
880
+ ===== `ssl`
814
881
 
815
882
  * Value type is <<boolean,boolean>>
816
883
  * There is no default value for this setting.
817
884
 
818
- Enable SSL/TLS secured communication to Elasticsearch cluster. Leaving this unspecified will use whatever scheme
819
- is specified in the URLs listed in 'hosts'. If no explicit protocol is specified plain HTTP will be used.
820
- If SSL is explicitly disabled here the plugin will refuse to start if an HTTPS URL is given in 'hosts'
885
+ Enable SSL/TLS secured communication to Elasticsearch cluster. Leaving this
886
+ unspecified will use whatever scheme is specified in the URLs listed in 'hosts'.
887
+ If no explicit protocol is specified plain HTTP will be used. If SSL is
888
+ explicitly disabled here the plugin will refuse to start if an HTTPS URL is
889
+ given in 'hosts'
821
890
 
822
891
  [id="plugins-{type}s-{plugin}-ssl_certificate_verification"]
823
- ===== `ssl_certificate_verification`
892
+ ===== `ssl_certificate_verification`
824
893
 
825
894
  * Value type is <<boolean,boolean>>
826
895
  * Default value is `true`
@@ -830,7 +899,7 @@ For more information on disabling certificate verification please read
830
899
  https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf
831
900
 
832
901
  [id="plugins-{type}s-{plugin}-template"]
833
- ===== `template`
902
+ ===== `template`
834
903
 
835
904
  * Value type is <<path,path>>
836
905
  * There is no default value for this setting.
@@ -839,7 +908,7 @@ You can set the path to your own template here, if you so desire.
839
908
  If not set, the included template will be used.
840
909
 
841
910
  [id="plugins-{type}s-{plugin}-template_name"]
842
- ===== `template_name`
911
+ ===== `template_name`
843
912
 
844
913
  * Value type is <<string,string>>
845
914
  * Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
@@ -856,7 +925,7 @@ change this, you will need to prune the old template manually, e.g.
856
925
  where `OldTemplateName` is whatever the former setting was.
857
926
 
858
927
  [id="plugins-{type}s-{plugin}-template_overwrite"]
859
- ===== `template_overwrite`
928
+ ===== `template_overwrite`
860
929
 
861
930
  * Value type is <<boolean,boolean>>
862
931
  * Default value is `false`
@@ -873,7 +942,7 @@ template (logstash), setting this to true will make Logstash to overwrite
873
942
  the "logstash" template (i.e. removing all customized settings)
874
943
 
875
944
  [id="plugins-{type}s-{plugin}-timeout"]
876
- ===== `timeout`
945
+ ===== `timeout`
877
946
 
878
947
  * Value type is <<number,number>>
879
948
  * Default value is `60`
@@ -882,7 +951,7 @@ Set the timeout, in seconds, for network operations and requests sent Elasticsea
882
951
  a timeout occurs, the request will be retried.
883
952
 
884
953
  [id="plugins-{type}s-{plugin}-truststore"]
885
- ===== `truststore`
954
+ ===== `truststore`
886
955
 
887
956
  * Value type is <<path,path>>
888
957
  * There is no default value for this setting.
@@ -892,7 +961,7 @@ It can be either .jks or .p12.
892
961
  Use either `:truststore` or `:cacert`.
893
962
 
894
963
  [id="plugins-{type}s-{plugin}-truststore_password"]
895
- ===== `truststore_password`
964
+ ===== `truststore_password`
896
965
 
897
966
  * Value type is <<password,password>>
898
967
  * There is no default value for this setting.
@@ -900,7 +969,7 @@ Use either `:truststore` or `:cacert`.
900
969
  Set the truststore password
901
970
 
902
971
  [id="plugins-{type}s-{plugin}-upsert"]
903
- ===== `upsert`
972
+ ===== `upsert`
904
973
 
905
974
  * Value type is <<string,string>>
906
975
  * Default value is `""`
@@ -909,7 +978,7 @@ Set upsert content for update mode.
909
978
  Create a new document with this parameter as json string if `document_id` doesn't exists
910
979
 
911
980
  [id="plugins-{type}s-{plugin}-user"]
912
- ===== `user`
981
+ ===== `user`
913
982
 
914
983
  * Value type is <<string,string>>
915
984
  * There is no default value for this setting.
@@ -917,39 +986,43 @@ Create a new document with this parameter as json string if `document_id` doesn'
917
986
  Username to authenticate to a secure Elasticsearch cluster
918
987
 
919
988
  [id="plugins-{type}s-{plugin}-validate_after_inactivity"]
920
- ===== `validate_after_inactivity`
989
+ ===== `validate_after_inactivity`
921
990
 
922
991
  * Value type is <<number,number>>
923
992
  * Default value is `10000`
924
993
 
925
- How long to wait before checking if the connection is stale before executing a request on a connection using keepalive.
926
- You may want to set this lower, if you get connection errors regularly
927
- Quoting the Apache commons docs (this client is based Apache Commmons):
928
- 'Defines period of inactivity in milliseconds after which persistent connections must
929
- be re-validated prior to being leased to the consumer. Non-positive value passed to
930
- this method disables connection validation. This check helps detect connections that
931
- have become stale (half-closed) while kept inactive in the pool.'
932
- See https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html#setValidateAfterInactivity(int)[these docs for more info]
994
+ How long to wait before checking for a stale connection to determine if a keepalive request is needed.
995
+ Consider setting this value lower than the default, possibly to 0, if you get connection errors regularly.
996
+
997
+ This client is based on Apache Commons. Here's how the
998
+ https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html#setValidateAfterInactivity(int)[Apache
999
+ Commons documentation] describes this option: "Defines period of inactivity in
1000
+ milliseconds after which persistent connections must be re-validated prior to
1001
+ being leased to the consumer. Non-positive value passed to this method disables
1002
+ connection validation. This check helps detect connections that have become
1003
+ stale (half-closed) while kept inactive in the pool."
933
1004
 
934
1005
  [id="plugins-{type}s-{plugin}-version"]
935
- ===== `version`
1006
+ ===== `version`
936
1007
 
937
1008
  * Value type is <<string,string>>
938
1009
  * There is no default value for this setting.
939
1010
 
940
- The version to use for indexing. Use sprintf syntax like `%{my_version}` to use a field value here.
941
- See https://www.elastic.co/blog/elasticsearch-versioning-support.
1011
+ The version to use for indexing. Use sprintf syntax like `%{my_version}` to use
1012
+ a field value here. See the
1013
+ https://www.elastic.co/blog/elasticsearch-versioning-support[versioning support
1014
+ blog] for more information.
942
1015
 
943
1016
  [id="plugins-{type}s-{plugin}-version_type"]
944
- ===== `version_type`
1017
+ ===== `version_type`
945
1018
 
946
1019
  * Value can be any of: `internal`, `external`, `external_gt`, `external_gte`, `force`
947
1020
  * There is no default value for this setting.
948
1021
 
949
- The version_type to use for indexing.
950
- See https://www.elastic.co/blog/elasticsearch-versioning-support.
951
- See also https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#_version_types
952
-
1022
+ The version_type to use for indexing. See the
1023
+ https://www.elastic.co/blog/elasticsearch-versioning-support[versioning support
1024
+ blog] and {ref}/docs-index_.html#_version_types[Version types] in the
1025
+ Elasticsearch documentation.
953
1026
 
954
1027
 
955
1028
  [id="plugins-{type}s-{plugin}-common-options"]