logstash-input-beats 6.1.6-java → 6.2.3-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bdfb961f6671cbce9a01f9df53f0e2fa83ec6ac2f14521b51f2dfe32508b181b
4
- data.tar.gz: ebf3b53c4b9efd6dd9be89b76e3d46ee2cae71f9c01d481fabddb4104e0ea546
3
+ metadata.gz: 446bfe3611386055b8281c6193e7165bcdaf590b852524126d6d71f656003646
4
+ data.tar.gz: a7a4c6a404451d755f3ee08709af7110a0b3a78afcb0482dd3e74d03cf971cab
5
5
  SHA512:
6
- metadata.gz: a060db6f3d84a1aaa41d7da73728c16d959484af1d85efce09ac811597288faf7d89a66bff10a7254f394ee51eb70b9723df8488b1c61916b9b48ea2bba6bc70
7
- data.tar.gz: 467e8d01b6a2c94dcf0afffcea88aa967fb3518b6be42722691b85f4497864e8645d468b3adbdba07dd8900be23a9b858b50be3c005f777f4da49b021b40fd63
6
+ metadata.gz: ccb49c86382f59e90759a1b65cc6d51d84e55c58761de3ae36e000b13fded516a6f25ac2fc654bb3e6e1900a7ba1387fff6962dc19523614a3e17d97f9530a8a
7
+ data.tar.gz: 8b3751ecca1e985b2e2ed1ef5caae6062b6a7310b2f3fc3a7e3a627537e6e9c1a57f490d2f4f7d325200eb59655a5d4b74cf65fec50829c32d0f30fffb3f3e1f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## 6.2.3
2
+ - Updated log4j dependency to 2.15.0
3
+
4
+ ## 6.2.2
5
+ - Fix: update to Gradle 7 [#432](https://github.com/logstash-plugins/logstash-input-beats/pull/432)
6
+ - [DOC] Edit documentation for `executor_threads` [#435](https://github.com/logstash-plugins/logstash-input-beats/pull/435)
7
+
8
+ ## 6.2.1
9
+ - Fix: LS failing with `ssl_peer_metadata => true` [#431](https://github.com/logstash-plugins/logstash-input-beats/pull/431)
10
+ - [DOC] described `executor_threads` configuration parameter [#421](https://github.com/logstash-plugins/logstash-input-beats/pull/421)
11
+
12
+ ## 6.2.0
13
+ - ECS compatibility enablement: Adds alias to support upcoming ECS v8 with the existing ECS v1 implementation
14
+
15
+ ## 6.1.7
16
+ - [DOC] Remove limitations topic and link [#428](https://github.com/logstash-plugins/logstash-input-beats/pull/428)
17
+
1
18
  ## 6.1.6
2
19
  - [DOC] Applied more attributes to manage plugin name in doc content, and implemented conditional text processing. [#423](https://github.com/logstash-plugins/logstash-input-http/pull/423)
3
20
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.1.6
1
+ 6.2.3
data/docs/index.asciidoc CHANGED
@@ -101,15 +101,6 @@ plugin] to handle multiline events. Doing so will result in the failure to start
101
101
  Logstash.
102
102
  endif::[]
103
103
 
104
- //Content for Elastic Agent
105
- ifeval::["{plugin}"!="beats"]
106
- [id="plugins-{type}s-{plugin}-limitations"]
107
- ===== Elastic Agent and Fleet limitations
108
-
109
- Early releases of Elastic Agent and Fleet have some limitations, including support for advanced Beats settings like multiline, processors, and so forth.
110
- For more information, see {fleet-guide}/fleet-limitations.html[Limitations of this release].
111
- endif::[]
112
-
113
104
  //Content for Beats
114
105
  ifeval::["{plugin}"=="beats"]
115
106
  [id="plugins-{type}s-{plugin}-versioned-indexes"]
@@ -150,11 +141,11 @@ output.
150
141
 
151
142
  [cols="<l,<l,e,<e"]
152
143
  |=======================================================================
153
- |ECS disabled |ECS v1 |Availability |Description
144
+ |ECS `disabled` |ECS `v1`, `v8` |Availability |Description
154
145
 
155
146
  |[host] |[@metadata][input][beats][host][name] |Always |Name or address of the {plugin-singular} host
156
147
  |[@metadata][ip_address] |[@metadata][input][beats][host][ip] |Always |IP address of the {plugin-uc} client
157
- |[@metadata][tls_peer][status] | [@metadata][tls_peer][status] | When SSL related fields are populated | Contains "verified"/"unverified" labels in `disabled`, `true`/`false` in `v1`
148
+ |[@metadata][tls_peer][status] | [@metadata][tls_peer][status] | When SSL related fields are populated | Contains "verified"/"unverified" labels in `disabled`, `true`/`false` in `v1`/`v8`
158
149
  |[@metadata][tls_peer][protocol] | [@metadata][input][beats][tls][version_protocol] | When SSL status is "verified" | Contains the TLS version used (e.g. `TLSv1.2`)
159
150
  |[@metadata][tls_peer][subject] | [@metadata][input][beats][tls][client][subject] | When SSL status is "verified" | Contains the identity name of the remote end (e.g. `CN=artifacts-no-kpi.elastic.co`)
160
151
  |[@metadata][tls_peer][cipher_suite] | [@metadata][input][beats][tls][cipher] | When SSL status is "verified" | Contains the name of cipher suite used (e.g. `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256`)
@@ -172,6 +163,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
172
163
  | <<plugins-{type}s-{plugin}-cipher_suites>> |<<array,array>>|No
173
164
  | <<plugins-{type}s-{plugin}-client_inactivity_timeout>> |<<number,number>>|No
174
165
  | <<plugins-{type}s-{plugin}-ecs_compatibility>> | <<string,string>>|No
166
+ | <<plugins-{type}s-{plugin}-executor_threads>> |<<number,number>>|No
175
167
  | <<plugins-{type}s-{plugin}-host>> |<<string,string>>|No
176
168
  | <<plugins-{type}s-{plugin}-include_codec_tag>> |<<boolean,boolean>>|No
177
169
  | <<plugins-{type}s-{plugin}-port>> |<<number,number>>|Yes
@@ -225,13 +217,32 @@ Close Idle clients after X seconds of inactivity.
225
217
  * Value type is <<string,string>>
226
218
  * Supported values are:
227
219
  ** `disabled`: unstructured connection metadata added at root level
228
- ** `v1`: structured connection metadata added under ECS compliant namespaces
220
+ ** `v1`: structured connection metadata added under ECS v1 compliant namespaces
221
+ ** `v8`: structured connection metadata added under ECS v8 compliant namespaces
229
222
  * Default value depends on which version of Logstash is running:
230
223
  ** When Logstash provides a `pipeline.ecs_compatibility` setting, its value is used as the default
231
224
  ** Otherwise, the default value is `disabled`.
232
225
 
233
226
  Refer to <<plugins-{type}s-{plugin}-ecs_metadata,ECS mapping>> for detailed information.
234
227
 
228
+ [id="plugins-{type}s-{plugin}-executor_threads"]
229
+ ===== `executor_threads`
230
+
231
+ * Value type is <<number,number>>
232
+ * Default value is 1 executor thread per CPU core
233
+
234
+ The number of threads to be used to process incoming beats requests.
235
+ By default the Beats input creates a number of threads equal to 2*CPU cores.
236
+ These threads handle incoming connections, reading from established sockets, and executing most of the tasks related to network connection management.
237
+ Parsing the Lumberjack protocol is offloaded to a dedicated thread pool.
238
+
239
+ Generally you don't need to touch this setting.
240
+ In case you are sending very large events and observing "OutOfDirectMemory" exceptions,
241
+ you may want to reduce this number to half or 1/4 of the CPU cores.
242
+ This change reduces the number of threads decompressing batches of data into direct memory.
243
+ However, this will only be a mitigating tweak, as the proper solution may require resizing your Logstash deployment,
244
+ either by increasing number of Logstash nodes or increasing the JVM's Direct Memory.
245
+
235
246
  [id="plugins-{type}s-{plugin}-host"]
236
247
  ===== `host`
237
248
 
@@ -363,3 +374,4 @@ The minimum TLS version allowed for the encrypted connections. The value must be
363
374
  include::{include_path}/{type}.asciidoc[]
364
375
 
365
376
  :default_codec!:
377
+
@@ -15,6 +15,8 @@ module LogStash module Inputs class Beats
15
15
 
16
16
  attr_reader :logger, :input, :connections_list
17
17
 
18
+ attr_reader :event_factory
19
+
18
20
  def initialize(queue, input)
19
21
  @connections_list = ThreadSafe::Hash.new
20
22
  @queue = queue
@@ -25,6 +27,7 @@ module LogStash module Inputs class Beats
25
27
 
26
28
  @nocodec_transformer = RawEventTransform.new(@input)
27
29
  @codec_transformer = DecodedEventTransform.new(@input)
30
+ @event_factory = input.event_factory
28
31
  end
29
32
 
30
33
  def onNewMessage(ctx, message)
@@ -39,7 +42,7 @@ module LogStash module Inputs class Beats
39
42
  extract_tls_peer(hash, ctx)
40
43
 
41
44
  if target_field.nil?
42
- event = LogStash::Event.new(hash)
45
+ event = event_factory.new_event(hash)
43
46
  @nocodec_transformer.transform(event)
44
47
  @queue << event
45
48
  else
@@ -129,7 +132,7 @@ module LogStash module Inputs class Beats
129
132
  tls_session = ctx.channel().pipeline().get("ssl-handler").engine().getSession()
130
133
  tls_verified = true
131
134
 
132
- if not @input.client_authentication_required?
135
+ unless @input.client_authentication_required?
133
136
  # throws SSLPeerUnverifiedException if unverified
134
137
  begin
135
138
  tls_session.getPeerCertificates()
@@ -141,18 +144,16 @@ module LogStash module Inputs class Beats
141
144
  end
142
145
  end
143
146
 
147
+ meta_data = hash['@metadata'] ||= {}
148
+
144
149
  if tls_verified
145
- set_nested(hash, @field_tls_protocol_version, tls_session.getProtocol())
146
- set_nested(hash, @field_tls_peer_subject, tls_session.getPeerPrincipal().getName())
147
- set_nested(hash, @field_tls_cipher, tls_session.getCipherSuite())
150
+ meta_data['tls_peer'] = { :status => "verified" }
148
151
 
149
- hash['@metadata']['tls_peer'] = {
150
- :status => "verified"
151
- }
152
+ set_nested(hash, input.field_tls_protocol_version, tls_session.getProtocol())
153
+ set_nested(hash, input.field_tls_peer_subject, tls_session.getPeerPrincipal().getName())
154
+ set_nested(hash, input.field_tls_cipher, tls_session.getCipherSuite())
152
155
  else
153
- hash['@metadata']['tls_peer'] = {
154
- :status => "unverified"
155
- }
156
+ meta_data['tls_peer'] = { :status => "unverified" }
156
157
  end
157
158
  end
158
159
  end
@@ -163,9 +164,6 @@ module LogStash module Inputs class Beats
163
164
  field_ref = Java::OrgLogstash::FieldReference.from(field_name)
164
165
  # create @metadata sub-hash if needed
165
166
  if field_ref.type == Java::OrgLogstash::FieldReference::META_CHILD
166
- unless hash.key?("@metadata")
167
- hash["@metadata"] = {}
168
- end
169
167
  nesting_hash = hash["@metadata"]
170
168
  else
171
169
  nesting_hash = hash
@@ -6,6 +6,7 @@ require "logstash/codecs/multiline"
6
6
  require "logstash/util"
7
7
  require "logstash-input-beats_jars"
8
8
  require "logstash/plugin_mixins/ecs_compatibility_support"
9
+ require 'logstash/plugin_mixins/event_support/event_factory_adapter'
9
10
  require_relative "beats/patch"
10
11
 
11
12
  # This input plugin enables Logstash to receive events from the
@@ -51,7 +52,9 @@ class LogStash::Inputs::Beats < LogStash::Inputs::Base
51
52
  require "logstash/inputs/beats/tls"
52
53
 
53
54
  # adds ecs_compatibility config which could be :disabled or :v1
54
- include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled,:v1)
55
+ include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled,:v1, :v8 => :v1)
56
+
57
+ include LogStash::PluginMixins::EventSupport::EventFactoryAdapter
55
58
 
56
59
  config_name "beats"
57
60
 
@@ -126,6 +129,7 @@ class LogStash::Inputs::Beats < LogStash::Inputs::Base
126
129
  config :executor_threads, :validate => :number, :default => LogStash::Config::CpuCoreStrategy.maximum
127
130
 
128
131
  attr_reader :field_hostname, :field_hostip
132
+ attr_reader :field_tls_protocol_version, :field_tls_peer_subject, :field_tls_cipher
129
133
 
130
134
  def register
131
135
  # For Logstash 2.4 we need to make sure that the logger is correctly set for the
@@ -164,10 +168,10 @@ class LogStash::Inputs::Beats < LogStash::Inputs::Base
164
168
 
165
169
  # define ecs name mapping
166
170
  @field_hostname = ecs_select[disabled: "host", v1: "[@metadata][input][beats][host][name]"]
167
- @field_hostip = ecs_select[disabled: "[@metadata][ip_address]", v1: "[@metadata][input][beats][host][ip]"]
168
- @field_tls_protocol_version = ecs_select[disabled: "[@metadata][tls_peer][protocol]", v1: "[@metadata][input][beats][tls][version_protocol]"]
169
- @field_tls_peer_subject = ecs_select[disabled: "[@metadata][tls_peer][subject]", v1: "[@metadata][input][beats][tls][client][subject]"]
170
- @field_tls_cipher = ecs_select[disabled: "[@metadata][tls_peer][cipher_suite]", v1: "[@metadata][input][beats][tls][cipher]"]
171
+ @field_hostip = ecs_select[disabled: "[@metadata][ip_address]", v1: "[@metadata][input][beats][host][ip]"]
172
+ @field_tls_protocol_version = ecs_select[disabled: "[@metadata][tls_peer][protocol]", v1: "[@metadata][input][beats][tls][version_protocol]"]
173
+ @field_tls_peer_subject = ecs_select[disabled: "[@metadata][tls_peer][subject]", v1: "[@metadata][input][beats][tls][client][subject]"]
174
+ @field_tls_cipher = ecs_select[disabled: "[@metadata][tls_peer][cipher_suite]", v1: "[@metadata][input][beats][tls][cipher]"]
171
175
 
172
176
  @logger.info("Starting input listener", :address => "#{@host}:#{@port}")
173
177
 
@@ -7,5 +7,5 @@ require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.9.10')
7
7
  require_jar('com.fasterxml.jackson.core', 'jackson-annotations', '2.9.10')
8
8
  require_jar('com.fasterxml.jackson.core', 'jackson-databind', '2.9.10.8')
9
9
  require_jar('com.fasterxml.jackson.module', 'jackson-module-afterburner', '2.9.10')
10
- require_jar('org.apache.logging.log4j', 'log4j-api', '2.11.1')
11
- require_jar('org.logstash.beats', 'logstash-input-beats', '6.1.6')
10
+ require_jar('org.apache.logging.log4j', 'log4j-api', '2.15.0')
11
+ require_jar('org.logstash.beats', 'logstash-input-beats', '6.2.3')
@@ -27,7 +27,8 @@ Gem::Specification.new do |s|
27
27
  s.add_runtime_dependency "thread_safe", "~> 0.3.5"
28
28
  s.add_runtime_dependency "logstash-codec-multiline", ">= 2.0.5"
29
29
  s.add_runtime_dependency 'jar-dependencies', '~> 0.3', '>= 0.3.4'
30
- s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.1'
30
+ s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.3'
31
+ s.add_runtime_dependency 'logstash-mixin-event_support', '~>1.0'
31
32
 
32
33
  s.add_development_dependency "flores", "~>0.0.6"
33
34
  s.add_development_dependency "rspec"
@@ -31,6 +31,7 @@ describe LogStash::Inputs::Beats::DecodedEventTransform do
31
31
 
32
32
  include_examples "Common Event Transformation", :disabled, "host"
33
33
  include_examples "Common Event Transformation", :v1, "[@metadata][input][beats][host][name]"
34
+ include_examples "Common Event Transformation", :v8, "[@metadata][input][beats][host][name]"
34
35
 
35
36
  it "tags the event" do
36
37
  expect(subject.get("tags")).to include("beats_input_codec_plain_applied")
@@ -9,4 +9,5 @@ describe LogStash::Inputs::Beats::EventTransformCommon do
9
9
 
10
10
  include_examples "Common Event Transformation", :disabled, "host"
11
11
  include_examples "Common Event Transformation", :v1, "[@metadata][input][beats][host][name]"
12
+ include_examples "Common Event Transformation", :v8, "[@metadata][input][beats][host][name]"
12
13
  end
@@ -211,6 +211,7 @@ describe LogStash::Inputs::Beats::MessageListener do
211
211
 
212
212
  it_behaves_like "when the message is from any libbeat", :disabled, "[@metadata][ip_address]"
213
213
  it_behaves_like "when the message is from any libbeat", :v1, "[@metadata][input][beats][host][ip]"
214
+ it_behaves_like "when the message is from any libbeat", :v8, "[@metadata][input][beats][host][ip]"
214
215
  end
215
216
 
216
217
  context "onException" do
@@ -20,6 +20,7 @@ describe LogStash::Inputs::Beats::RawEventTransform do
20
20
 
21
21
  include_examples "Common Event Transformation", :disabled, "host"
22
22
  include_examples "Common Event Transformation", :v1, "[@metadata][input][beats][host][name]"
23
+ include_examples "Common Event Transformation", :v8, "[@metadata][input][beats][host][name]"
23
24
 
24
25
  it "tags the event" do
25
26
  expect(subject.get("tags")).to include("beats_input_raw_event")
@@ -12,26 +12,28 @@ describe LogStash::Inputs::Beats do
12
12
  let(:connection) { double("connection") }
13
13
  let(:certificate) { BeatsInputTest.certificate }
14
14
  let(:port) { BeatsInputTest.random_port }
15
+ let(:client_inactivity_timeout) { 400 }
16
+ let(:threads) { 1 + rand(9) }
15
17
  let(:queue) { Queue.new }
16
18
  let(:config) do
17
19
  {
18
- "port" => 0,
20
+ "port" => port,
19
21
  "ssl_certificate" => certificate.ssl_cert,
20
22
  "ssl_key" => certificate.ssl_key,
23
+ "client_inactivity_timeout" => client_inactivity_timeout,
24
+ "executor_threads" => threads,
21
25
  "type" => "example",
22
26
  "tags" => "beats"
23
27
  }
24
28
  end
25
29
 
30
+ subject(:plugin) { LogStash::Inputs::Beats.new(config) }
31
+
26
32
  context "#register" do
27
33
  context "host related configuration" do
28
- let(:config) { super().merge("host" => host, "port" => port, "client_inactivity_timeout" => client_inactivity_timeout, "executor_threads" => threads) }
34
+ let(:config) { super().merge("host" => host, "port" => port) }
29
35
  let(:host) { "192.168.1.20" }
30
- let(:port) { 9000 }
31
- let(:client_inactivity_timeout) { 400 }
32
- let(:threads) { 10 }
33
-
34
- subject(:plugin) { LogStash::Inputs::Beats.new(config) }
36
+ let(:port) { 9001 }
35
37
 
36
38
  it "sends the required options to the server" do
37
39
  expect(org.logstash.beats.Server).to receive(:new).with(host, port, client_inactivity_timeout, threads)
@@ -158,9 +160,80 @@ describe LogStash::Inputs::Beats do
158
160
 
159
161
  it "raise a ConfigurationError when multiline codec is set" do
160
162
  plugin = LogStash::Inputs::Beats.new(config)
161
- expect {plugin.register}.to raise_error(LogStash::ConfigurationError, "Multiline codec with beats input is not supported. Please refer to the beats documentation for how to best manage multiline data. See https://www.elastic.co/guide/en/beats/filebeat/current/multiline-examples.html")
163
+ expect { plugin.register }.to raise_error(LogStash::ConfigurationError, "Multiline codec with beats input is not supported. Please refer to the beats documentation for how to best manage multiline data. See https://www.elastic.co/guide/en/beats/filebeat/current/multiline-examples.html")
164
+ end
165
+ end
166
+ end
167
+
168
+ context "tls meta-data" do
169
+ let(:config) { super().merge("host" => host, "ssl_peer_metadata" => true, "ssl_certificate_authorities" => [ certificate.ssl_cert ]) }
170
+ let(:host) { "192.168.1.20" }
171
+ let(:port) { 9002 }
172
+
173
+ let(:queue) { Queue.new }
174
+ let(:event) { LogStash::Event.new }
175
+
176
+ subject(:plugin) { LogStash::Inputs::Beats.new(config) }
177
+
178
+ before do
179
+ @server = org.logstash.beats.Server.new(host, port, client_inactivity_timeout, threads)
180
+ expect( org.logstash.beats.Server ).to receive(:new).with(host, port, client_inactivity_timeout, threads).and_return @server
181
+ expect( @server ).to receive(:listen)
182
+
183
+ subject.register
184
+ subject.run(queue) # listen does nothing
185
+ @message_listener = @server.getMessageListener
186
+
187
+ allow( ssl_engine = double('ssl_engine') ).to receive(:getSession).and_return ssl_session
188
+ allow( ssl_handler = double('ssl-handler') ).to receive(:engine).and_return ssl_engine
189
+ allow( pipeline = double('pipeline') ).to receive(:get).and_return ssl_handler
190
+ allow( @channel = double('channel') ).to receive(:pipeline).and_return pipeline
191
+ end
192
+
193
+ let(:ctx) do
194
+ Java::io.netty.channel.ChannelHandlerContext.impl do |method, *args|
195
+ fail("unexpected #{method}( #{args} )") unless method.eql?(:channel)
196
+ @channel
162
197
  end
163
198
  end
199
+
200
+ let(:ssl_session) do
201
+ Java::javax.net.ssl.SSLSession.impl do |method, *args|
202
+ case method
203
+ when :getPeerCertificates
204
+ [].to_java(java.security.cert.Certificate)
205
+ when :getProtocol
206
+ 'TLS-Mock'
207
+ when :getCipherSuite
208
+ 'SSL_NULL_WITH_TEST_SPEC'
209
+ when :getPeerPrincipal
210
+ javax.security.auth.x500.X500Principal.new('CN=TEST, OU=RSpec, O=Logstash, C=NL', {})
211
+ else
212
+ fail("unexpected #{method}( #{args} )")
213
+ end
214
+ end
215
+ end
216
+
217
+ let(:ssl_session_peer_principal) do
218
+ javax.security.auth.x500.X500Principal
219
+ end
220
+
221
+ let(:message) do
222
+ org.logstash.beats.Message.new(0, java.util.HashMap.new('foo' => 'bar'))
223
+ end
224
+
225
+ it 'sets tls fields' do
226
+ @message_listener.onNewMessage(ctx, message)
227
+
228
+ expect( queue.size ).to be 1
229
+ expect( event = queue.pop ).to be_a LogStash::Event
230
+
231
+ expect( event.get('[@metadata][tls_peer][status]') ).to eql 'verified'
232
+
233
+ expect( event.get('[@metadata][tls_peer][protocol]') ).to eql 'TLS-Mock'
234
+ expect( event.get('[@metadata][tls_peer][cipher_suite]') ).to eql 'SSL_NULL_WITH_TEST_SPEC'
235
+ expect( event.get('[@metadata][tls_peer][subject]') ).to eql 'CN=TEST,OU=RSpec,O=Logstash,C=NL'
236
+ end
164
237
  end
165
238
 
166
239
  context "when interrupting the plugin" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-beats
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.6
4
+ version: 6.2.3
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-15 00:00:00.000000000 Z
11
+ date: 2021-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -20,8 +20,8 @@ dependencies:
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
22
  name: logstash-core-plugin-api
23
- type: :runtime
24
23
  prerelease: false
24
+ type: :runtime
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -37,8 +37,8 @@ dependencies:
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  name: logstash-codec-plain
40
- type: :runtime
41
40
  prerelease: false
41
+ type: :runtime
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
@@ -51,8 +51,8 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
53
  name: concurrent-ruby
54
- type: :runtime
55
54
  prerelease: false
55
+ type: :runtime
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
@@ -65,8 +65,8 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: 0.3.5
67
67
  name: thread_safe
68
- type: :runtime
69
68
  prerelease: false
69
+ type: :runtime
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
@@ -79,8 +79,8 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: 2.0.5
81
81
  name: logstash-codec-multiline
82
- type: :runtime
83
82
  prerelease: false
83
+ type: :runtime
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -96,8 +96,8 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: 0.3.4
98
98
  name: jar-dependencies
99
- type: :runtime
100
99
  prerelease: false
100
+ type: :runtime
101
101
  version_requirements: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - "~>"
@@ -111,15 +111,29 @@ dependencies:
111
111
  requirements:
112
112
  - - "~>"
113
113
  - !ruby/object:Gem::Version
114
- version: '1.1'
114
+ version: '1.3'
115
115
  name: logstash-mixin-ecs_compatibility_support
116
+ prerelease: false
116
117
  type: :runtime
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '1.3'
123
+ - !ruby/object:Gem::Dependency
124
+ requirement: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '1.0'
129
+ name: logstash-mixin-event_support
117
130
  prerelease: false
131
+ type: :runtime
118
132
  version_requirements: !ruby/object:Gem::Requirement
119
133
  requirements:
120
134
  - - "~>"
121
135
  - !ruby/object:Gem::Version
122
- version: '1.1'
136
+ version: '1.0'
123
137
  - !ruby/object:Gem::Dependency
124
138
  requirement: !ruby/object:Gem::Requirement
125
139
  requirements:
@@ -127,8 +141,8 @@ dependencies:
127
141
  - !ruby/object:Gem::Version
128
142
  version: 0.0.6
129
143
  name: flores
130
- type: :development
131
144
  prerelease: false
145
+ type: :development
132
146
  version_requirements: !ruby/object:Gem::Requirement
133
147
  requirements:
134
148
  - - "~>"
@@ -141,8 +155,8 @@ dependencies:
141
155
  - !ruby/object:Gem::Version
142
156
  version: '0'
143
157
  name: rspec
144
- type: :development
145
158
  prerelease: false
159
+ type: :development
146
160
  version_requirements: !ruby/object:Gem::Requirement
147
161
  requirements:
148
162
  - - ">="
@@ -155,8 +169,8 @@ dependencies:
155
169
  - !ruby/object:Gem::Version
156
170
  version: '0'
157
171
  name: stud
158
- type: :development
159
172
  prerelease: false
173
+ type: :development
160
174
  version_requirements: !ruby/object:Gem::Requirement
161
175
  requirements:
162
176
  - - ">="
@@ -169,8 +183,8 @@ dependencies:
169
183
  - !ruby/object:Gem::Version
170
184
  version: '0'
171
185
  name: pry
172
- type: :development
173
186
  prerelease: false
187
+ type: :development
174
188
  version_requirements: !ruby/object:Gem::Requirement
175
189
  requirements:
176
190
  - - ">="
@@ -183,8 +197,8 @@ dependencies:
183
197
  - !ruby/object:Gem::Version
184
198
  version: '0'
185
199
  name: rspec-wait
186
- type: :development
187
200
  prerelease: false
201
+ type: :development
188
202
  version_requirements: !ruby/object:Gem::Requirement
189
203
  requirements:
190
204
  - - ">="
@@ -197,8 +211,8 @@ dependencies:
197
211
  - !ruby/object:Gem::Version
198
212
  version: '0'
199
213
  name: logstash-devutils
200
- type: :development
201
214
  prerelease: false
215
+ type: :development
202
216
  version_requirements: !ruby/object:Gem::Requirement
203
217
  requirements:
204
218
  - - ">="
@@ -211,8 +225,8 @@ dependencies:
211
225
  - !ruby/object:Gem::Version
212
226
  version: '0'
213
227
  name: logstash-codec-json
214
- type: :development
215
228
  prerelease: false
229
+ type: :development
216
230
  version_requirements: !ruby/object:Gem::Requirement
217
231
  requirements:
218
232
  - - ">="
@@ -225,8 +239,8 @@ dependencies:
225
239
  - !ruby/object:Gem::Version
226
240
  version: '0'
227
241
  name: childprocess
228
- type: :development
229
242
  prerelease: false
243
+ type: :development
230
244
  version_requirements: !ruby/object:Gem::Requirement
231
245
  requirements:
232
246
  - - ">="
@@ -283,9 +297,9 @@ files:
283
297
  - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-databind/2.9.10.8/jackson-databind-2.9.10.8.jar
284
298
  - vendor/jar-dependencies/com/fasterxml/jackson/module/jackson-module-afterburner/2.9.10/jackson-module-afterburner-2.9.10.jar
285
299
  - vendor/jar-dependencies/io/netty/netty-all/4.1.65.Final/netty-all-4.1.65.Final.jar
286
- - vendor/jar-dependencies/org/apache/logging/log4j/log4j-api/2.11.1/log4j-api-2.11.1.jar
300
+ - vendor/jar-dependencies/org/apache/logging/log4j/log4j-api/2.15.0/log4j-api-2.15.0.jar
287
301
  - vendor/jar-dependencies/org/javassist/javassist/3.24.0-GA/javassist-3.24.0-GA.jar
288
- - vendor/jar-dependencies/org/logstash/beats/logstash-input-beats/6.1.6/logstash-input-beats-6.1.6.jar
302
+ - vendor/jar-dependencies/org/logstash/beats/logstash-input-beats/6.2.3/logstash-input-beats-6.2.3.jar
289
303
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
290
304
  licenses:
291
305
  - Apache License (2.0)
@@ -308,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
308
322
  - !ruby/object:Gem::Version
309
323
  version: '0'
310
324
  requirements: []
311
- rubygems_version: 3.0.6
325
+ rubygems_version: 3.1.6
312
326
  signing_key:
313
327
  specification_version: 4
314
328
  summary: Receives events from the Elastic Beats framework