logstash-output-elasticsearch-test 10.3.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +397 -0
  3. data/CONTRIBUTORS +33 -0
  4. data/Gemfile +15 -0
  5. data/LICENSE +13 -0
  6. data/NOTICE.TXT +5 -0
  7. data/README.md +106 -0
  8. data/docs/index.asciidoc +899 -0
  9. data/lib/logstash/outputs/elasticsearch/common.rb +441 -0
  10. data/lib/logstash/outputs/elasticsearch/common_configs.rb +167 -0
  11. data/lib/logstash/outputs/elasticsearch/default-ilm-policy.json +14 -0
  12. data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es2x.json +95 -0
  13. data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es5x.json +46 -0
  14. data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es6x.json +45 -0
  15. data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es7x.json +44 -0
  16. data/lib/logstash/outputs/elasticsearch/elasticsearch-template-es8x.json +44 -0
  17. data/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb +131 -0
  18. data/lib/logstash/outputs/elasticsearch/http_client/pool.rb +495 -0
  19. data/lib/logstash/outputs/elasticsearch/http_client.rb +432 -0
  20. data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +159 -0
  21. data/lib/logstash/outputs/elasticsearch/ilm.rb +113 -0
  22. data/lib/logstash/outputs/elasticsearch/template_manager.rb +61 -0
  23. data/lib/logstash/outputs/elasticsearch.rb +263 -0
  24. data/logstash-output-elasticsearch.gemspec +33 -0
  25. data/spec/es_spec_helper.rb +189 -0
  26. data/spec/fixtures/_nodes/2x_1x.json +27 -0
  27. data/spec/fixtures/_nodes/5x_6x.json +81 -0
  28. data/spec/fixtures/_nodes/7x.json +92 -0
  29. data/spec/fixtures/htpasswd +2 -0
  30. data/spec/fixtures/nginx_reverse_proxy.conf +22 -0
  31. data/spec/fixtures/scripts/groovy/scripted_update.groovy +2 -0
  32. data/spec/fixtures/scripts/groovy/scripted_update_nested.groovy +2 -0
  33. data/spec/fixtures/scripts/groovy/scripted_upsert.groovy +2 -0
  34. data/spec/fixtures/scripts/painless/scripted_update.painless +2 -0
  35. data/spec/fixtures/scripts/painless/scripted_update_nested.painless +1 -0
  36. data/spec/fixtures/scripts/painless/scripted_upsert.painless +1 -0
  37. data/spec/fixtures/template-with-policy-es6x.json +48 -0
  38. data/spec/fixtures/template-with-policy-es7x.json +45 -0
  39. data/spec/fixtures/test_certs/ca/ca.crt +32 -0
  40. data/spec/fixtures/test_certs/ca/ca.key +51 -0
  41. data/spec/fixtures/test_certs/test.crt +36 -0
  42. data/spec/fixtures/test_certs/test.key +51 -0
  43. data/spec/integration/outputs/compressed_indexing_spec.rb +69 -0
  44. data/spec/integration/outputs/create_spec.rb +67 -0
  45. data/spec/integration/outputs/delete_spec.rb +65 -0
  46. data/spec/integration/outputs/groovy_update_spec.rb +150 -0
  47. data/spec/integration/outputs/ilm_spec.rb +531 -0
  48. data/spec/integration/outputs/index_spec.rb +178 -0
  49. data/spec/integration/outputs/index_version_spec.rb +102 -0
  50. data/spec/integration/outputs/ingest_pipeline_spec.rb +74 -0
  51. data/spec/integration/outputs/metrics_spec.rb +70 -0
  52. data/spec/integration/outputs/no_es_on_startup_spec.rb +58 -0
  53. data/spec/integration/outputs/painless_update_spec.rb +189 -0
  54. data/spec/integration/outputs/parent_spec.rb +102 -0
  55. data/spec/integration/outputs/retry_spec.rb +169 -0
  56. data/spec/integration/outputs/routing_spec.rb +61 -0
  57. data/spec/integration/outputs/sniffer_spec.rb +133 -0
  58. data/spec/integration/outputs/templates_5x_spec.rb +98 -0
  59. data/spec/integration/outputs/templates_spec.rb +98 -0
  60. data/spec/integration/outputs/update_spec.rb +116 -0
  61. data/spec/support/elasticsearch/api/actions/delete_ilm_policy.rb +19 -0
  62. data/spec/support/elasticsearch/api/actions/get_alias.rb +18 -0
  63. data/spec/support/elasticsearch/api/actions/get_ilm_policy.rb +18 -0
  64. data/spec/support/elasticsearch/api/actions/put_alias.rb +24 -0
  65. data/spec/support/elasticsearch/api/actions/put_ilm_policy.rb +25 -0
  66. data/spec/unit/http_client_builder_spec.rb +185 -0
  67. data/spec/unit/outputs/elasticsearch/http_client/manticore_adapter_spec.rb +149 -0
  68. data/spec/unit/outputs/elasticsearch/http_client/pool_spec.rb +274 -0
  69. data/spec/unit/outputs/elasticsearch/http_client_spec.rb +250 -0
  70. data/spec/unit/outputs/elasticsearch/template_manager_spec.rb +25 -0
  71. data/spec/unit/outputs/elasticsearch_proxy_spec.rb +72 -0
  72. data/spec/unit/outputs/elasticsearch_spec.rb +675 -0
  73. data/spec/unit/outputs/elasticsearch_ssl_spec.rb +82 -0
  74. data/spec/unit/outputs/error_whitelist_spec.rb +54 -0
  75. metadata +300 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fab2ea46616c35bb02bd9393b79a7d1663a558c6
4
+ data.tar.gz: a98e3e7833839b7de12dfc41e5c89efd85c09193
5
+ SHA512:
6
+ metadata.gz: 49074e667a38efb5f0c408f8d2d1b45ff46984a7c77396e29fc525dbdaabe843d64d40ee329016eb6b62f37623b8533a9cf3bca33f98a27e201e924bdd06485b
7
+ data.tar.gz: 097eda35571fd91ae6aa3011532abab8fcbc40d652a9c5b2314396260cbdbcb241f0af873c958df30ef47ef922b2d6cc11348046c1692d9d4434913aedadcb70
data/CHANGELOG.md ADDED
@@ -0,0 +1,397 @@
1
+ ## 10.3.0
2
+ - Feat: Added support for cloud_id and cloud_auth [#906](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/906)
3
+
4
+ ## 10.2.3
5
+ - 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)
6
+
7
+ ## 10.2.2
8
+ - Fixed 8.x type removal compatibility issue [#892](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/892)
9
+
10
+ ## 10.2.1
11
+ - 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)
12
+
13
+ ## 10.2.0
14
+ - 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)
15
+ - Added template for connecting to ES 8.x [#871](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/871)
16
+ - Added sniffing support for ES 8.x [#878](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/878)
17
+
18
+ ## 10.1.0
19
+ - Added cluster id tracking through the plugin metadata registry [#857](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/857)
20
+
21
+ ## 10.0.2
22
+ - Fixed bug where index patterns in custom templates could be erroneously overwritten [#861](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/861)
23
+
24
+ ## 10.0.1
25
+ - Reverted `document_type` obsoletion [#844](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/844)
26
+
27
+ ## 10.0.0 (yanked due to issues with document_type obsoletion)
28
+ - Changed deprecated `document_type` option to obsolete [#824](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/824)
29
+ - Remove support for parent child (still support join data type) since we don't support multiple document types any more
30
+ - Removed obsolete `flush_size` and `idle_flush_time`
31
+ - Added 'auto' setting for ILM with default of 'auto' [#838](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/838)
32
+
33
+ ## 9.3.2
34
+ - Fixed sniffing support for 7.x [#827](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/827)
35
+
36
+ ## 9.3.1
37
+ - 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)
38
+
39
+ ## 9.3.0
40
+ - 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)
41
+
42
+ ## 9.2.4
43
+ - Fixed support for Elasticsearch 7.x [#812](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/812)
44
+
45
+ ## 9.2.3
46
+ - Tweaked logging statements to reduce verbosity
47
+
48
+ ## 9.2.2
49
+ - Fixed numerous issues relating to builds on Travis [#799](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/799)
50
+
51
+ ## 9.2.1
52
+ - Added text offering hosted Elasticsearch service
53
+
54
+ ## 9.2.0
55
+ - Added support for customizing HTTP headers [#782](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/782)
56
+
57
+ ## 9.1.4
58
+ - Log an error -- not a warning -- when ES raises an invalid\_index\_name\_exception.
59
+
60
+ ## 9.1.3
61
+ - Improve plugin behavior when Elasticsearch is down on startup #758
62
+
63
+ ## 9.1.2
64
+ - No user facing changes, removed unnecessary test dep.
65
+
66
+ ## 9.1.1
67
+ - Docs: Set the default_codec doc attribute.
68
+
69
+ ## 9.1.0
70
+ - Set number_of_shards to 1 and document_type to '_doc' for es 7.x clusters #741 #747
71
+ - Fix usage of upsert and script when update action is interpolated #239
72
+ - Add metrics to track bulk level and document level responses #585
73
+
74
+ ## 9.0.3
75
+ - Ignore master-only nodes when using sniffing
76
+
77
+ ## 9.0.2
78
+ - Ignore event's type field for the purpose of setting document `_type` if cluster is es 6.x or above
79
+
80
+ ## 9.0.1
81
+ - Update gemspec summary
82
+
83
+ ### 9.0.0
84
+ - Change default document type to 'doc' from 'logs' to align with beats and reflect the generic nature of logstash.
85
+ - Deprecate 'document_type' option
86
+
87
+ ### 8.2.2
88
+ - Use `#response_body` instead of `#body` when debugging response from the server #679
89
+
90
+ ## 8.2.1
91
+ - Docs: Add DLQ policy section
92
+
93
+ ## 8.2.0
94
+ - Improved Elasticsearch version handling
95
+ - Improved event error logging when DLQ is disabled in Logstash
96
+
97
+ ## 8.1.1
98
+ - Retry all non-200 responses of the bulk API indefinitely
99
+ - Improve documentation on retry codes
100
+
101
+ ## 8.1.0
102
+ - Support Elasticsearch 6.x join field type
103
+ ## 8.0.2
104
+ - Fix bug where logging errors for bad response codes would raise an unhandled exception
105
+
106
+ ## 8.0.1
107
+ - Fix some documentation issues
108
+
109
+ ## 8.0.0
110
+ - Breaking: make deprecated options :flush_size and :idle_flush_time obsolete
111
+ - Remove obsolete options :max_retries and :retry_max_items
112
+ - Fix: handling of initial single big event
113
+ - Fix: typo was enabling http compression by default this returns it back to false
114
+
115
+ ## 7.3.7
116
+ - Properly support characters needing escaping in users / passwords across multiple SafeURI implementions (pre/post LS 5.5.1)
117
+ - Logstash 5.5.0 does NOT work with this release as it has a broken SafeURI implementation
118
+
119
+ ## 7.3.6
120
+ - Bump for doc gen
121
+
122
+ ## 7.3.5
123
+ - Fix incorrect variable reference when DLQing events
124
+
125
+ ## 7.3.4
126
+ - Fix incorrect handling of bulk_path containing ?s
127
+
128
+ ## 7.3.3
129
+ - Fix JRuby 9k incompatibilities and use new URI class that is JRuby 9k compatible
130
+
131
+ ## 7.3.2
132
+ - Fix error where a 429 would cause this output to crash
133
+ - Wait for all inflight requests to complete before stopping
134
+
135
+ ## 7.3.1
136
+ - Fix the backwards compatibility layer used for detecting DLQ capabilities in logstash core
137
+
138
+ ## 7.3.0
139
+ - Log 429 errors as debug instead of error. These aren't actual errors and cause users undue concern.
140
+ This status code is triggered when ES wants LS to backoff, which it does correctly (exponentially)
141
+
142
+ ## 7.2.2
143
+ - Docs: Add requirement to use version 6.2.5 or higher to support sending Content-Type headers.
144
+
145
+ ## 7.2.1
146
+ - Expose a `#post` method in the http client class to be use by other modules
147
+
148
+ ## 7.2.0
149
+ - Support 6.0.0-alpha1 version of Elasticsearch by adding a separate 6x template
150
+ - Note: This version is backwards compatible w.r.t. config, but for ES 6.0.0, `_all` has been
151
+ removed. This BWC issue only affects ES version 6.x; older versions
152
+ can be used with this plugin as is.
153
+
154
+ ## 7.1.0
155
+ - Add support to compress requests using the new `http_compression` option.
156
+
157
+ ## 7.0.0
158
+ - introduce customization of bulk, healthcheck and sniffing paths with the behaviour:
159
+ - if not set: the default value will be used
160
+ - if not set and path is also set: the default is appended to path
161
+ - if set: the set value will be used, ignoring the default and path setting
162
+ - removes absolute_healthcheck_path and query_parameters
163
+
164
+ ## 6.2.6
165
+ - Fixed: Change how the healthcheck_path is treated: either append it to any existing path (default) or replace any existing path
166
+ Also ensures that the healthcheck url contains no query parameters regarless of hosts urls contains them or query_params being set. #554
167
+
168
+ ## 6.2.5
169
+ - Send the Content-Type: application/json header that proper ES clients should send
170
+
171
+ ## 6.2.4
172
+ - Fix bug where using escaped characters in the password field would attempt to show a warning but instead crash.
173
+ The warning was also not necessary since escaped characters never worked there before.
174
+
175
+ ## 6.2.3
176
+ - Fixed a bug introduced in 6.2.2 where passwords needing escapes were not actually sent to ES properly
177
+ encoded.
178
+
179
+ ## 6.2.2
180
+ - Fixed a bug that forced users to URL encode the `password` option.
181
+ If you are currently manually escaping your passwords upgrading to this version
182
+ will break authentication. You should unescape your password if you have implemented
183
+ this workaround as it will otherwise be doubly encoded.
184
+ URL escaping is STILL required for passwords inline with URLs in the `hosts` option.
185
+
186
+ ## 6.2.1
187
+ - When an HTTP error is encountered, log the response body instead of the request.
188
+ The request body will still be logged at debug level.
189
+
190
+ ## 6.2.0
191
+ - Add version number / version conflict support
192
+
193
+ ## 6.1.0
194
+ - Add option to use an absolute healthcheck path
195
+
196
+ ## 6.0.0
197
+ - Proxies requiring auth now always work when a URL is specified
198
+ - It is no longer possible to specify a proxy as a hash due to security reasons
199
+ - Fix URL normalization logic to correctly apply all settings to sniffed hosts
200
+ - Proxies requiring auth now always work when a URL is specified
201
+ - Switch internals to new LogStash::Util::SafeURI type for more defensive approach to logging credentials
202
+
203
+ ## 5.4.1
204
+ - Correctly sniff against ES 5.x clusters
205
+
206
+ ## 5.4.0
207
+ - Perform healthcheck against hosts right after startup / sniffing
208
+ - Add support for custom query parameters
209
+
210
+ ## 5.3.5
211
+ - Docs: Remove mention of using the elasticsearch_java output plugin because it is no longer supported
212
+
213
+ ## 5.3.4
214
+ - Add `sprintf` or event dependent configuration when specifying ingest pipeline
215
+
216
+ ## 5.3.3
217
+ - Hide user/password in connection pool
218
+
219
+ ## 5.3.2
220
+ - Use byte size, not char count for bulk operation size checks
221
+
222
+ ## 5.3.1
223
+ - depends on Adressable ~> 2.3.0 to satisfy development dependency of the core ([logstash/#6204](https://github.com/elastic/logstash/issues/6204))
224
+
225
+ ## 5.3.0
226
+ - Bulk operations will now target 20MB chunks at a time to reduce heap usage
227
+
228
+ ## 5.2.0
229
+ - Change default lang for scripts to be painless, inline with ES 5.0. Earlier there was no default.
230
+
231
+ ## 5.1.2
232
+ - Hide credentials in exceptions and log messages ([#482](https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/482))
233
+ - [internal] Remove dependency on longshoreman project
234
+
235
+ ## 5.1.1
236
+ - Hide user and password from the URL logged during sniffing process.
237
+
238
+ ## 5.1.0
239
+ - Add check_connection_timeout parameter (default 10m)
240
+ - Set default timeout to 60s
241
+
242
+ ## 5.0.0
243
+ - Breaking Change: Index template for 5.0 has been changed to reflect Elasticsearch's mapping changes. Most importantly,
244
+ 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))
245
+
246
+ **Users installing ES 5.x and LS 5.x**
247
+ This change will not affect you and you will continue to use the ES defaults.
248
+
249
+ **Users upgrading from LS 2.x to LS 5.x with ES 5.x**
250
+ LS will not force upgrade the template, if `logstash` template already exists. This means you will still use
251
+ `.raw` for sub-fields coming from 2.x. If you choose to use the new template, you will have to reindex your data after
252
+ the new template is installed.
253
+
254
+ ## 4.1.3
255
+ - Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
256
+
257
+ ## 4.1.2
258
+
259
+ - 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
260
+
261
+ ## 4.1.1
262
+ - Fix bug where setting credentials would cause fatal errors. See https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/441
263
+
264
+ ## 4.1.0
265
+ - breaking,config: Removed obsolete config `host` and `port`. Please use the `hosts` config with the `[host:port]` syntax.
266
+ - breaking,config: Removed obsolete config `index_type`. Please use `document_type` instead.
267
+ - breaking,config: Set config `max_retries` and `retry_max_items` as obsolete
268
+
269
+ ## 4.0.0
270
+ - Make this plugin threadsafe. Workers no longer needed or supported
271
+ - Add pool_max and pool_max_per_route options
272
+
273
+ ## 3.0.2
274
+ - Fix issues where URI based paths in 'hosts' would not function correctly
275
+
276
+ ## 3.0.1
277
+ - Republish all the gems under jruby.
278
+
279
+ ## 3.0.0
280
+ - 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
281
+
282
+ ## 2.7.0
283
+ - Add `pipeline` configuration option for setting an ingest pipeline to run upon indexing
284
+
285
+
286
+ ## 2.6.2
287
+ - Fix bug where update index actions would not work with events with 'data' field
288
+
289
+ ## 2.6.1
290
+ - Add 'retry_on_conflict' configuration option which should have been here from the beginning
291
+
292
+ ## 2.5.2
293
+ - Fix bug with update document with doc_as_upsert and scripting (#364, #359)
294
+ - Make error messages more verbose and easier to parse by humans
295
+ - Retryable failures are now logged at the info level instead of warning. (issue #372)
296
+
297
+ ## 2.5.1
298
+ - Fix bug where SSL would sometimes not be enabled
299
+
300
+ ## 2.5.0
301
+ - Host settings now are more robust to bad input
302
+ - Host settings can now take full URLs
303
+
304
+ ## 2.4.2
305
+ - Make flush_size actually cap the batch size in LS 2.2+
306
+
307
+ ## 2.4.1
308
+ - Used debug level instead of info when emitting flush log message
309
+ - Updated docs about template
310
+
311
+ ## 2.4.0
312
+ - Scripted update support courtesy of @Da-Wei
313
+
314
+ ## 2.3.2
315
+ - Fix bug where max_retry_interval was not respected for HTTP error codes
316
+
317
+ ## 2.3.1
318
+ - Bump manticore dependenvy to 0.5.2
319
+
320
+ ## 2.3.0
321
+ - Now retry too busy and service unavailable errors infinitely.
322
+ - Never retry conflict errors
323
+ - Fix broken delete verb that would fail due to sending body with verb
324
+
325
+ ## 2.2.0
326
+ - Serialize access to the connection pool in es-ruby client
327
+ - Add support for parent relationship
328
+
329
+ ## 2.1.5
330
+ - Sprintf style 'action' parameters no longer raise a LogStash::ConfigurationError
331
+
332
+ ## 2.1.4
333
+ - Improved the default template to disable fielddata on analyzed string fields. #309
334
+ - Dependend on logstash-core 2.0.0 released version, rather than RC1
335
+
336
+ ## 2.1.3
337
+ - Improved the default template to use doc_values wherever possible.
338
+ - Template contains example mappings for every numeric type. You must map your
339
+ own fields to make use of anything other than long and double.
340
+
341
+ ## 2.1.2
342
+ - Fixed dependencies (#280)
343
+ - Fixed an RSpec test (#281)
344
+
345
+ ## 2.1.1
346
+ - Made host config obsolete.
347
+
348
+ ## 2.1.0
349
+ - New setting: timeout. This lets you control the behavior of a slow/stuck
350
+ request to Elasticsearch that could be, for example, caused by network,
351
+ firewall, or load balancer issues.
352
+
353
+ ## 2.0.0
354
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
355
+ instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
356
+ - Dependency on logstash-core update to 2.0
357
+
358
+ ## 2.0.0-beta2
359
+ - Massive internal refactor of client handling
360
+ - Background HTTP sniffing support
361
+ - Reduced bulk request size to 500 from 5000 (better memory utilization)
362
+ - Removed 'host' config option. Now use 'hosts'
363
+
364
+ ## 2.0.0-beta
365
+ - Only support HTTP Protocol
366
+ - Removed support for node and transport protocols (now in logstash-output-elasticsearch_java)
367
+
368
+ ## 1.0.7
369
+ - Add update API support
370
+
371
+ ## 1.0.6
372
+ - Fix warning about Concurrent lib deprecation
373
+
374
+ ## 1.0.4
375
+ - Update to Elasticsearch 1.7
376
+
377
+ ## 1.0.3
378
+ - Add HTTP proxy support
379
+
380
+ ## 1.0.2
381
+ - Upgrade Manticore HTTP Client
382
+
383
+ ## 1.0.1
384
+ - Allow client certificates
385
+
386
+ ## 0.2.9
387
+ - Add 'path' parameter for ES HTTP hosts behind a proxy on a subpath
388
+
389
+ ## 0.2.8 (June 12, 2015)
390
+ - Add option to enable and disable SSL certificate verification during handshake (#160)
391
+ - Doc improvements for clarifying round robin behavior using hosts config
392
+
393
+ ## 0.2.7 (May 28, 2015)
394
+ - Bump es-ruby version to 1.0.10
395
+
396
+ ## 0.2.6 (May 28, 2015)
397
+ - Disable timeouts when using http protocol which would cause bulk requests to fail (#103)
data/CONTRIBUTORS ADDED
@@ -0,0 +1,33 @@
1
+ The following is a list of people who have contributed ideas, code, bug
2
+ reports, or in general have helped logstash along its way.
3
+
4
+ Contributors:
5
+ * Aaron Mildenstein (untergeek)
6
+ * Bob Corsaro (dokipen)
7
+ * Colin Surprenant (colinsurprenant)
8
+ * Dmitry Koprov (dkoprov)
9
+ * Graham Bleach (bleach)
10
+ * Hao Chen (haoch)
11
+ * Ivan Babrou (bobrik)
12
+ * James Turnbull (jamtur01)
13
+ * John E. Vincent (lusis)
14
+ * Jordan Sissel (jordansissel)
15
+ * João Duarte (jsvd)
16
+ * Kurt Hurtado (kurtado)
17
+ * Miah Johnson (miah)
18
+ * Pere Urbón (purbon)
19
+ * Pete Fritchman (fetep)
20
+ * Pier-Hugues Pellerin (ph)
21
+ * Raymond Feng (raymondfeng)
22
+ * Richard Pijnenburg (electrical)
23
+ * Spenser Jones (SpenserJ)
24
+ * Suyog Rao (suyograo)
25
+ * Tal Levy (talevy)
26
+ * Tom Hodder (tolland)
27
+ * jimmyjones2
28
+ * Gabriel Moskovicz (gmoskovicz)
29
+
30
+ Note: If you've sent us patches, bug reports, or otherwise contributed to
31
+ Logstash, and you aren't on the list above and want to be, please let us know
32
+ and we'll make sure you're here. Contributions from folks like you are what make
33
+ open source awesome.
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ logstash_path = ENV["LOGSTASH_PATH"] || "../../logstash"
6
+ use_logstash_source = ENV["LOGSTASH_SOURCE"] && ENV["LOGSTASH_SOURCE"].to_s == "1"
7
+
8
+ if Dir.exist?(logstash_path) && use_logstash_source
9
+ gem 'logstash-core', :path => "#{logstash_path}/logstash-core"
10
+ gem 'logstash-core-plugin-api', :path => "#{logstash_path}/logstash-core-plugin-api"
11
+ end
12
+
13
+ if RUBY_VERSION == "1.9.3"
14
+ gem 'rake', '12.2.1'
15
+ end
data/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2012-2018 Elasticsearch <http://www.elastic.co>
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
data/NOTICE.TXT ADDED
@@ -0,0 +1,5 @@
1
+ Elasticsearch
2
+ Copyright 2012-2015 Elasticsearch
3
+
4
+ This product includes software developed by The Apache Software
5
+ Foundation (http://www.apache.org/).
data/README.md ADDED
@@ -0,0 +1,106 @@
1
+ # Logstash Plugin
2
+
3
+ [![Travis Build Status](https://travis-ci.org/logstash-plugins/logstash-output-elasticsearch.svg)](https://travis-ci.org/logstash-plugins/logstash-output-elasticsearch)
4
+
5
+ This is a plugin for [Logstash](https://github.com/elastic/logstash).
6
+
7
+ It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
8
+
9
+ ## Documentation
10
+
11
+ Logstash provides infrastructure to automatically generate documentation for this plugin. We use the asciidoc format to write documentation so any comments in the source code will be first converted into asciidoc and then into html. All plugin documentation are placed under one [central location](http://www.elastic.co/guide/en/logstash/current/).
12
+
13
+ - For formatting code or config example, you can use the asciidoc `[source,ruby]` directive
14
+ - For more asciidoc formatting tips, see the excellent reference here https://github.com/elastic/docs#asciidoc-guide
15
+
16
+ ## Need Help?
17
+
18
+ Need help? Try #logstash on freenode IRC or the https://discuss.elastic.co/c/logstash discussion forum.
19
+
20
+ ## Developing
21
+
22
+ ### 1. Plugin Developement and Testing
23
+
24
+ #### Code
25
+ - To get started, you'll need JRuby with the Bundler gem installed.
26
+
27
+ - Create a new plugin or clone and existing from the GitHub [logstash-plugins](https://github.com/logstash-plugins) organization. We also provide [example plugins](https://github.com/logstash-plugins?query=example).
28
+
29
+ - Install dependencies
30
+ ```sh
31
+ bundle install
32
+ ```
33
+
34
+ #### Test
35
+
36
+ - Update your dependencies
37
+
38
+ ```sh
39
+ bundle install
40
+ ```
41
+
42
+ - Run unit tests
43
+
44
+ ```sh
45
+ bundle exec rspec
46
+ ```
47
+
48
+ - Run integration tests
49
+
50
+ ```sh
51
+ export INTEGRATION=true
52
+ export ES_VERSION=5.1.1
53
+ ./travis-run.sh
54
+ ```
55
+
56
+ ### 2. Running your unpublished Plugin in Logstash
57
+
58
+ #### 2.1 Run in a local Logstash clone
59
+
60
+ - Edit Logstash `Gemfile` and add the local plugin path, for example:
61
+ ```ruby
62
+ gem "logstash-filter-awesome", :path => "/your/local/logstash-filter-awesome"
63
+ ```
64
+ - Install plugin
65
+ ```sh
66
+ # Logstash 2.3 and higher
67
+ bin/logstash-plugin install --no-verify
68
+
69
+ # Prior to Logstash 2.3
70
+ bin/plugin install --no-verify
71
+
72
+ ```
73
+ - Run Logstash with your plugin
74
+ ```sh
75
+ bin/logstash -e 'filter {awesome {}}'
76
+ ```
77
+ At this point any modifications to the plugin code will be applied to this local Logstash setup. After modifying the plugin, simply rerun Logstash.
78
+
79
+ #### 2.2 Run in an installed Logstash
80
+
81
+ You can use the same **2.1** method to run your plugin in an installed Logstash by editing its `Gemfile` and pointing the `:path` to your local plugin development directory or you can build the gem and install it using:
82
+
83
+ - Build your plugin gem
84
+ ```sh
85
+ gem build logstash-filter-awesome.gemspec
86
+ ```
87
+ - Install the plugin from the Logstash home
88
+ ```sh
89
+ # Logstash 2.3 and higher
90
+ bin/logstash-plugin install --no-verify
91
+
92
+ # Prior to Logstash 2.3
93
+ bin/plugin install --no-verify
94
+
95
+ ```
96
+ - Start Logstash and proceed to test the plugin
97
+
98
+ ## Contributing
99
+
100
+ All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
101
+
102
+ Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
103
+
104
+ It is more important to the community that you are able to contribute.
105
+
106
+ For more information about contributing, see the [CONTRIBUTING](https://github.com/elastic/logstash/blob/master/CONTRIBUTING.md) file.