logstash-output-elasticsearch 10.5.1-java → 10.7.3-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/CONTRIBUTORS +1 -0
- data/docs/index.asciidoc +142 -81
- data/lib/logstash/outputs/elasticsearch.rb +33 -0
- data/lib/logstash/outputs/elasticsearch/common.rb +21 -8
- data/lib/logstash/outputs/elasticsearch/common_configs.rb +3 -3
- data/lib/logstash/outputs/elasticsearch/http_client.rb +6 -2
- data/lib/logstash/outputs/elasticsearch/ilm.rb +1 -1
- data/lib/logstash/outputs/elasticsearch/template_manager.rb +20 -12
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es2x.json → templates/ecs-disabled/elasticsearch-2x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es5x.json → templates/ecs-disabled/elasticsearch-5x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es6x.json → templates/ecs-disabled/elasticsearch-6x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/{elasticsearch-template-es7x.json → templates/ecs-disabled/elasticsearch-7x.json} +0 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-8x.json +50 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-6x.json +2950 -0
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-7x.json +2948 -0
- data/logstash-output-elasticsearch.gemspec +2 -1
- data/spec/es_spec_helper.rb +32 -12
- data/spec/fixtures/template-with-policy-es8x.json +50 -0
- data/spec/integration/outputs/ilm_spec.rb +36 -22
- data/spec/integration/outputs/metrics_spec.rb +1 -5
- data/spec/unit/outputs/elasticsearch/http_client_spec.rb +22 -0
- data/spec/unit/outputs/elasticsearch/template_manager_spec.rb +40 -3
- data/spec/unit/outputs/elasticsearch_spec.rb +23 -1
- data/spec/unit/outputs/error_whitelist_spec.rb +1 -1
- metadata +25 -7
- data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es8x.json +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 800beb4697a44f1c41a41490b627b5b6dd192c695a818b33118e778a0fde7902
|
4
|
+
data.tar.gz: 380591f1e759722fac05fbc8893113ad0821cb9878e5257a9da8dc90f9a4fd09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 895bdaa0f45d48396b594df34545174a7788eb7647df0fc6cad58ab162950c399319d0c462d97a49133368a88731e3548e4ef508dc7115fd448ebd75b7da6d47
|
7
|
+
data.tar.gz: 96feefdd53810337a249cb4412296515ff049a6a07c0a81c81fc23b4152bd0061f3d7fd3cec7956eb0abb07636c3b78c1dbb16daf1040a77e359dc771f79d67d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## 10.7.3
|
2
|
+
- Added composable index template support for elasticsearch version 8 [#980](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/980)
|
3
|
+
|
4
|
+
## 10.7.2
|
5
|
+
- [DOC] Fixed links to restructured Logstash-to-cloud docs [#975](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/975)
|
6
|
+
|
7
|
+
## 10.7.1
|
8
|
+
- [DOC] Document the permissions required in secured clusters [#969](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/969)
|
9
|
+
|
10
|
+
## 10.7.0
|
11
|
+
- 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)
|
12
|
+
|
13
|
+
## 10.6.2
|
14
|
+
- [DOC] Added clarifying info on http compression settings and behaviors [#943](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/943)
|
15
|
+
- [DOC] Fixed entry for ilm_policy default value[#956](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/956)
|
16
|
+
|
17
|
+
## 10.6.1
|
18
|
+
- Fixed an issue introduced in 10.6.0 that broke Logstash Core's monitoring feature when this plugin is run in Logstash 7.7-7.8. [#953](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/953)
|
19
|
+
|
20
|
+
## 10.6.0
|
21
|
+
- Added `ecs_compatiblity` mode, for managing ECS-compatable templates [#952](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/952)
|
22
|
+
|
1
23
|
## 10.5.1
|
2
24
|
- [DOC] Removed outdated compatibility notices, reworked cloud notice, and fixed formatting for `hosts` examples [#938](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/938)
|
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/docs/index.asciidoc
CHANGED
@@ -23,14 +23,14 @@ 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
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]
|
33
|
+
Using the https://www.elastic.co/guide/en/elasticsearch/reference/current/java-clients.html[transport protocol]
|
34
34
|
to communicate with the cluster has been deprecated in Elasticsearch 7.0.0 and
|
35
35
|
will be removed in 8.0.0
|
36
36
|
|
@@ -53,16 +53,27 @@ connecting to Elasticsearch 7.x.
|
|
53
53
|
|
54
54
|
===== Hosted {es} Service on Elastic Cloud
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
{ess-leadin}
|
57
|
+
|
58
|
+
==== Compatibility with the Elastic Common Schema (ECS)
|
59
|
+
|
60
|
+
This plugin will persist events to Elasticsearch in the shape produced by
|
61
|
+
your pipeline, and _cannot_ be used to re-shape the event structure into a
|
62
|
+
shape that complies with ECS. To produce events that fully comply with ECS,
|
63
|
+
you will need to populate ECS-defined fields throughout your pipeline
|
64
|
+
definition.
|
65
|
+
|
66
|
+
However, the Elasticsearch Index Templates it manages can be configured to
|
67
|
+
be ECS-compatible by setting <<plugins-{type}s-{plugin}-ecs_compatibility>>.
|
68
|
+
By having an ECS-compatible template in place, we can ensure that Elasticsearch
|
69
|
+
is prepared to create and index fields in a way that is compatible with ECS,
|
70
|
+
and will correctly reject events with fields that conflict and cannot be coerced.
|
60
71
|
|
61
72
|
==== Writing to different indices: best practices
|
62
73
|
|
63
74
|
[NOTE]
|
64
75
|
================================================================================
|
65
|
-
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
|
66
77
|
when using `ilm_rollover_alias`.
|
67
78
|
|
68
79
|
================================================================================
|
@@ -77,7 +88,10 @@ Each Elasticsearch output is a new client connected to the cluster:
|
|
77
88
|
* it has to initialize the client and connect to Elasticsearch (restart time is longer if you have more clients)
|
78
89
|
* it has an associated connection pool
|
79
90
|
|
80
|
-
In order to minimize the number of open connections to Elasticsearch, maximize
|
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.
|
81
95
|
|
82
96
|
Example:
|
83
97
|
[source,ruby]
|
@@ -86,11 +100,14 @@ Example:
|
|
86
100
|
index => "%{[some_field][sub_field]}-%{+YYYY.MM.dd}"
|
87
101
|
}
|
88
102
|
}
|
89
|
-
|
103
|
+
|
90
104
|
**What to do in case there is no field in the event containing the destination index prefix?**
|
91
105
|
|
92
|
-
You can use the `mutate` filter and conditionals to add a `[@metadata]` field
|
93
|
-
|
106
|
+
You can use the `mutate` filter and conditionals to add a `[@metadata]` field
|
107
|
+
(see
|
108
|
+
https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html#metadata)
|
109
|
+
to set the destination index for each event. The `[@metadata]` fields will not
|
110
|
+
be sent to Elasticsearch.
|
94
111
|
|
95
112
|
Example:
|
96
113
|
[source,ruby]
|
@@ -122,7 +139,7 @@ HTTP requests to the bulk API are expected to return a 200 response code. All ot
|
|
122
139
|
The following document errors are handled as follows:
|
123
140
|
|
124
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.
|
125
|
-
* 409 errors (conflict) are logged as a warning and dropped.
|
142
|
+
* 409 errors (conflict) are logged as a warning and dropped.
|
126
143
|
|
127
144
|
Note that 409 exceptions are no longer retried. Please set a higher `retry_on_conflict` value if you experience 409 exceptions.
|
128
145
|
It is more performant for Elasticsearch to retry these exceptions than this plugin.
|
@@ -204,18 +221,29 @@ not reevaluate its DNS value while the keepalive is in effect.
|
|
204
221
|
|
205
222
|
==== HTTP Compression
|
206
223
|
|
207
|
-
This plugin supports request and response compression. Response compression is
|
208
|
-
for Elasticsearch versions 5.0 and later
|
209
|
-
it to send back compressed response. For versions before 5.0, `http.compression` must be set to `true` https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#modules-http[in
|
210
|
-
Elasticsearch] to take advantage of response compression when using this plugin
|
224
|
+
This plugin supports request and response compression. Response compression is
|
225
|
+
enabled by default for HTTP and for Elasticsearch versions 5.0 and later.
|
211
226
|
|
212
|
-
|
213
|
-
|
227
|
+
You don't have to set any configs in Elasticsearch for it to send back a
|
228
|
+
compressed response. For versions before 5.0, or if HTTPS is enabled,
|
229
|
+
`http.compression` must be set to `true`
|
230
|
+
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#modules-http[in
|
231
|
+
Elasticsearch] to take advantage of response compression when using this plugin.
|
232
|
+
|
233
|
+
For requests compression, regardless of the Elasticsearch version, enable the
|
234
|
+
`http_compression` setting in the Logstash config file.
|
214
235
|
|
215
236
|
==== Authentication
|
216
237
|
|
217
238
|
Authentication to a secure Elasticsearch cluster is possible using one of the `user`/`password`, `cloud_auth` or `api_key` options.
|
218
239
|
|
240
|
+
[id="plugins-{type}s-{plugin}-autz"]
|
241
|
+
==== Authorization
|
242
|
+
|
243
|
+
Authorization to a secure Elasticsearch cluster requires `read` permission at index level and `monitoring` permissions at cluster level.
|
244
|
+
The `monitoring` permission at cluster level is necessary to perform periodic connectivity checks.
|
245
|
+
|
246
|
+
|
219
247
|
[id="plugins-{type}s-{plugin}-options"]
|
220
248
|
==== Elasticsearch Output Configuration Options
|
221
249
|
|
@@ -234,6 +262,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
234
262
|
| <<plugins-{type}s-{plugin}-doc_as_upsert>> |<<boolean,boolean>>|No
|
235
263
|
| <<plugins-{type}s-{plugin}-document_id>> |<<string,string>>|No
|
236
264
|
| <<plugins-{type}s-{plugin}-document_type>> |<<string,string>>|No
|
265
|
+
| <<plugins-{type}s-{plugin}-ecs_compatibility>> | <<string,string>>|No
|
237
266
|
| <<plugins-{type}s-{plugin}-failure_type_logging_whitelist>> |<<array,array>>|No
|
238
267
|
| <<plugins-{type}s-{plugin}-healthcheck_path>> |<<string,string>>|No
|
239
268
|
| <<plugins-{type}s-{plugin}-hosts>> |<<uri,uri>>|No
|
@@ -288,7 +317,7 @@ output plugins.
|
|
288
317
|
|
289
318
|
|
290
319
|
[id="plugins-{type}s-{plugin}-action"]
|
291
|
-
===== `action`
|
320
|
+
===== `action`
|
292
321
|
|
293
322
|
* Value type is <<string,string>>
|
294
323
|
* Default value is `"index"`
|
@@ -319,7 +348,7 @@ Authenticate using Elasticsearch API key. Note that this option also requires en
|
|
319
348
|
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].
|
320
349
|
|
321
350
|
[id="plugins-{type}s-{plugin}-bulk_path"]
|
322
|
-
===== `bulk_path`
|
351
|
+
===== `bulk_path`
|
323
352
|
|
324
353
|
* Value type is <<string,string>>
|
325
354
|
* There is no default value for this setting.
|
@@ -328,7 +357,7 @@ HTTP Path to perform the _bulk requests to
|
|
328
357
|
this defaults to a concatenation of the path parameter and "_bulk"
|
329
358
|
|
330
359
|
[id="plugins-{type}s-{plugin}-cacert"]
|
331
|
-
===== `cacert`
|
360
|
+
===== `cacert`
|
332
361
|
|
333
362
|
* Value type is <<path,path>>
|
334
363
|
* There is no default value for this setting.
|
@@ -343,7 +372,7 @@ The .cer or .pem file to validate the server's certificate
|
|
343
372
|
|
344
373
|
Cloud authentication string ("<username>:<password>" format) is an alternative for the `user`/`password` pair.
|
345
374
|
|
346
|
-
For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html
|
375
|
+
For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html[Logstash-to-Cloud documentation]
|
347
376
|
|
348
377
|
[id="plugins-{type}s-{plugin}-cloud_id"]
|
349
378
|
===== `cloud_id`
|
@@ -353,10 +382,10 @@ For more details, check out the https://www.elastic.co/guide/en/logstash/current
|
|
353
382
|
|
354
383
|
Cloud ID, from the Elastic Cloud web console. If set `hosts` should not be used.
|
355
384
|
|
356
|
-
For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html
|
385
|
+
For more details, check out the https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html[Logstash-to-Cloud documentation]
|
357
386
|
|
358
387
|
[id="plugins-{type}s-{plugin}-doc_as_upsert"]
|
359
|
-
===== `doc_as_upsert`
|
388
|
+
===== `doc_as_upsert`
|
360
389
|
|
361
390
|
* Value type is <<boolean,boolean>>
|
362
391
|
* Default value is `false`
|
@@ -365,7 +394,7 @@ Enable `doc_as_upsert` for update mode.
|
|
365
394
|
Create a new document with source if `document_id` doesn't exist in Elasticsearch
|
366
395
|
|
367
396
|
[id="plugins-{type}s-{plugin}-document_id"]
|
368
|
-
===== `document_id`
|
397
|
+
===== `document_id`
|
369
398
|
|
370
399
|
* Value type is <<string,string>>
|
371
400
|
* There is no default value for this setting.
|
@@ -373,7 +402,7 @@ Create a new document with source if `document_id` doesn't exist in Elasticsearc
|
|
373
402
|
The document ID for the index. Useful for overwriting existing entries in Elasticsearch with the same ID.
|
374
403
|
|
375
404
|
[id="plugins-{type}s-{plugin}-document_type"]
|
376
|
-
===== `document_type`
|
405
|
+
===== `document_type`
|
377
406
|
|
378
407
|
* Value type is <<string,string>>
|
379
408
|
* There is no default value for this setting.
|
@@ -393,8 +422,27 @@ If you don't set a value for this option:
|
|
393
422
|
- for elasticsearch clusters 6.x: the value of 'doc' will be used;
|
394
423
|
- for elasticsearch clusters 5.x and below: the event's 'type' field will be used, if the field is not present the value of 'doc' will be used.
|
395
424
|
|
425
|
+
[id="plugins-{type}s-{plugin}-ecs_compatibility"]
|
426
|
+
===== `ecs_compatibility`
|
427
|
+
|
428
|
+
* Value type is <<string,string>>
|
429
|
+
* Supported values are:
|
430
|
+
** `disabled`: does not provide ECS-compatible templates
|
431
|
+
** `v1`: provides defaults that are compatible with v1 of the Elastic Common Schema
|
432
|
+
* Default value depends on which version of Logstash is running:
|
433
|
+
** When Logstash provides a `pipeline.ecs_compatibility` setting, its value is used as the default
|
434
|
+
** Otherwise, the default value is `disabled`.
|
435
|
+
|
436
|
+
Controls this plugin's compatibility with the https://www.elastic.co/guide/en/ecs/current/index.html[Elastic Common Schema (ECS)],
|
437
|
+
including the installation of ECS-compatible index templates.
|
438
|
+
The value of this setting affects the _default_ values of:
|
439
|
+
|
440
|
+
* <<plugins-{type}s-{plugin}-index>>
|
441
|
+
* <<plugins-{type}s-{plugin}-template_name>>
|
442
|
+
* <<plugins-{type}s-{plugin}-ilm_rollover_alias>>
|
443
|
+
|
396
444
|
[id="plugins-{type}s-{plugin}-failure_type_logging_whitelist"]
|
397
|
-
===== `failure_type_logging_whitelist`
|
445
|
+
===== `failure_type_logging_whitelist`
|
398
446
|
|
399
447
|
* Value type is <<array,array>>
|
400
448
|
* Default value is `[]`
|
@@ -415,7 +463,7 @@ an elasticsearch node. The headers will be used for any kind of request
|
|
415
463
|
These custom headers will be overidden by settings like `http_compression`.
|
416
464
|
|
417
465
|
[id="plugins-{type}s-{plugin}-healthcheck_path"]
|
418
|
-
===== `healthcheck_path`
|
466
|
+
===== `healthcheck_path`
|
419
467
|
|
420
468
|
* Value type is <<string,string>>
|
421
469
|
* There is no default value for this setting.
|
@@ -426,7 +474,7 @@ before it is once again eligible to service requests.
|
|
426
474
|
If you have custom firewall rules you may need to change this
|
427
475
|
|
428
476
|
[id="plugins-{type}s-{plugin}-hosts"]
|
429
|
-
===== `hosts`
|
477
|
+
===== `hosts`
|
430
478
|
|
431
479
|
* Value type is <<uri,uri>>
|
432
480
|
* Default value is `[//127.0.0.1]`
|
@@ -442,13 +490,17 @@ Examples:
|
|
442
490
|
`["https://127.0.0.1:9200"]`
|
443
491
|
`["https://127.0.0.1:9200/mypath"]` (If using a proxy on a subpath)
|
444
492
|
|
445
|
-
|
446
|
-
|
493
|
+
Exclude
|
494
|
+
http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html[dedicated
|
495
|
+
master nodes] from the `hosts` list to prevent Logstash from sending bulk
|
496
|
+
requests to the master nodes. This parameter should reference only data or
|
497
|
+
client nodes in Elasticsearch.
|
447
498
|
|
448
|
-
Any special characters present in the URLs here MUST be URL escaped! This means
|
499
|
+
Any special characters present in the URLs here MUST be URL escaped! This means
|
500
|
+
`#` should be put in as `%23` for instance.
|
449
501
|
|
450
502
|
[id="plugins-{type}s-{plugin}-http_compression"]
|
451
|
-
===== `http_compression`
|
503
|
+
===== `http_compression`
|
452
504
|
|
453
505
|
* Value type is <<boolean,boolean>>
|
454
506
|
* Default value is `false`
|
@@ -485,11 +537,14 @@ NOTE: Updating the pattern will require the index template to be rewritten
|
|
485
537
|
|
486
538
|
NOTE: The pattern must finish with a dash and a number that will be automatically incremented when indices rollover.
|
487
539
|
|
540
|
+
NOTE: The pattern is a 6-digit string padded by zeros, regardless of prior index name. Example: 000001.
|
541
|
+
See {ref}/indices-rollover-index.html#rollover-index-api-path-params[Rollover path parameters API docs] for details.
|
542
|
+
|
488
543
|
[id="plugins-{type}s-{plugin}-ilm_policy"]
|
489
544
|
===== `ilm_policy`
|
490
545
|
|
491
546
|
* Value type is <<string,string>>
|
492
|
-
* Default value is `logstash`
|
547
|
+
* Default value is `logstash-policy`
|
493
548
|
|
494
549
|
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
|
495
550
|
be automatically installed into Elasticsearch
|
@@ -500,7 +555,9 @@ NOTE: If this setting is specified, the policy must already exist in Elasticsear
|
|
500
555
|
===== `ilm_rollover_alias`
|
501
556
|
|
502
557
|
* Value type is <<string,string>>
|
503
|
-
* Default value is
|
558
|
+
* Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
|
559
|
+
** ECS Compatibility disabled: `logstash`
|
560
|
+
** ECS Compatibility enabled: `ecs-logstash`
|
504
561
|
|
505
562
|
The rollover alias is the alias where indices managed using Index Lifecycle Management will be written to.
|
506
563
|
|
@@ -511,10 +568,12 @@ NOTE: Updating the rollover alias will require the index template to be rewritte
|
|
511
568
|
NOTE: `ilm_rollover_alias` does NOT support dynamic variable substitution as `index` does.
|
512
569
|
|
513
570
|
[id="plugins-{type}s-{plugin}-index"]
|
514
|
-
===== `index`
|
571
|
+
===== `index`
|
515
572
|
|
516
573
|
* Value type is <<string,string>>
|
517
|
-
* Default value
|
574
|
+
* Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
|
575
|
+
** ECS Compatibility disabled: `"logstash-%{+yyyy.MM.dd}"`
|
576
|
+
** ECS Compatibility enabled: `"ecs-logstash-%{+yyyy.MM.dd}"`
|
518
577
|
|
519
578
|
The index to write events to. This can be dynamic using the `%{foo}` syntax.
|
520
579
|
The default value will partition your indices by day so you can more easily
|
@@ -525,7 +584,7 @@ LS uses Joda to format the index pattern from event timestamp.
|
|
525
584
|
Joda formats are defined http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html[here].
|
526
585
|
|
527
586
|
[id="plugins-{type}s-{plugin}-keystore"]
|
528
|
-
===== `keystore`
|
587
|
+
===== `keystore`
|
529
588
|
|
530
589
|
* Value type is <<path,path>>
|
531
590
|
* There is no default value for this setting.
|
@@ -534,7 +593,7 @@ The keystore used to present a certificate to the server.
|
|
534
593
|
It can be either .jks or .p12
|
535
594
|
|
536
595
|
[id="plugins-{type}s-{plugin}-keystore_password"]
|
537
|
-
===== `keystore_password`
|
596
|
+
===== `keystore_password`
|
538
597
|
|
539
598
|
* Value type is <<password,password>>
|
540
599
|
* There is no default value for this setting.
|
@@ -542,13 +601,14 @@ It can be either .jks or .p12
|
|
542
601
|
Set the keystore password
|
543
602
|
|
544
603
|
[id="plugins-{type}s-{plugin}-manage_template"]
|
545
|
-
===== `manage_template`
|
604
|
+
===== `manage_template`
|
546
605
|
|
547
606
|
* Value type is <<boolean,boolean>>
|
548
607
|
* Default value is `true`
|
549
608
|
|
550
609
|
From Logstash 1.3 onwards, a template is applied to Elasticsearch during
|
551
|
-
Logstash's startup if one with the name
|
610
|
+
Logstash's startup if one with the name <<plugins-{type}s-{plugin}-template_name>>
|
611
|
+
does not already exist.
|
552
612
|
By default, the contents of this template is the default template for
|
553
613
|
`logstash-%{+YYYY.MM.dd}` which always matches indices based on the pattern
|
554
614
|
`logstash-*`. Should you require support for other index names, or would like
|
@@ -561,7 +621,7 @@ field names) you should set `manage_template` to false and use the REST
|
|
561
621
|
API to apply your templates manually.
|
562
622
|
|
563
623
|
[id="plugins-{type}s-{plugin}-parameters"]
|
564
|
-
===== `parameters`
|
624
|
+
===== `parameters`
|
565
625
|
|
566
626
|
* Value type is <<hash,hash>>
|
567
627
|
* There is no default value for this setting.
|
@@ -571,7 +631,7 @@ to every host listed in the 'hosts' configuration. If the 'hosts' list contains
|
|
571
631
|
urls that already have query strings, the one specified here will be appended.
|
572
632
|
|
573
633
|
[id="plugins-{type}s-{plugin}-parent"]
|
574
|
-
===== `parent`
|
634
|
+
===== `parent`
|
575
635
|
|
576
636
|
* Value type is <<string,string>>
|
577
637
|
* Default value is `nil`
|
@@ -580,7 +640,7 @@ For child documents, ID of the associated parent.
|
|
580
640
|
This can be dynamic using the `%{foo}` syntax.
|
581
641
|
|
582
642
|
[id="plugins-{type}s-{plugin}-password"]
|
583
|
-
===== `password`
|
643
|
+
===== `password`
|
584
644
|
|
585
645
|
* Value type is <<password,password>>
|
586
646
|
* There is no default value for this setting.
|
@@ -588,7 +648,7 @@ This can be dynamic using the `%{foo}` syntax.
|
|
588
648
|
Password to authenticate to a secure Elasticsearch cluster
|
589
649
|
|
590
650
|
[id="plugins-{type}s-{plugin}-path"]
|
591
|
-
===== `path`
|
651
|
+
===== `path`
|
592
652
|
|
593
653
|
* Value type is <<string,string>>
|
594
654
|
* There is no default value for this setting.
|
@@ -599,16 +659,16 @@ Note that if you use paths as components of URLs in the 'hosts' field you may
|
|
599
659
|
not also set this field. That will raise an error at startup
|
600
660
|
|
601
661
|
[id="plugins-{type}s-{plugin}-pipeline"]
|
602
|
-
===== `pipeline`
|
662
|
+
===== `pipeline`
|
603
663
|
|
604
664
|
* Value type is <<string,string>>
|
605
665
|
* Default value is `nil`
|
606
666
|
|
607
|
-
Set which ingest pipeline you wish to execute for an event. You can also use event dependent configuration
|
608
|
-
|
667
|
+
Set which ingest pipeline you wish to execute for an event. You can also use event dependent configuration here
|
668
|
+
like `pipeline => "%{[@metadata][pipeline]}"`. The pipeline parameter won't be set if the value resolves to empty string ("").
|
609
669
|
|
610
670
|
[id="plugins-{type}s-{plugin}-pool_max"]
|
611
|
-
===== `pool_max`
|
671
|
+
===== `pool_max`
|
612
672
|
|
613
673
|
* Value type is <<number,number>>
|
614
674
|
* Default value is `1000`
|
@@ -619,7 +679,7 @@ Setting this too low may mean frequently closing / opening connections
|
|
619
679
|
which is bad.
|
620
680
|
|
621
681
|
[id="plugins-{type}s-{plugin}-pool_max_per_route"]
|
622
|
-
===== `pool_max_per_route`
|
682
|
+
===== `pool_max_per_route`
|
623
683
|
|
624
684
|
* Value type is <<number,number>>
|
625
685
|
* Default value is `100`
|
@@ -630,7 +690,7 @@ Setting this too low may mean frequently closing / opening connections
|
|
630
690
|
which is bad.
|
631
691
|
|
632
692
|
[id="plugins-{type}s-{plugin}-proxy"]
|
633
|
-
===== `proxy`
|
693
|
+
===== `proxy`
|
634
694
|
|
635
695
|
* Value type is <<uri,uri>>
|
636
696
|
* There is no default value for this setting.
|
@@ -641,7 +701,7 @@ An empty string is treated as if proxy was not set. This is useful when using
|
|
641
701
|
environment variables e.g. `proxy => '${LS_PROXY:}'`.
|
642
702
|
|
643
703
|
[id="plugins-{type}s-{plugin}-resurrect_delay"]
|
644
|
-
===== `resurrect_delay`
|
704
|
+
===== `resurrect_delay`
|
645
705
|
|
646
706
|
* Value type is <<number,number>>
|
647
707
|
* Default value is `5`
|
@@ -651,7 +711,7 @@ Resurrection is the process by which backend endpoints marked 'down' are checked
|
|
651
711
|
to see if they have come back to life
|
652
712
|
|
653
713
|
[id="plugins-{type}s-{plugin}-retry_initial_interval"]
|
654
|
-
===== `retry_initial_interval`
|
714
|
+
===== `retry_initial_interval`
|
655
715
|
|
656
716
|
* Value type is <<number,number>>
|
657
717
|
* Default value is `2`
|
@@ -659,7 +719,7 @@ to see if they have come back to life
|
|
659
719
|
Set initial interval in seconds between bulk retries. Doubled on each retry up to `retry_max_interval`
|
660
720
|
|
661
721
|
[id="plugins-{type}s-{plugin}-retry_max_interval"]
|
662
|
-
===== `retry_max_interval`
|
722
|
+
===== `retry_max_interval`
|
663
723
|
|
664
724
|
* Value type is <<number,number>>
|
665
725
|
* Default value is `64`
|
@@ -667,17 +727,15 @@ Set initial interval in seconds between bulk retries. Doubled on each retry up t
|
|
667
727
|
Set max interval in seconds between bulk retries.
|
668
728
|
|
669
729
|
[id="plugins-{type}s-{plugin}-retry_on_conflict"]
|
670
|
-
===== `retry_on_conflict`
|
730
|
+
===== `retry_on_conflict`
|
671
731
|
|
672
732
|
* Value type is <<number,number>>
|
673
733
|
* Default value is `1`
|
674
734
|
|
675
|
-
The number of times Elasticsearch should internally retry an update/upserted document
|
676
|
-
See the https://www.elastic.co/guide/en/elasticsearch/guide/current/partial-updates.html[partial updates]
|
677
|
-
for more info
|
735
|
+
The number of times Elasticsearch should internally retry an update/upserted document.
|
678
736
|
|
679
737
|
[id="plugins-{type}s-{plugin}-routing"]
|
680
|
-
===== `routing`
|
738
|
+
===== `routing`
|
681
739
|
|
682
740
|
* Value type is <<string,string>>
|
683
741
|
* There is no default value for this setting.
|
@@ -686,7 +744,7 @@ A routing override to be applied to all processed events.
|
|
686
744
|
This can be dynamic using the `%{foo}` syntax.
|
687
745
|
|
688
746
|
[id="plugins-{type}s-{plugin}-script"]
|
689
|
-
===== `script`
|
747
|
+
===== `script`
|
690
748
|
|
691
749
|
* Value type is <<string,string>>
|
692
750
|
* Default value is `""`
|
@@ -702,7 +760,7 @@ Example:
|
|
702
760
|
}
|
703
761
|
|
704
762
|
[id="plugins-{type}s-{plugin}-script_lang"]
|
705
|
-
===== `script_lang`
|
763
|
+
===== `script_lang`
|
706
764
|
|
707
765
|
* Value type is <<string,string>>
|
708
766
|
* Default value is `"painless"`
|
@@ -711,7 +769,7 @@ Set the language of the used script. If not set, this defaults to painless in ES
|
|
711
769
|
When using indexed (stored) scripts on Elasticsearch 6 and higher, you must set this parameter to `""` (empty string).
|
712
770
|
|
713
771
|
[id="plugins-{type}s-{plugin}-script_type"]
|
714
|
-
===== `script_type`
|
772
|
+
===== `script_type`
|
715
773
|
|
716
774
|
* Value can be any of: `inline`, `indexed`, `file`
|
717
775
|
* Default value is `["inline"]`
|
@@ -722,7 +780,7 @@ Define the type of script referenced by "script" variable
|
|
722
780
|
file : "script" contains the name of script stored in elasticsearch's config directory
|
723
781
|
|
724
782
|
[id="plugins-{type}s-{plugin}-script_var_name"]
|
725
|
-
===== `script_var_name`
|
783
|
+
===== `script_var_name`
|
726
784
|
|
727
785
|
* Value type is <<string,string>>
|
728
786
|
* Default value is `"event"`
|
@@ -730,7 +788,7 @@ Define the type of script referenced by "script" variable
|
|
730
788
|
Set variable name passed to script (scripted update)
|
731
789
|
|
732
790
|
[id="plugins-{type}s-{plugin}-scripted_upsert"]
|
733
|
-
===== `scripted_upsert`
|
791
|
+
===== `scripted_upsert`
|
734
792
|
|
735
793
|
* Value type is <<boolean,boolean>>
|
736
794
|
* Default value is `false`
|
@@ -738,7 +796,7 @@ Set variable name passed to script (scripted update)
|
|
738
796
|
if enabled, script is in charge of creating non-existent document (scripted update)
|
739
797
|
|
740
798
|
[id="plugins-{type}s-{plugin}-sniffing"]
|
741
|
-
===== `sniffing`
|
799
|
+
===== `sniffing`
|
742
800
|
|
743
801
|
* Value type is <<boolean,boolean>>
|
744
802
|
* Default value is `false`
|
@@ -748,7 +806,7 @@ For Elasticsearch 1.x and 2.x any nodes with `http.enabled` (on by default) will
|
|
748
806
|
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.
|
749
807
|
|
750
808
|
[id="plugins-{type}s-{plugin}-sniffing_delay"]
|
751
|
-
===== `sniffing_delay`
|
809
|
+
===== `sniffing_delay`
|
752
810
|
|
753
811
|
* Value type is <<number,number>>
|
754
812
|
* Default value is `5`
|
@@ -756,7 +814,7 @@ For Elasticsearch 5.x and 6.x any nodes with `http.enabled` (on by default) will
|
|
756
814
|
How long to wait, in seconds, between sniffing attempts
|
757
815
|
|
758
816
|
[id="plugins-{type}s-{plugin}-sniffing_path"]
|
759
|
-
===== `sniffing_path`
|
817
|
+
===== `sniffing_path`
|
760
818
|
|
761
819
|
* Value type is <<string,string>>
|
762
820
|
* There is no default value for this setting.
|
@@ -767,7 +825,7 @@ if sniffing_path is set it will be used as an absolute path
|
|
767
825
|
do not use full URL here, only paths, e.g. "/sniff/_nodes/http"
|
768
826
|
|
769
827
|
[id="plugins-{type}s-{plugin}-ssl"]
|
770
|
-
===== `ssl`
|
828
|
+
===== `ssl`
|
771
829
|
|
772
830
|
* Value type is <<boolean,boolean>>
|
773
831
|
* There is no default value for this setting.
|
@@ -777,7 +835,7 @@ is specified in the URLs listed in 'hosts'. If no explicit protocol is specified
|
|
777
835
|
If SSL is explicitly disabled here the plugin will refuse to start if an HTTPS URL is given in 'hosts'
|
778
836
|
|
779
837
|
[id="plugins-{type}s-{plugin}-ssl_certificate_verification"]
|
780
|
-
===== `ssl_certificate_verification`
|
838
|
+
===== `ssl_certificate_verification`
|
781
839
|
|
782
840
|
* Value type is <<boolean,boolean>>
|
783
841
|
* Default value is `true`
|
@@ -787,7 +845,7 @@ For more information on disabling certificate verification please read
|
|
787
845
|
https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf
|
788
846
|
|
789
847
|
[id="plugins-{type}s-{plugin}-template"]
|
790
|
-
===== `template`
|
848
|
+
===== `template`
|
791
849
|
|
792
850
|
* Value type is <<path,path>>
|
793
851
|
* There is no default value for this setting.
|
@@ -796,10 +854,13 @@ You can set the path to your own template here, if you so desire.
|
|
796
854
|
If not set, the included template will be used.
|
797
855
|
|
798
856
|
[id="plugins-{type}s-{plugin}-template_name"]
|
799
|
-
===== `template_name`
|
857
|
+
===== `template_name`
|
800
858
|
|
801
859
|
* Value type is <<string,string>>
|
802
|
-
* Default value is
|
860
|
+
* Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
|
861
|
+
** ECS Compatibility disabled: `logstash`
|
862
|
+
** ECS Compatibility enabled: `ecs-logstash`
|
863
|
+
|
803
864
|
|
804
865
|
This configuration option defines how the template is named inside Elasticsearch.
|
805
866
|
Note that if you have used the template management features and subsequently
|
@@ -810,7 +871,7 @@ change this, you will need to prune the old template manually, e.g.
|
|
810
871
|
where `OldTemplateName` is whatever the former setting was.
|
811
872
|
|
812
873
|
[id="plugins-{type}s-{plugin}-template_overwrite"]
|
813
|
-
===== `template_overwrite`
|
874
|
+
===== `template_overwrite`
|
814
875
|
|
815
876
|
* Value type is <<boolean,boolean>>
|
816
877
|
* Default value is `false`
|
@@ -827,7 +888,7 @@ template (logstash), setting this to true will make Logstash to overwrite
|
|
827
888
|
the "logstash" template (i.e. removing all customized settings)
|
828
889
|
|
829
890
|
[id="plugins-{type}s-{plugin}-timeout"]
|
830
|
-
===== `timeout`
|
891
|
+
===== `timeout`
|
831
892
|
|
832
893
|
* Value type is <<number,number>>
|
833
894
|
* Default value is `60`
|
@@ -836,7 +897,7 @@ Set the timeout, in seconds, for network operations and requests sent Elasticsea
|
|
836
897
|
a timeout occurs, the request will be retried.
|
837
898
|
|
838
899
|
[id="plugins-{type}s-{plugin}-truststore"]
|
839
|
-
===== `truststore`
|
900
|
+
===== `truststore`
|
840
901
|
|
841
902
|
* Value type is <<path,path>>
|
842
903
|
* There is no default value for this setting.
|
@@ -846,7 +907,7 @@ It can be either .jks or .p12.
|
|
846
907
|
Use either `:truststore` or `:cacert`.
|
847
908
|
|
848
909
|
[id="plugins-{type}s-{plugin}-truststore_password"]
|
849
|
-
===== `truststore_password`
|
910
|
+
===== `truststore_password`
|
850
911
|
|
851
912
|
* Value type is <<password,password>>
|
852
913
|
* There is no default value for this setting.
|
@@ -854,7 +915,7 @@ Use either `:truststore` or `:cacert`.
|
|
854
915
|
Set the truststore password
|
855
916
|
|
856
917
|
[id="plugins-{type}s-{plugin}-upsert"]
|
857
|
-
===== `upsert`
|
918
|
+
===== `upsert`
|
858
919
|
|
859
920
|
* Value type is <<string,string>>
|
860
921
|
* Default value is `""`
|
@@ -863,7 +924,7 @@ Set upsert content for update mode.
|
|
863
924
|
Create a new document with this parameter as json string if `document_id` doesn't exists
|
864
925
|
|
865
926
|
[id="plugins-{type}s-{plugin}-user"]
|
866
|
-
===== `user`
|
927
|
+
===== `user`
|
867
928
|
|
868
929
|
* Value type is <<string,string>>
|
869
930
|
* There is no default value for this setting.
|
@@ -871,7 +932,7 @@ Create a new document with this parameter as json string if `document_id` doesn'
|
|
871
932
|
Username to authenticate to a secure Elasticsearch cluster
|
872
933
|
|
873
934
|
[id="plugins-{type}s-{plugin}-validate_after_inactivity"]
|
874
|
-
===== `validate_after_inactivity`
|
935
|
+
===== `validate_after_inactivity`
|
875
936
|
|
876
937
|
* Value type is <<number,number>>
|
877
938
|
* Default value is `10000`
|
@@ -886,7 +947,7 @@ have become stale (half-closed) while kept inactive in the pool.'
|
|
886
947
|
See https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html#setValidateAfterInactivity(int)[these docs for more info]
|
887
948
|
|
888
949
|
[id="plugins-{type}s-{plugin}-version"]
|
889
|
-
===== `version`
|
950
|
+
===== `version`
|
890
951
|
|
891
952
|
* Value type is <<string,string>>
|
892
953
|
* There is no default value for this setting.
|
@@ -895,7 +956,7 @@ The version to use for indexing. Use sprintf syntax like `%{my_version}` to use
|
|
895
956
|
See https://www.elastic.co/blog/elasticsearch-versioning-support.
|
896
957
|
|
897
958
|
[id="plugins-{type}s-{plugin}-version_type"]
|
898
|
-
===== `version_type`
|
959
|
+
===== `version_type`
|
899
960
|
|
900
961
|
* Value can be any of: `internal`, `external`, `external_gt`, `external_gte`, `force`
|
901
962
|
* There is no default value for this setting.
|