logstash-output-elasticsearch 8.2.0-java → 8.2.2-java
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|