logstash-output-elasticsearch 10.6.2-java → 10.8.2-java

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