logstash-output-elasticsearch 8.2.0-java → 8.2.2-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 +6 -0
- data/docs/index.asciidoc +23 -6
- data/lib/logstash/outputs/elasticsearch/common.rb +1 -1
- data/logstash-output-elasticsearch.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 100a0be14e669078212f2b1a5f11513814819bfd
|
4
|
+
data.tar.gz: 4be944e73c0e885b740f29e211b657dcca3e05f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73cd4330d52da5f8a7b30843d554ea95b79c242de425fa8ffae55a5e33b541c6841d70b18d418aeb24f4fbb258e82aa6828d161a16a422345d30b95fe206fdcf
|
7
|
+
data.tar.gz: d82311c0b9dc47484b50846b5bf05adc0950909b38b5bedfea2b21bf0e464655ff68794efc956864dabb153824f0a1121680fd9de924e63513b43a6fd92dbf7b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### 8.2.2
|
2
|
+
- Use `#response_body` instead of `#body` when debugging response from the server #679
|
3
|
+
|
4
|
+
## 8.2.1
|
5
|
+
- Docs: Add DLQ policy section
|
6
|
+
|
1
7
|
## 8.2.0
|
2
8
|
- Improved Elasticsearch version handling
|
3
9
|
- Improved event error logging when DLQ is disabled in Logstash
|
data/docs/index.asciidoc
CHANGED
@@ -23,7 +23,7 @@ include::{include_path}/plugin_header.asciidoc[]
|
|
23
23
|
.Compatibility Note
|
24
24
|
[NOTE]
|
25
25
|
================================================================================
|
26
|
-
Starting with Elasticsearch 5.3, there's an {ref}modules-http.html[HTTP setting]
|
26
|
+
Starting with Elasticsearch 5.3, there's an {ref}/modules-http.html[HTTP setting]
|
27
27
|
called `http.content_type.required`. If this option is set to `true`, and you
|
28
28
|
are using Logstash 2.4 through 5.2, you need to update the Elasticsearch output
|
29
29
|
plugin to version 6.2.5 or higher.
|
@@ -41,14 +41,17 @@ to upgrade Logstash in lock-step.
|
|
41
41
|
You can learn more about Elasticsearch at <https://www.elastic.co/products/elasticsearch>
|
42
42
|
|
43
43
|
==== Template management for Elasticsearch 5.x
|
44
|
+
|
44
45
|
Index template for this version (Logstash 5.0) has been changed to reflect Elasticsearch's mapping changes in version 5.0.
|
45
46
|
Most importantly, the subfield for string multi-fields has changed from `.raw` to `.keyword` to match ES default
|
46
47
|
behavior.
|
47
48
|
|
48
|
-
**
|
49
|
+
**Users installing ES 5.x and LS 5.x**
|
50
|
+
|
49
51
|
This change will not affect you and you will continue to use the ES defaults.
|
50
52
|
|
51
|
-
**
|
53
|
+
**Users upgrading from LS 2.x to LS 5.x with ES 5.x**
|
54
|
+
|
52
55
|
LS will not force upgrade the template, if `logstash` template already exists. This means you will still use
|
53
56
|
`.raw` for sub-fields coming from 2.x. If you choose to use the new template, you will have to reindex your data after
|
54
57
|
the new template is installed.
|
@@ -63,13 +66,27 @@ request are handled differently than error codes for individual documents.
|
|
63
66
|
HTTP requests to the bulk API are expected to return a 200 response code. All other response codes are retried indefinitely.
|
64
67
|
|
65
68
|
The following document errors are handled as follows:
|
66
|
-
|
67
|
-
|
69
|
+
|
70
|
+
* 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 <<dlq-policy>> for more info.
|
71
|
+
* 409 errors (conflict) are logged as a warning and dropped.
|
68
72
|
|
69
73
|
Note that 409 exceptions are no longer retried. Please set a higher `retry_on_conflict` value if you experience 409 exceptions.
|
70
74
|
It is more performant for Elasticsearch to retry these exceptions than this plugin.
|
71
75
|
|
72
|
-
|
76
|
+
[[dlq-policy]]
|
77
|
+
==== DLQ Policy
|
78
|
+
|
79
|
+
Mapping (404) errors from Elasticsearch can lead to data loss. Unfortunately
|
80
|
+
mapping errors cannot be handled without human intervention and without looking
|
81
|
+
at the field that caused the mapping mismatch. If the DLQ is enabled, the
|
82
|
+
original events causing the mapping errors are stored in a file that can be
|
83
|
+
processed at a later time. Often times, the offending field can be removed and
|
84
|
+
re-indexed to Elasticsearch. If the DLQ is not enabled, and a mapping error
|
85
|
+
happens, the problem is logged as a warning, and the event is dropped. See
|
86
|
+
<<dead-letter-queues>> for more information about processing events in the DLQ.
|
87
|
+
|
88
|
+
==== Batch Sizes
|
89
|
+
|
73
90
|
This plugin attempts to send batches of events as a single request. However, if
|
74
91
|
a request exceeds 20MB we will break it up until multiple batch requests. If a single document exceeds 20MB it will be sent as a single request.
|
75
92
|
|
@@ -248,7 +248,7 @@ module LogStash; module Outputs; class ElasticSearch;
|
|
248
248
|
retry unless @stopping.true?
|
249
249
|
rescue ::LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError => e
|
250
250
|
log_hash = {:code => e.response_code, :url => e.url.sanitized.to_s}
|
251
|
-
log_hash[:body] = e.
|
251
|
+
log_hash[:body] = e.response_body if @logger.debug? # Generally this is too verbose
|
252
252
|
message = "Encountered a retryable error. Will Retry with exponential backoff "
|
253
253
|
|
254
254
|
# We treat 429s as a special case because these really aren't errors, but
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-output-elasticsearch'
|
3
|
-
s.version = '8.2.
|
3
|
+
s.version = '8.2.2'
|
4
4
|
s.licenses = ['apache-2.0']
|
5
5
|
s.summary = "Logstash Output to Elasticsearch"
|
6
6
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|