logstash-output-elasticsearch 11.3.3-java → 11.5.0-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 +16 -0
- data/Gemfile +2 -1
- data/docs/index.asciidoc +21 -3
- data/lib/logstash/outputs/elasticsearch/http_client.rb +2 -2
- data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +8 -6
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-7x.json +2196 -288
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v1/elasticsearch-8x.json +2196 -288
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v8/elasticsearch-7x.json +1 -1
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v8/elasticsearch-8x.json +1 -1
- data/lib/logstash/plugin_mixins/elasticsearch/api_configs.rb +2 -0
- data/logstash-output-elasticsearch.gemspec +2 -3
- data/spec/es_spec_helper.rb +5 -1
- data/spec/fixtures/test_certs/{ca/ca.crt → ca.crt} +0 -0
- data/spec/fixtures/test_certs/{ca/ca.key → ca.key} +0 -0
- data/spec/fixtures/test_certs/test.p12 +0 -0
- data/spec/fixtures/test_certs/test_invalid.crt +36 -0
- data/spec/fixtures/test_certs/test_invalid.key +51 -0
- data/spec/fixtures/test_certs/test_invalid.p12 +0 -0
- data/spec/fixtures/test_certs/test_self_signed.crt +32 -0
- data/spec/fixtures/test_certs/test_self_signed.key +54 -0
- data/spec/fixtures/test_certs/test_self_signed.p12 +0 -0
- data/spec/integration/outputs/ilm_spec.rb +2 -1
- data/spec/integration/outputs/index_spec.rb +143 -48
- data/spec/integration/outputs/ingest_pipeline_spec.rb +2 -1
- data/spec/integration/outputs/no_es_on_startup_spec.rb +12 -6
- data/spec/integration/outputs/retry_spec.rb +2 -1
- data/spec/unit/outputs/elasticsearch_ssl_spec.rb +1 -1
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7eab2dc342c636e2d5df4e2f9bbd776b446cf110a0803c11fc919fcbbd2f2d83
|
4
|
+
data.tar.gz: 565ed3031b685f8541853043d486bda0cff8aa7da2c6f2733e0e2b43345de099
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fbb452170d276531d9b202538d9cf0a23b834053309c818aaaff6f75dd41ecd3d787394234c295639d95d2fe763d1063424cff56b598d1ba16e2fe92374df44
|
7
|
+
data.tar.gz: 6b7f17fa679306e65ec94a048ef2205ec9f884cbd11fe1adf861dbb1eccaea752105c3bf149a4fe08f1cdb3c6189200d612dc4cece52ac937eb78d599b188926
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## 11.5.0
|
2
|
+
- Feat: add ssl_supported_protocols option [#1055](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1055)
|
3
|
+
|
4
|
+
## 11.4.2
|
5
|
+
- [DOC] Add `v8` to supported values for ecs_compatiblity defaults [#1059](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1059)
|
6
|
+
|
7
|
+
## 11.4.1
|
8
|
+
- Feat: upgrade manticore (http-client) library [#1063](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1063)
|
9
|
+
- the underlying changes include latest HttpClient (4.5.13)
|
10
|
+
- resolves an old issue with `ssl_certificate_verification => false` still doing some verification logic
|
11
|
+
|
12
|
+
## 11.4.0
|
13
|
+
- Updates ECS templates [#1062](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1062)
|
14
|
+
- Updates v1 templates to 1.12.1 for use with Elasticsearch 7.x and 8.x
|
15
|
+
- Updates BETA preview of ECS v8 templates for Elasticsearch 7.x and 8.x
|
16
|
+
|
1
17
|
## 11.3.3
|
2
18
|
- Feat: add support for 'traces' data stream type [#1057](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1057)
|
3
19
|
|
data/Gemfile
CHANGED
data/docs/index.asciidoc
CHANGED
@@ -355,6 +355,7 @@ This plugin supports the following configuration options plus the
|
|
355
355
|
| <<plugins-{type}s-{plugin}-sniffing_path>> |<<string,string>>|No
|
356
356
|
| <<plugins-{type}s-{plugin}-ssl>> |<<boolean,boolean>>|No
|
357
357
|
| <<plugins-{type}s-{plugin}-ssl_certificate_verification>> |<<boolean,boolean>>|No
|
358
|
+
| <<plugins-{type}s-{plugin}-ssl_supported_protocols>> |<<string,string>>|No
|
358
359
|
| <<plugins-{type}s-{plugin}-template>> |a valid filesystem path|No
|
359
360
|
| <<plugins-{type}s-{plugin}-template_name>> |<<string,string>>|No
|
360
361
|
| <<plugins-{type}s-{plugin}-template_overwrite>> |<<boolean,boolean>>|No
|
@@ -554,7 +555,7 @@ If you don't set a value for this option:
|
|
554
555
|
* Value type is <<string,string>>
|
555
556
|
* Supported values are:
|
556
557
|
** `disabled`: does not provide ECS-compatible templates
|
557
|
-
** `v1`:
|
558
|
+
** `v1`,`v8`: Elastic Common Schema-compliant behavior
|
558
559
|
* Default value depends on which version of Logstash is running:
|
559
560
|
** When Logstash provides a `pipeline.ecs_compatibility` setting, its value is used as the default
|
560
561
|
** Otherwise, the default value is `disabled`.
|
@@ -1004,6 +1005,23 @@ Option to validate the server's certificate. Disabling this severely compromises
|
|
1004
1005
|
For more information on disabling certificate verification please read
|
1005
1006
|
https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf
|
1006
1007
|
|
1008
|
+
[id="plugins-{type}s-{plugin}-ssl_supported_protocols"]
|
1009
|
+
===== `ssl_supported_protocols`
|
1010
|
+
|
1011
|
+
* Value type is <<string,string>>
|
1012
|
+
* Allowed values are: `'TLSv1.1'`, `'TLSv1.2'`, `'TLSv1.3'`
|
1013
|
+
* Default depends on the JDK being used. With up-to-date Logstash, the default is `['TLSv1.2', 'TLSv1.3']`.
|
1014
|
+
`'TLSv1.1'` is not considered secure and is only provided for legacy applications.
|
1015
|
+
|
1016
|
+
List of allowed SSL/TLS versions to use when establishing a connection to the Elasticsearch cluster.
|
1017
|
+
|
1018
|
+
For Java 8 `'TLSv1.3'` is supported only since **8u262** (AdoptOpenJDK), but requires that you set the
|
1019
|
+
`LS_JAVA_OPTS="-Djdk.tls.client.protocols=TLSv1.3"` system property in Logstash.
|
1020
|
+
|
1021
|
+
NOTE: If you configure the plugin to use `'TLSv1.1'` on any recent JVM, such as the one packaged with Logstash,
|
1022
|
+
the protocol is disabled by default and needs to be enabled manually by changing `jdk.tls.disabledAlgorithms` in
|
1023
|
+
the *$JDK_HOME/conf/security/java.security* configuration file. That is, `TLSv1.1` needs to be removed from the list.
|
1024
|
+
|
1007
1025
|
[id="plugins-{type}s-{plugin}-template"]
|
1008
1026
|
===== `template`
|
1009
1027
|
|
@@ -1018,8 +1036,8 @@ If not set, the included template will be used.
|
|
1018
1036
|
|
1019
1037
|
* Value type is <<string,string>>
|
1020
1038
|
* Default value depends on whether <<plugins-{type}s-{plugin}-ecs_compatibility>> is enabled:
|
1021
|
-
|
1022
|
-
|
1039
|
+
** ECS Compatibility disabled: `logstash`
|
1040
|
+
** ECS Compatibility enabled: `ecs-logstash`
|
1023
1041
|
|
1024
1042
|
|
1025
1043
|
This configuration option defines how the template is named inside Elasticsearch.
|
@@ -283,11 +283,11 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
283
283
|
end
|
284
284
|
|
285
285
|
def client_settings
|
286
|
-
@options[:client_settings] || {}
|
286
|
+
@_client_settings ||= @options[:client_settings] || {}
|
287
287
|
end
|
288
288
|
|
289
289
|
def ssl_options
|
290
|
-
client_settings.fetch(:ssl, {})
|
290
|
+
@_ssl_options ||= client_settings.fetch(:ssl, {})
|
291
291
|
end
|
292
292
|
|
293
293
|
def http_compression
|
@@ -132,14 +132,16 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
132
132
|
ssl_options[:keystore] = keystore
|
133
133
|
ssl_options[:keystore_password] = keystore_password.value if keystore_password
|
134
134
|
end
|
135
|
+
|
135
136
|
if !params["ssl_certificate_verification"]
|
136
|
-
logger.warn
|
137
|
-
|
138
|
-
|
139
|
-
"** WARNING ** To make sure your data is secure change :ssl_certificate_verification to true"
|
140
|
-
].join("\n")
|
141
|
-
ssl_options[:verify] = false
|
137
|
+
logger.warn "You have enabled encryption but DISABLED certificate verification, " +
|
138
|
+
"to make sure your data is secure remove `ssl_certificate_verification => false`"
|
139
|
+
ssl_options[:verify] = :disable # false accepts self-signed but still validates hostname
|
142
140
|
end
|
141
|
+
|
142
|
+
protocols = params['ssl_supported_protocols']
|
143
|
+
ssl_options[:protocols] = protocols if protocols && protocols.any?
|
144
|
+
|
143
145
|
{ ssl: ssl_options }
|
144
146
|
end
|
145
147
|
|