logstash-output-elasticsearch-test 11.16.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +649 -0
  3. data/CONTRIBUTORS +34 -0
  4. data/Gemfile +16 -0
  5. data/LICENSE +202 -0
  6. data/NOTICE.TXT +5 -0
  7. data/README.md +106 -0
  8. data/docs/index.asciidoc +1369 -0
  9. data/lib/logstash/outputs/elasticsearch/data_stream_support.rb +282 -0
  10. data/lib/logstash/outputs/elasticsearch/default-ilm-policy.json +14 -0
  11. data/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb +155 -0
  12. data/lib/logstash/outputs/elasticsearch/http_client/pool.rb +534 -0
  13. data/lib/logstash/outputs/elasticsearch/http_client.rb +497 -0
  14. data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +201 -0
  15. data/lib/logstash/outputs/elasticsearch/ilm.rb +92 -0
  16. data/lib/logstash/outputs/elasticsearch/license_checker.rb +52 -0
  17. data/lib/logstash/outputs/elasticsearch/template_manager.rb +131 -0
  18. data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-6x.json +45 -0
  19. data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-7x.json +44 -0
  20. data/lib/logstash/outputs/elasticsearch/templates/ecs-disabled/elasticsearch-8x.json +50 -0
  21. data/lib/logstash/outputs/elasticsearch.rb +699 -0
  22. data/lib/logstash/plugin_mixins/elasticsearch/api_configs.rb +237 -0
  23. data/lib/logstash/plugin_mixins/elasticsearch/common.rb +409 -0
  24. data/lib/logstash/plugin_mixins/elasticsearch/noop_license_checker.rb +9 -0
  25. data/logstash-output-elasticsearch.gemspec +40 -0
  26. data/spec/es_spec_helper.rb +225 -0
  27. data/spec/fixtures/_nodes/6x.json +81 -0
  28. data/spec/fixtures/_nodes/7x.json +92 -0
  29. data/spec/fixtures/htpasswd +2 -0
  30. data/spec/fixtures/license_check/active.json +16 -0
  31. data/spec/fixtures/license_check/inactive.json +5 -0
  32. data/spec/fixtures/nginx_reverse_proxy.conf +22 -0
  33. data/spec/fixtures/scripts/painless/scripted_update.painless +2 -0
  34. data/spec/fixtures/scripts/painless/scripted_update_nested.painless +1 -0
  35. data/spec/fixtures/scripts/painless/scripted_upsert.painless +1 -0
  36. data/spec/fixtures/template-with-policy-es6x.json +48 -0
  37. data/spec/fixtures/template-with-policy-es7x.json +45 -0
  38. data/spec/fixtures/template-with-policy-es8x.json +50 -0
  39. data/spec/fixtures/test_certs/ca.crt +29 -0
  40. data/spec/fixtures/test_certs/ca.der.sha256 +1 -0
  41. data/spec/fixtures/test_certs/ca.key +51 -0
  42. data/spec/fixtures/test_certs/renew.sh +13 -0
  43. data/spec/fixtures/test_certs/test.crt +30 -0
  44. data/spec/fixtures/test_certs/test.der.sha256 +1 -0
  45. data/spec/fixtures/test_certs/test.key +51 -0
  46. data/spec/fixtures/test_certs/test.p12 +0 -0
  47. data/spec/fixtures/test_certs/test_invalid.crt +36 -0
  48. data/spec/fixtures/test_certs/test_invalid.key +51 -0
  49. data/spec/fixtures/test_certs/test_invalid.p12 +0 -0
  50. data/spec/fixtures/test_certs/test_self_signed.crt +32 -0
  51. data/spec/fixtures/test_certs/test_self_signed.key +54 -0
  52. data/spec/fixtures/test_certs/test_self_signed.p12 +0 -0
  53. data/spec/integration/outputs/compressed_indexing_spec.rb +70 -0
  54. data/spec/integration/outputs/create_spec.rb +67 -0
  55. data/spec/integration/outputs/data_stream_spec.rb +68 -0
  56. data/spec/integration/outputs/delete_spec.rb +63 -0
  57. data/spec/integration/outputs/ilm_spec.rb +534 -0
  58. data/spec/integration/outputs/index_spec.rb +421 -0
  59. data/spec/integration/outputs/index_version_spec.rb +98 -0
  60. data/spec/integration/outputs/ingest_pipeline_spec.rb +75 -0
  61. data/spec/integration/outputs/metrics_spec.rb +66 -0
  62. data/spec/integration/outputs/no_es_on_startup_spec.rb +78 -0
  63. data/spec/integration/outputs/painless_update_spec.rb +99 -0
  64. data/spec/integration/outputs/parent_spec.rb +94 -0
  65. data/spec/integration/outputs/retry_spec.rb +182 -0
  66. data/spec/integration/outputs/routing_spec.rb +61 -0
  67. data/spec/integration/outputs/sniffer_spec.rb +94 -0
  68. data/spec/integration/outputs/templates_spec.rb +133 -0
  69. data/spec/integration/outputs/unsupported_actions_spec.rb +75 -0
  70. data/spec/integration/outputs/update_spec.rb +114 -0
  71. data/spec/spec_helper.rb +10 -0
  72. data/spec/support/elasticsearch/api/actions/delete_ilm_policy.rb +19 -0
  73. data/spec/support/elasticsearch/api/actions/get_alias.rb +18 -0
  74. data/spec/support/elasticsearch/api/actions/get_ilm_policy.rb +18 -0
  75. data/spec/support/elasticsearch/api/actions/put_alias.rb +24 -0
  76. data/spec/support/elasticsearch/api/actions/put_ilm_policy.rb +25 -0
  77. data/spec/unit/http_client_builder_spec.rb +185 -0
  78. data/spec/unit/outputs/elasticsearch/data_stream_support_spec.rb +612 -0
  79. data/spec/unit/outputs/elasticsearch/http_client/manticore_adapter_spec.rb +151 -0
  80. data/spec/unit/outputs/elasticsearch/http_client/pool_spec.rb +501 -0
  81. data/spec/unit/outputs/elasticsearch/http_client_spec.rb +339 -0
  82. data/spec/unit/outputs/elasticsearch/template_manager_spec.rb +189 -0
  83. data/spec/unit/outputs/elasticsearch_proxy_spec.rb +103 -0
  84. data/spec/unit/outputs/elasticsearch_spec.rb +1573 -0
  85. data/spec/unit/outputs/elasticsearch_ssl_spec.rb +197 -0
  86. data/spec/unit/outputs/error_whitelist_spec.rb +56 -0
  87. data/spec/unit/outputs/license_check_spec.rb +57 -0
  88. metadata +423 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a943ee45411ba2e7bea761728670d24c3e26e31d
4
+ data.tar.gz: b327258e75ab5e63a90fb5dd4349bd508a8779bb
5
+ SHA512:
6
+ metadata.gz: 801eac5f950150897a8c118c5768c97861a777f8f8a2c743a478ed71fca4e96314af1f15663f495475c1dc9bd8b609e08cf69ed0f2621f7cba03799343c19ad8
7
+ data.tar.gz: 1a89bdc021942923efc92188ae696907e442f29491c1fc5afc86902270734d171e02e49ed96d0744738a4faba4be5472ee578d93a8c7ac990c7e68754904a978
data/CHANGELOG.md ADDED
@@ -0,0 +1,649 @@
1
+ ## 11.16.0
2
+ - Added support to Serverless Elasticsearch [#1445](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1145)
3
+
4
+ ## 11.15.9
5
+ - allow dlq_ settings when using data streams [#1144](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1144)
6
+
7
+ ## 11.15.8
8
+ - Fixes a regression introduced in 11.14.0 which could prevent Logstash 8.8 from establishing a connection to Elasticsearch for Central Management and Monitoring core features [#1141](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/1141)
9
+
10
+ ## 11.15.7
11
+ - Fixes a regression introduced in 11.14.0 which could prevent a connection from being established to Elasticsearch in some SSL configurations [#1138](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/1138)
12
+
13
+ ## 11.15.6
14
+ - Fix: avoid to reject a batch when the Elasticsearch connection is alive and the processing should continue [#1132](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1132).
15
+
16
+ ## 11.15.5
17
+ - Fixes `undefined 'shutdown_requested' method` error when plugin checks if shutdown request is received [#1134](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1134)
18
+
19
+ ## 11.15.4
20
+ - Improved connection handling under several partial-failure scenarios [#1130](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1130)
21
+ - Ensures an HTTP connection can be established before adding the connection to the pool
22
+ - Ensures that the version of the connected Elasticsearch is retrieved _successfully_ before the connection is added to the pool.
23
+ - Fixes a crash that could occur when the plugin is configured to connect to a live HTTP resource that is _not_ Elasticsearch
24
+
25
+ ## 11.15.3
26
+ - Removes the ECS v8 unreleased preview warning [#1131](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1131)
27
+
28
+ ## 11.15.2
29
+ - Restores DLQ logging behavior from 11.8.x to include the action-tuple as structured [#1105](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1105)
30
+
31
+ ## 11.15.1
32
+ - Move async finish_register to bottom of register to avoid race condition [#1125](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1125)
33
+
34
+ ## 11.15.0
35
+ - Added the ability to negatively acknowledge the batch under processing if the plugin is blocked in a retry-error-loop and a shutdown is requested. [#1119](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1119)
36
+
37
+ ## 11.14.1
38
+ - [DOC] Fixed incorrect pull request link on the CHANGELOG `11.14.0` entry [#1122](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1122)
39
+
40
+ ## 11.14.0
41
+ - Added SSL settings for: [#1118](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1118)
42
+ - `ssl_truststore_type`: The format of the truststore file
43
+ - `ssl_keystore_type`: The format of the keystore file
44
+ - `ssl_certificate`: OpenSSL-style X.509 certificate file to authenticate the client
45
+ - `ssl_key`: OpenSSL-style RSA private key that corresponds to the `ssl_certificate`
46
+ - `ssl_cipher_suites`: The list of cipher suites
47
+ - Reviewed and deprecated SSL settings to comply with Logstash's naming convention
48
+ - Deprecated `ssl` in favor of `ssl_enabled`
49
+ - Deprecated `cacert` in favor of `ssl_certificate_authorities`
50
+ - Deprecated `keystore` in favor of `ssl_keystore_path`
51
+ - Deprecated `keystore_password` in favor of `ssl_keystore_password`
52
+ - Deprecated `truststore` in favor of `ssl_truststore_path`
53
+ - Deprecated `truststore_password` in favor of `ssl_truststore_password`
54
+ - Deprecated `ssl_certificate_verification` in favor of `ssl_verification_mode`
55
+
56
+ ## 11.13.1
57
+ - Avoid crash by ensuring ILM settings are injected in the correct location depending on the default (or custom) template format, template_api setting and ES version [#1102](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1102)
58
+
59
+ ## 11.13.0
60
+ - add technology preview support for allowing events to individually encode a default pipeline with `[@metadata][target_ingest_pipeline]` (as part of a technology preview, this feature may change without notice) [#1113](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1113)
61
+
62
+ ## 11.12.4
63
+ - Changed the `manage_template` default value to `false` when data streams is enabled [#1111](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1111)
64
+ - Added the `manage_template => false` as a valid data stream option
65
+
66
+ ## 11.12.3
67
+ - Changed the log messages for data stream checks [#1109](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1109)
68
+ - Added more details about incompatible data streams supplied configurations
69
+ - Changed the data stream auto-configuration log levels from `debug` to `info`
70
+
71
+ ## 11.12.2
72
+ - [Doc] Fixes the broken apache http client link [#1101](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1101)
73
+
74
+ ## 11.12.1
75
+ - Log bulk request response body on error, not just when debug logging is enabled [#1096](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1096)
76
+
77
+ ## 11.12.0
78
+ - Add legacy template API support for Elasticsearch 8 [#1092](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1092)
79
+
80
+ ## 11.11.0
81
+ - When using an `api_key` along with either `cloud_id` or https `hosts`, you no longer need to also specify `ssl => true`[#1066](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/1066). Fixes [#935](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/935) and [#1065](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/1065)
82
+
83
+ ## 11.10.0
84
+ - Feature: expose `dlq_routed` document metric to track the documents routed into DLQ [#1090](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1090)
85
+
86
+ ## 11.9.3
87
+ - DOC: clarify that `http_compression` option only affects _requests_; compressed _responses_ have always been read independent of this setting [#1030 ](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1030)
88
+
89
+ ## 11.9.2
90
+ - Fix broken link to Logstash Reference [#1085](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1085)
91
+
92
+ ## 11.9.1
93
+ - Fixes a possible infinite-retry-loop that could occur when this plugin is configured with an `action` whose value contains a [sprintf-style placeholder][] that fails to be resolved for an individual event. Events in this state will be routed to the pipeline's [dead letter queue][DLQ] if it is available, or will be logged-and-dropped so that the remaining events in the batch can be processed [#1080](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1080)
94
+
95
+ [sprintf-style placeholder]: https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html#sprintf
96
+ [DLQ]: https://www.elastic.co/guide/en/logstash/current/dead-letter-queues.html
97
+
98
+ ## 11.9.0
99
+ - Feature: force unresolved dynamic index names to be sent into DLQ. This feature could be explicitly disabled using `dlq_on_failed_indexname_interpolation` setting [#1084](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1084)
100
+
101
+ ## 11.8.0
102
+ - Feature: Adds a new `dlq_custom_codes` option to customize DLQ codes [#1067](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1067)
103
+
104
+ ## 11.7.0
105
+ - Feature: deprecates the `failure_type_logging_whitelist` configuration option, renaming it `silence_errors_in_log` [#1068](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1068)
106
+
107
+ ## 11.6.0
108
+ - Added support for `ca_trusted_fingerprint` when run on Logstash 8.3+ [#1074](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1074)
109
+
110
+ ## 11.5.0
111
+ - Feat: add ssl_supported_protocols option [#1055](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1055)
112
+
113
+ ## 11.4.2
114
+ - [DOC] Add `v8` to supported values for ecs_compatiblity defaults [#1059](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1059)
115
+
116
+ ## 11.4.1
117
+ - Feat: upgrade manticore (http-client) library [#1063](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1063)
118
+ - the underlying changes include latest HttpClient (4.5.13)
119
+ - resolves an old issue with `ssl_certificate_verification => false` still doing some verification logic
120
+
121
+ ## 11.4.0
122
+ - Updates ECS templates [#1062](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1062)
123
+ - Updates v1 templates to 1.12.1 for use with Elasticsearch 7.x and 8.x
124
+ - Updates BETA preview of ECS v8 templates for Elasticsearch 7.x and 8.x
125
+
126
+ ## 11.3.3
127
+ - Feat: add support for 'traces' data stream type [#1057](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1057)
128
+
129
+ ## 11.3.2
130
+ - Refactor: review manticore error handling/logging, logging originating cause in case of connection related error when debug level is enabled [#1029](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1029)
131
+ - Java causes on connection related exceptions will now be extra logged when plugin is logging at debug level
132
+
133
+ ## 11.3.1
134
+ - ECS-related fixes [#1046](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1046)
135
+ - Data Streams requirement on ECS is properly enforced when running on Logstash 8, and warned about when running on Logstash 7.
136
+ - ECS Compatibility v8 can now be selected
137
+
138
+ ## 11.3.0
139
+ - Adds ECS templates [#1048](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1048)
140
+ - Adds templates for ECS v1 for Elasticsearch 8.x
141
+ - Adds templates for BETA preview of ECS v8 for both Elasticsearch 7.x and 8.x
142
+
143
+ ## 11.2.3
144
+ - Downgrade ECS templates, pinning to v1.10.0 of upstream; fixes an issue where ECS templates cannot be installed in Elasticsearch 6.x or 7.1-7.2, since the generated templates include fields of `type: flattened` that was introduced in Elasticsearch 7.3. [#1049](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1049)
145
+
146
+ ## 11.2.2
147
+ - Update ECS templates from upstream; `ecs_compatiblity => v1` now resolves to templates for ECS v1.12.1 [#1047](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1047). Fixes [#1027](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/1027)
148
+
149
+ ## 11.2.1
150
+ - Fix referencing Gem classes from global lexical scope [#1044](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1044)
151
+
152
+ ## 11.2.0
153
+ - Added preflight checks on Elasticsearch [#1026](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1026)
154
+
155
+ ## 11.1.0
156
+ - Feat: add `user-agent` header passed to the Elasticsearch HTTP connection [#1038](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1038)
157
+
158
+ ## 11.0.5
159
+ - Fixed running post-register action when Elasticsearch status change from unhealthy to healthy [#1035](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1035)
160
+
161
+ ## 11.0.4
162
+ - [DOC] Clarify that `http_compression` applies to _requests_, and remove noise about _response_ decompression [#1000](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1000)
163
+
164
+ ## 11.0.3
165
+ - Fixed SSL handshake hang indefinitely with proxy setup [#1032](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1032)
166
+
167
+ ## 11.0.2
168
+ - Validate that required functionality in Elasticsearch is available upon initial connection [#1015](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1015)
169
+
170
+ ## 11.0.1
171
+ - Fix: DLQ regression shipped in 11.0.0 [#1012](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1012)
172
+ - [DOC] Fixed broken link in list item [#1011](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1011)
173
+
174
+ ## 11.0.0
175
+ - Feat: Data stream support [#988](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/988)
176
+ - Refactor: reviewed logging format + restored ES (initial) setup error logging
177
+ - Feat: always check ES license [#1005](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1005)
178
+
179
+ Since Elasticsearch no longer provides an OSS artifact the plugin will no longer skip the license check on OSS Logstash.
180
+
181
+ ## 10.8.6
182
+ - Fixed an issue where a single over-size event being rejected by Elasticsearch would cause the entire entire batch to be retried indefinitely. The oversize event will still be retried on its own and logging has been improved to include payload sizes in this situation [#972](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/972)
183
+ - Fixed an issue with `http_compression => true` where a well-compressed payload could fit under our outbound 20MB limit but expand beyond Elasticsearch's 100MB limit, causing bulk failures. Bulk grouping is now determined entirely by the decompressed payload size [#823](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/823)
184
+ - Improved debug-level logging about bulk requests.
185
+
186
+ ## 10.8.5
187
+ - Feat: assert returned item count from _bulk [#997](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/997)
188
+
189
+ ## 10.8.4
190
+ - Fixed an issue where a retried request would drop "update" parameters [#800](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/800)
191
+
192
+ ## 10.8.3
193
+ - Avoid to implicitly set deprecated type to `_doc` when connects to Elasticsearch version 7.x [#994](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/994)
194
+
195
+ ## 10.8.2
196
+ - [DOC] Update links to use shared attributes [#985](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/985)
197
+
198
+ ## 10.8.1
199
+ - Fixed an issue when assigning the no-op license checker [#984](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/984)
200
+
201
+ ## 10.8.0
202
+ - Refactored configuration options into specific and shared in PluginMixins namespace [#973](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/973)
203
+ - Refactored common methods into specific and shared in PluginMixins namespace [#976](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/976)
204
+
205
+ ## 10.7.3
206
+ - Added composable index template support for elasticsearch version 8 [#980](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/980)
207
+
208
+ ## 10.7.2
209
+ - [DOC] Fixed links to restructured Logstash-to-cloud docs [#975](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/975)
210
+
211
+ ## 10.7.1
212
+ - [DOC] Document the permissions required in secured clusters [#969](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/969)
213
+
214
+ ## 10.7.0
215
+ - 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)
216
+
217
+ ## 10.6.2
218
+ - [DOC] Added clarifying info on http compression settings and behaviors [#943](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/943)
219
+ - [DOC] Fixed entry for ilm_policy default value[#956](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/956)
220
+
221
+ ## 10.6.1
222
+ - 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)
223
+
224
+ ## 10.6.0
225
+ - Added `ecs_compatiblity` mode, for managing ECS-compatable templates [#952](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/952)
226
+
227
+ ## 10.5.1
228
+ - [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)
229
+
230
+ ## 10.5.0
231
+ - Added api_key support [#934](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/934)
232
+
233
+ ## 10.4.1
234
+ - [DOC] Added note about `_type` setting change from `doc` to `_doc` [#884](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/884)
235
+
236
+ ## 10.4.0
237
+ - Fixed default index value [#927](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/927)
238
+
239
+ ## 10.3.3
240
+ - [DOC] Replaced link to Elastic Cloud trial with attribute, and fixed a comma splice [#926](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/926)
241
+
242
+ ## 10.3.2
243
+ - [DOC] Replaced setting name with correct value [#919](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/919)
244
+ - Fixed integration tests for Elasticsearch 7.6+ [#922](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/922)
245
+ - Fixed integration tests for Elasticsearch API `7.5.0` [#923](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/923)
246
+
247
+ ## 10.3.1
248
+ - Fix: handle proxy => '' as if none was set [#912](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/912)
249
+
250
+ ## 10.3.0
251
+ - Feat: Added support for cloud_id and cloud_auth [#906](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/906)
252
+
253
+ ## 10.2.3
254
+ - Opened type removal logic for extension. This allows X-Pack Elasticsearch output to continue using types for special case `/_monitoring` bulk endpoint, enabling a fix for LogStash #11312. [#900](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/900)
255
+
256
+ ## 10.2.2
257
+ - Fixed 8.x type removal compatibility issue [#892](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/892)
258
+
259
+ ## 10.2.1
260
+ - Fixed wording and corrected option in documentation [#881](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/881) [#883](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/883)
261
+
262
+ ## 10.2.0
263
+ - Deprecation: Added warning about connecting a default Distribution of Logstash with an OSS version of ES [#875](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/875)
264
+ - Added template for connecting to ES 8.x [#871](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/871)
265
+ - Added sniffing support for ES 8.x [#878](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/878)
266
+
267
+ ## 10.1.0
268
+ - Added cluster id tracking through the plugin metadata registry [#857](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/857)
269
+
270
+ ## 10.0.2
271
+ - Fixed bug where index patterns in custom templates could be erroneously overwritten [#861](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/861)
272
+
273
+ ## 10.0.1
274
+ - Reverted `document_type` obsoletion [#844](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/844)
275
+
276
+ ## 10.0.0 (yanked due to issues with document_type obsoletion)
277
+ - Changed deprecated `document_type` option to obsolete [#824](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/824)
278
+ - Remove support for parent child (still support join data type) since we don't support multiple document types any more
279
+ - Removed obsolete `flush_size` and `idle_flush_time`
280
+ - Switched default setting for ilm_enabled to 'auto' [#838](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/838)
281
+
282
+ ## 9.4.0
283
+ - Added 'auto' setting for ilm_enabled with default of 'false'
284
+
285
+ ## 9.3.2
286
+ - Fixed sniffing support for 7.x [#827](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/827)
287
+
288
+ ## 9.3.1
289
+ - Fixed issue with escaping index names which was causing writing aliases for ILM to fail [#831](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/831)
290
+
291
+ ## 9.3.0
292
+ - Adds support for Index Lifecycle Management for Elasticsearch 6.6.0 and above, running with at least a Basic License(Beta) [#805](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/805)
293
+
294
+ ## 9.2.4
295
+ - Fixed support for Elasticsearch 7.x [#812](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/812)
296
+
297
+ ## 9.2.3
298
+ - Tweaked logging statements to reduce verbosity
299
+
300
+ ## 9.2.2
301
+ - Fixed numerous issues relating to builds on Travis [#799](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/799)
302
+
303
+ ## 9.2.1
304
+ - Added text offering hosted Elasticsearch service
305
+
306
+ ## 9.2.0
307
+ - Added support for customizing HTTP headers [#782](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/782)
308
+
309
+ ## 9.1.4
310
+ - Log an error -- not a warning -- when ES raises an invalid\_index\_name\_exception.
311
+
312
+ ## 9.1.3
313
+ - Improve plugin behavior when Elasticsearch is down on startup #758
314
+
315
+ ## 9.1.2
316
+ - No user facing changes, removed unnecessary test dep.
317
+
318
+ ## 9.1.1
319
+ - Docs: Set the default_codec doc attribute.
320
+
321
+ ## 9.1.0
322
+ - Set number_of_shards to 1 and document_type to '_doc' for es 7.x clusters #741 #747
323
+ - Fix usage of upsert and script when update action is interpolated #239
324
+ - Add metrics to track bulk level and document level responses #585
325
+
326
+ ## 9.0.3
327
+ - Ignore master-only nodes when using sniffing
328
+
329
+ ## 9.0.2
330
+ - Ignore event's type field for the purpose of setting document `_type` if cluster is es 6.x or above
331
+
332
+ ## 9.0.1
333
+ - Update gemspec summary
334
+
335
+ ### 9.0.0
336
+ - Change default document type to 'doc' from 'logs' to align with beats and reflect the generic nature of logstash.
337
+ - Deprecate 'document_type' option
338
+
339
+ ### 8.2.2
340
+ - Use `#response_body` instead of `#body` when debugging response from the server #679
341
+
342
+ ## 8.2.1
343
+ - Docs: Add DLQ policy section
344
+
345
+ ## 8.2.0
346
+ - Improved Elasticsearch version handling
347
+ - Improved event error logging when DLQ is disabled in Logstash
348
+
349
+ ## 8.1.1
350
+ - Retry all non-200 responses of the bulk API indefinitely
351
+ - Improve documentation on retry codes
352
+
353
+ ## 8.1.0
354
+ - Support Elasticsearch 6.x join field type
355
+ ## 8.0.2
356
+ - Fix bug where logging errors for bad response codes would raise an unhandled exception
357
+
358
+ ## 8.0.1
359
+ - Fix some documentation issues
360
+
361
+ ## 8.0.0
362
+ - Breaking: make deprecated options :flush_size and :idle_flush_time obsolete
363
+ - Remove obsolete options :max_retries and :retry_max_items
364
+ - Fix: handling of initial single big event
365
+ - Fix: typo was enabling http compression by default this returns it back to false
366
+
367
+ ## 7.3.7
368
+ - Properly support characters needing escaping in users / passwords across multiple SafeURI implementions (pre/post LS 5.5.1)
369
+ - Logstash 5.5.0 does NOT work with this release as it has a broken SafeURI implementation
370
+
371
+ ## 7.3.6
372
+ - Bump for doc gen
373
+
374
+ ## 7.3.5
375
+ - Fix incorrect variable reference when DLQing events
376
+
377
+ ## 7.3.4
378
+ - Fix incorrect handling of bulk_path containing ?s
379
+
380
+ ## 7.3.3
381
+ - Fix JRuby 9k incompatibilities and use new URI class that is JRuby 9k compatible
382
+
383
+ ## 7.3.2
384
+ - Fix error where a 429 would cause this output to crash
385
+ - Wait for all inflight requests to complete before stopping
386
+
387
+ ## 7.3.1
388
+ - Fix the backwards compatibility layer used for detecting DLQ capabilities in logstash core
389
+
390
+ ## 7.3.0
391
+ - Log 429 errors as debug instead of error. These aren't actual errors and cause users undue concern.
392
+ This status code is triggered when ES wants LS to backoff, which it does correctly (exponentially)
393
+
394
+ ## 7.2.2
395
+ - Docs: Add requirement to use version 6.2.5 or higher to support sending Content-Type headers.
396
+
397
+ ## 7.2.1
398
+ - Expose a `#post` method in the http client class to be use by other modules
399
+
400
+ ## 7.2.0
401
+ - Support 6.0.0-alpha1 version of Elasticsearch by adding a separate 6x template
402
+ - Note: This version is backwards compatible w.r.t. config, but for ES 6.0.0, `_all` has been
403
+ removed. This BWC issue only affects ES version 6.x; older versions
404
+ can be used with this plugin as is.
405
+
406
+ ## 7.1.0
407
+ - Add support to compress requests using the new `http_compression` option.
408
+
409
+ ## 7.0.0
410
+ - introduce customization of bulk, healthcheck and sniffing paths with the behaviour:
411
+ - if not set: the default value will be used
412
+ - if not set and path is also set: the default is appended to path
413
+ - if set: the set value will be used, ignoring the default and path setting
414
+ - removes absolute_healthcheck_path and query_parameters
415
+
416
+ ## 6.2.6
417
+ - Fixed: Change how the healthcheck_path is treated: either append it to any existing path (default) or replace any existing path
418
+ Also ensures that the healthcheck url contains no query parameters regarless of hosts urls contains them or query_params being set. #554
419
+
420
+ ## 6.2.5
421
+ - Send the Content-Type: application/json header that proper ES clients should send
422
+
423
+ ## 6.2.4
424
+ - Fix bug where using escaped characters in the password field would attempt to show a warning but instead crash.
425
+ The warning was also not necessary since escaped characters never worked there before.
426
+
427
+ ## 6.2.3
428
+ - Fixed a bug introduced in 6.2.2 where passwords needing escapes were not actually sent to ES properly
429
+ encoded.
430
+
431
+ ## 6.2.2
432
+ - Fixed a bug that forced users to URL encode the `password` option.
433
+ If you are currently manually escaping your passwords upgrading to this version
434
+ will break authentication. You should unescape your password if you have implemented
435
+ this workaround as it will otherwise be doubly encoded.
436
+ URL escaping is STILL required for passwords inline with URLs in the `hosts` option.
437
+
438
+ ## 6.2.1
439
+ - When an HTTP error is encountered, log the response body instead of the request.
440
+ The request body will still be logged at debug level.
441
+
442
+ ## 6.2.0
443
+ - Add version number / version conflict support
444
+
445
+ ## 6.1.0
446
+ - Add option to use an absolute healthcheck path
447
+
448
+ ## 6.0.0
449
+ - Proxies requiring auth now always work when a URL is specified
450
+ - It is no longer possible to specify a proxy as a hash due to security reasons
451
+ - Fix URL normalization logic to correctly apply all settings to sniffed hosts
452
+ - Proxies requiring auth now always work when a URL is specified
453
+ - Switch internals to new LogStash::Util::SafeURI type for more defensive approach to logging credentials
454
+
455
+ ## 5.4.1
456
+ - Correctly sniff against ES 5.x clusters
457
+
458
+ ## 5.4.0
459
+ - Perform healthcheck against hosts right after startup / sniffing
460
+ - Add support for custom query parameters
461
+
462
+ ## 5.3.5
463
+ - Docs: Remove mention of using the elasticsearch_java output plugin because it is no longer supported
464
+
465
+ ## 5.3.4
466
+ - Add `sprintf` or event dependent configuration when specifying ingest pipeline
467
+
468
+ ## 5.3.3
469
+ - Hide user/password in connection pool
470
+
471
+ ## 5.3.2
472
+ - Use byte size, not char count for bulk operation size checks
473
+
474
+ ## 5.3.1
475
+ - depends on Adressable ~> 2.3.0 to satisfy development dependency of the core ([logstash/#6204](https://github.com/elastic/logstash/issues/6204))
476
+
477
+ ## 5.3.0
478
+ - Bulk operations will now target 20MB chunks at a time to reduce heap usage
479
+
480
+ ## 5.2.0
481
+ - Change default lang for scripts to be painless, inline with ES 5.0. Earlier there was no default.
482
+
483
+ ## 5.1.2
484
+ - Hide credentials in exceptions and log messages ([#482](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/482))
485
+ - [internal] Remove dependency on longshoreman project
486
+
487
+ ## 5.1.1
488
+ - Hide user and password from the URL logged during sniffing process.
489
+
490
+ ## 5.1.0
491
+ - Add check_connection_timeout parameter (default 10m)
492
+ - Set default timeout to 60s
493
+
494
+ ## 5.0.0
495
+ - Breaking Change: Index template for 5.0 has been changed to reflect Elasticsearch's mapping changes. Most importantly,
496
+ the subfield for string multi-fields has changed from `.raw` to `.keyword` to match ES default behavior. ([#386](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/386))
497
+
498
+ **Users installing ES 5.x and LS 5.x**
499
+ This change will not affect you and you will continue to use the ES defaults.
500
+
501
+ **Users upgrading from LS 2.x to LS 5.x with ES 5.x**
502
+ LS will not force upgrade the template, if `logstash` template already exists. This means you will still use
503
+ `.raw` for sub-fields coming from 2.x. If you choose to use the new template, you will have to reindex your data after
504
+ the new template is installed.
505
+
506
+ ## 4.1.3
507
+ - Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
508
+
509
+ ## 4.1.2
510
+
511
+ - Added a configuration called failure_type_logging_whitelist which takes a list of strings, that are error types from elasticsearch, so we prevent logging WARN if elasticsearch fails with that action. See https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/423
512
+
513
+ ## 4.1.1
514
+ - Fix bug where setting credentials would cause fatal errors. See https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/441
515
+
516
+ ## 4.1.0
517
+ - breaking,config: Removed obsolete config `host` and `port`. Please use the `hosts` config with the `[host:port]` syntax.
518
+ - breaking,config: Removed obsolete config `index_type`. Please use `document_type` instead.
519
+ - breaking,config: Set config `max_retries` and `retry_max_items` as obsolete
520
+
521
+ ## 4.0.0
522
+ - Make this plugin threadsafe. Workers no longer needed or supported
523
+ - Add pool_max and pool_max_per_route options
524
+
525
+ ## 3.0.2
526
+ - Fix issues where URI based paths in 'hosts' would not function correctly
527
+
528
+ ## 3.0.1
529
+ - Republish all the gems under jruby.
530
+
531
+ ## 3.0.0
532
+ - Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See https://github.com/elastic/logstash/issues/5141
533
+
534
+ ## 2.7.0
535
+ - Add `pipeline` configuration option for setting an ingest pipeline to run upon indexing
536
+
537
+
538
+ ## 2.6.2
539
+ - Fix bug where update index actions would not work with events with 'data' field
540
+
541
+ ## 2.6.1
542
+ - Add 'retry_on_conflict' configuration option which should have been here from the beginning
543
+
544
+ ## 2.5.2
545
+ - Fix bug with update document with doc_as_upsert and scripting (#364, #359)
546
+ - Make error messages more verbose and easier to parse by humans
547
+ - Retryable failures are now logged at the info level instead of warning. (issue #372)
548
+
549
+ ## 2.5.1
550
+ - Fix bug where SSL would sometimes not be enabled
551
+
552
+ ## 2.5.0
553
+ - Host settings now are more robust to bad input
554
+ - Host settings can now take full URLs
555
+
556
+ ## 2.4.2
557
+ - Make flush_size actually cap the batch size in LS 2.2+
558
+
559
+ ## 2.4.1
560
+ - Used debug level instead of info when emitting flush log message
561
+ - Updated docs about template
562
+
563
+ ## 2.4.0
564
+ - Scripted update support courtesy of @Da-Wei
565
+
566
+ ## 2.3.2
567
+ - Fix bug where max_retry_interval was not respected for HTTP error codes
568
+
569
+ ## 2.3.1
570
+ - Bump manticore dependenvy to 0.5.2
571
+
572
+ ## 2.3.0
573
+ - Now retry too busy and service unavailable errors infinitely.
574
+ - Never retry conflict errors
575
+ - Fix broken delete verb that would fail due to sending body with verb
576
+
577
+ ## 2.2.0
578
+ - Serialize access to the connection pool in es-ruby client
579
+ - Add support for parent relationship
580
+
581
+ ## 2.1.5
582
+ - Sprintf style 'action' parameters no longer raise a LogStash::ConfigurationError
583
+
584
+ ## 2.1.4
585
+ - Improved the default template to disable fielddata on analyzed string fields. #309
586
+ - Dependend on logstash-core 2.0.0 released version, rather than RC1
587
+
588
+ ## 2.1.3
589
+ - Improved the default template to use doc_values wherever possible.
590
+ - Template contains example mappings for every numeric type. You must map your
591
+ own fields to make use of anything other than long and double.
592
+
593
+ ## 2.1.2
594
+ - Fixed dependencies (#280)
595
+ - Fixed an RSpec test (#281)
596
+
597
+ ## 2.1.1
598
+ - Made host config obsolete.
599
+
600
+ ## 2.1.0
601
+ - New setting: timeout. This lets you control the behavior of a slow/stuck
602
+ request to Elasticsearch that could be, for example, caused by network,
603
+ firewall, or load balancer issues.
604
+
605
+ ## 2.0.0
606
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
607
+ instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
608
+ - Dependency on logstash-core update to 2.0
609
+
610
+ ## 2.0.0-beta2
611
+ - Massive internal refactor of client handling
612
+ - Background HTTP sniffing support
613
+ - Reduced bulk request size to 500 from 5000 (better memory utilization)
614
+ - Removed 'host' config option. Now use 'hosts'
615
+
616
+ ## 2.0.0-beta
617
+ - Only support HTTP Protocol
618
+ - Removed support for node and transport protocols (now in logstash-output-elasticsearch_java)
619
+
620
+ ## 1.0.7
621
+ - Add update API support
622
+
623
+ ## 1.0.6
624
+ - Fix warning about Concurrent lib deprecation
625
+
626
+ ## 1.0.4
627
+ - Update to Elasticsearch 1.7
628
+
629
+ ## 1.0.3
630
+ - Add HTTP proxy support
631
+
632
+ ## 1.0.2
633
+ - Upgrade Manticore HTTP Client
634
+
635
+ ## 1.0.1
636
+ - Allow client certificates
637
+
638
+ ## 0.2.9
639
+ - Add 'path' parameter for ES HTTP hosts behind a proxy on a subpath
640
+
641
+ ## 0.2.8 (June 12, 2015)
642
+ - Add option to enable and disable SSL certificate verification during handshake (#160)
643
+ - Doc improvements for clarifying round robin behavior using hosts config
644
+
645
+ ## 0.2.7 (May 28, 2015)
646
+ - Bump es-ruby version to 1.0.10
647
+
648
+ ## 0.2.6 (May 28, 2015)
649
+ - Disable timeouts when using http protocol which would cause bulk requests to fail (#103)