logstash-input-beats 2.2.9 → 3.0.0

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
  SHA1:
3
- metadata.gz: ab6c791f5489d3b2ab5fd6f8bf37e0787b5c14fe
4
- data.tar.gz: 5b150c6055976618504fbbf1af6d73b77d650e2a
3
+ metadata.gz: 01c01cb2565051da88d3a40968123281c37e48af
4
+ data.tar.gz: aa303cdb8a24c85f59cd14c41710c3d850887d16
5
5
  SHA512:
6
- metadata.gz: 65e2018889644bf486c57d766050d53261f54a493bd7b992a4e0787cc346510a461cc6442c2a3012915a200dbcfdcf0ca71255000ae9aeadc790a6d5285b84d2
7
- data.tar.gz: 30ce185eb4c7bdc59ce031e7da1e45b1e247f3799b455be96b20acb228c2fe8ac9e7ed1014802f30f7aa5259594ab6414da1e4a0548e47586505cc4de126776c
6
+ metadata.gz: a00a634314cccc966f7b8b6c5c32ebebf16d71affff752fd252e10678c7d6f884491a26dec49136190a0ac40234c7f2ae90148fc9be48367829ae29b9add348a
7
+ data.tar.gz: c5fbd85b44cce829a39e53f82132a021fe76aaaa772f83c47ec13f66053af4168b86cfda18d64b591844e7be94babbda1e57ed23452da7815a799ffa614a64d3
@@ -1,5 +1,5 @@
1
- # 2.2.9
2
- - Fix an issue when parsing multiple frames received from a filebeat client using pipelining.
1
+ ## 3.0.0
2
+ - 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
3
3
  # 2.2.8
4
4
  - Fix #73 Bug in EventTransformCommon#codec_name, use config_name
5
5
  - Add regression test for fix to #73
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
1
  source 'https://rubygems.org'
2
- gemspec
2
+
3
+ # Specify your gem's dependencies in logstash-mass_effect.gemspec
4
+ gemspec
@@ -8,8 +8,8 @@ module LogStash::Inputs::BeatsSupport
8
8
  def transform(event, hash)
9
9
  ts = coerce_ts(hash.delete("@timestamp"))
10
10
 
11
- event["@timestamp"] = ts unless ts.nil?
12
- hash.each { |k, v| event[k] = v }
11
+ event.set("@timestamp", ts) unless ts.nil?
12
+ hash.each { |k, v| event.set(k, v) }
13
13
  super(event)
14
14
  event.tag("beats_input_codec_#{codec_name}_applied")
15
15
  event
@@ -12,10 +12,10 @@ module LogStash::Inputs::BeatsSupport
12
12
  # Copies the beat.hostname field into the host field unless
13
13
  # the host field is already defined
14
14
  def copy_beat_hostname(event)
15
- host = event["[beat][hostname]"]
15
+ host = event.get("[beat][hostname]")
16
16
 
17
- if host && event["host"].nil?
18
- event["host"] = host
17
+ if host && event.get("host").nil?
18
+ event.set("host", host)
19
19
  end
20
20
  end
21
21
 
@@ -381,8 +381,7 @@ module Lumberjack module Beats
381
381
  transition(:header, 2)
382
382
 
383
383
  # Parse the uncompressed payload.
384
- parser = self.class.new
385
- parser.feed(original, &block)
384
+ feed(original, &block)
386
385
  end
387
386
  end # class Parser
388
387
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "logstash-input-beats"
3
- s.version = '2.2.9'
3
+ s.version = '3.0.0'
4
4
  s.licenses = ["Apache License (2.0)"]
5
5
  s.summary = "Receive events using the lumberjack protocol."
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
20
20
 
21
21
  # Gem dependencies
22
- s.add_runtime_dependency "logstash-core-plugin-api", "~> 1.0"
22
+ s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
23
23
 
24
24
  s.add_runtime_dependency "logstash-codec-plain"
25
25
  s.add_runtime_dependency "concurrent-ruby", [ ">= 0.9.2", "<= 1.0.0" ]
@@ -147,7 +147,7 @@ describe LogStash::Inputs::Beats do
147
147
  plugin.handle_new_connection(connection)
148
148
 
149
149
  event = pipeline_queue.shift
150
- expect(event["tags"]).to include("beats_input_flushed_by_end_of_connection")
150
+ expect(event.get("tags")).to include("beats_input_flushed_by_end_of_connection")
151
151
  end
152
152
  end
153
153
  end
@@ -51,8 +51,8 @@ describe LogStash::Inputs::BeatsSupport::ConnectionHandler do
51
51
  subject.process(map, identity_stream)
52
52
  event = queue.take
53
53
 
54
- expect(event["hello"]).to eq(map["hello"])
55
- expect(event["tags"]).to include("beats_input_raw_event")
54
+ expect(event.get("hello")).to eq(map["hello"])
55
+ expect(event.get("tags")).to include("beats_input_raw_event")
56
56
  end
57
57
  end
58
58
 
@@ -75,8 +75,8 @@ describe LogStash::Inputs::BeatsSupport::ConnectionHandler do
75
75
  subject.process(map, identity_stream)
76
76
  event = queue.take
77
77
 
78
- expect(event["message"]).to eq(message)
79
- expect(event["tags"]).to include("beats_input_codec_plain_applied")
78
+ expect(event.get("message")).to eq(message)
79
+ expect(event.get("tags")).to include("beats_input_codec_plain_applied")
80
80
  end
81
81
  end
82
82
 
@@ -32,12 +32,12 @@ describe LogStash::Inputs::BeatsSupport::DecodedEventTransform do
32
32
  include_examples "Common Event Transformation"
33
33
 
34
34
  it "tags the event" do
35
- expect(subject["tags"]).to include("beats_input_codec_plain_applied")
35
+ expect(subject.get("tags")).to include("beats_input_codec_plain_applied")
36
36
  end
37
37
 
38
38
  it "merges the other data from the map to the event" do
39
- expect(subject["super"]).to eq(map["super"])
40
- expect(subject["@metadata"]).to include(map["@metadata"])
39
+ expect(subject.get("super")).to eq(map["super"])
40
+ expect(subject.get("@metadata")).to include(map["@metadata"])
41
41
  end
42
42
 
43
43
  context "map contains a timestamp" do
@@ -46,7 +46,7 @@ describe LogStash::Inputs::BeatsSupport::DecodedEventTransform do
46
46
  let(:map) { super.merge({"@timestamp" => timestamp }) }
47
47
 
48
48
  it "uses as the event timestamp" do
49
- expect(subject["@timestamp"]).to eq(LogStash::Timestamp.coerce(timestamp))
49
+ expect(subject.get("@timestamp")).to eq(LogStash::Timestamp.coerce(timestamp))
50
50
  end
51
51
  end
52
52
 
@@ -54,21 +54,21 @@ describe LogStash::Inputs::BeatsSupport::DecodedEventTransform do
54
54
  let(:map) { super.merge({"@timestamp" => "invalid" }) }
55
55
 
56
56
  it "fallback the current time" do
57
- expect(subject["@timestamp"]).to be_kind_of(LogStash::Timestamp)
57
+ expect(subject.get("@timestamp")).to be_kind_of(LogStash::Timestamp)
58
58
  end
59
59
  end
60
60
  end
61
61
 
62
62
  context "when the map doesn't provide a timestamp" do
63
63
  it "fallback the current time" do
64
- expect(subject["@timestamp"]).to be_kind_of(LogStash::Timestamp)
64
+ expect(subject.get("@timestamp")).to be_kind_of(LogStash::Timestamp)
65
65
  end
66
66
  end
67
67
 
68
68
  context "when the codec is a base_codec wrapper" do
69
69
  before { config.update("codec" => BeatsInputTest::DummyCodec.new) }
70
70
  it "gets the codec config name from the base codec" do
71
- expect(subject["tags"]).to include("beats_input_codec_dummy_applied")
71
+ expect(subject.get("tags")).to include("beats_input_codec_dummy_applied")
72
72
  end
73
73
  end
74
74
  end
@@ -21,6 +21,6 @@ describe LogStash::Inputs::BeatsSupport::RawEventTransform do
21
21
  include_examples "Common Event Transformation"
22
22
 
23
23
  it "tags the event" do
24
- expect(subject["tags"]).to include("beats_input_raw_event")
24
+ expect(subject.get("tags")).to include("beats_input_raw_event")
25
25
  end
26
26
  end
@@ -4,7 +4,7 @@ require "flores/random"
4
4
  shared_examples "send events" do
5
5
  it "successfully send the events" do
6
6
  wait(20).for { queue.size }.to eq(number_of_events), "Expected: #{number_of_events} got: #{queue.size}, execution output:\n #{@execution_output}"
7
- expect(queue.collect { |e| e["message"] }).to eq(events)
7
+ expect(queue.collect { |e| e.get("message") }).to eq(events)
8
8
  end
9
9
  end
10
10
 
@@ -22,7 +22,7 @@ shared_examples "Common Event Transformation" do
22
22
  end
23
23
 
24
24
  it "adds configured tags to the event" do
25
- expect(subject["tags"]).to include(tag)
25
+ expect(subject.get("tags")).to include(tag)
26
26
  end
27
27
 
28
28
  context "when the `beast.hotname` doesnt exist on the event" do
@@ -30,7 +30,7 @@ shared_examples "Common Event Transformation" do
30
30
  let(:event_map) { super.merge({ "host" => already_exist }) }
31
31
 
32
32
  it "doesnt change the value" do
33
- expect(subject["host"]).to eq(already_exist)
33
+ expect(subject.get("host")).to eq(already_exist)
34
34
  end
35
35
  end
36
36
 
@@ -40,7 +40,7 @@ shared_examples "Common Event Transformation" do
40
40
 
41
41
  context "when `host` key doesn't exist on the event" do
42
42
  it "copy the `beat.hostname` to `host` or backward compatibility" do
43
- expect(subject["host"]).to eq(producer_host)
43
+ expect(subject.get("host")).to eq(producer_host)
44
44
  end
45
45
  end
46
46
 
@@ -49,7 +49,7 @@ shared_examples "Common Event Transformation" do
49
49
  let(:event_map) { super.merge({ "host" => already_exist }) }
50
50
 
51
51
  it "doesn't override it" do
52
- expect(subject["host"]).to eq(already_exist)
52
+ expect(subject.get("host")).to eq(already_exist)
53
53
  end
54
54
  end
55
55
  end
metadata CHANGED
@@ -1,44 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-beats
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.9
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-27 00:00:00.000000000 Z
11
+ date: 2016-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: logstash-core-plugin-api
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: '1.0'
19
- name: logstash-core-plugin-api
20
- prerelease: false
19
+ version: '2.0'
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: logstash-codec-plain
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
- name: logstash-codec-plain
34
- prerelease: false
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: concurrent-ruby
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - ">="
@@ -47,9 +48,8 @@ dependencies:
47
48
  - - "<="
48
49
  - !ruby/object:Gem::Version
49
50
  version: 1.0.0
50
- name: concurrent-ruby
51
- prerelease: false
52
51
  type: :runtime
52
+ prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - ">="
@@ -59,146 +59,148 @@ dependencies:
59
59
  - !ruby/object:Gem::Version
60
60
  version: 1.0.0
61
61
  - !ruby/object:Gem::Dependency
62
+ name: thread_safe
62
63
  requirement: !ruby/object:Gem::Requirement
63
64
  requirements:
64
65
  - - "~>"
65
66
  - !ruby/object:Gem::Version
66
67
  version: 0.3.5
67
- name: thread_safe
68
- prerelease: false
69
68
  type: :runtime
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: 0.3.5
75
75
  - !ruby/object:Gem::Dependency
76
+ name: logstash-codec-multiline
76
77
  requirement: !ruby/object:Gem::Requirement
77
78
  requirements:
78
79
  - - "~>"
79
80
  - !ruby/object:Gem::Version
80
81
  version: 2.0.5
81
- name: logstash-codec-multiline
82
- prerelease: false
83
82
  type: :runtime
83
+ prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: 2.0.5
89
89
  - !ruby/object:Gem::Dependency
90
+ name: flores
90
91
  requirement: !ruby/object:Gem::Requirement
91
92
  requirements:
92
93
  - - "~>"
93
94
  - !ruby/object:Gem::Version
94
95
  version: 0.0.6
95
- name: flores
96
- prerelease: false
97
96
  type: :development
97
+ prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 0.0.6
103
103
  - !ruby/object:Gem::Dependency
104
+ name: rspec
104
105
  requirement: !ruby/object:Gem::Requirement
105
106
  requirements:
106
107
  - - ">="
107
108
  - !ruby/object:Gem::Version
108
109
  version: '0'
109
- name: rspec
110
- prerelease: false
111
110
  type: :development
111
+ prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
+ name: stud
118
119
  requirement: !ruby/object:Gem::Requirement
119
120
  requirements:
120
121
  - - ">="
121
122
  - !ruby/object:Gem::Version
122
123
  version: '0'
123
- name: stud
124
- prerelease: false
125
124
  type: :development
125
+ prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  - !ruby/object:Gem::Dependency
132
+ name: pry
132
133
  requirement: !ruby/object:Gem::Requirement
133
134
  requirements:
134
135
  - - ">="
135
136
  - !ruby/object:Gem::Version
136
137
  version: '0'
137
- name: pry
138
- prerelease: false
139
138
  type: :development
139
+ prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  - !ruby/object:Gem::Dependency
146
+ name: rspec-wait
146
147
  requirement: !ruby/object:Gem::Requirement
147
148
  requirements:
148
149
  - - ">="
149
150
  - !ruby/object:Gem::Version
150
151
  version: '0'
151
- name: rspec-wait
152
- prerelease: false
153
152
  type: :development
153
+ prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  - !ruby/object:Gem::Dependency
160
+ name: logstash-devutils
160
161
  requirement: !ruby/object:Gem::Requirement
161
162
  requirements:
162
163
  - - "~>"
163
164
  - !ruby/object:Gem::Version
164
165
  version: 0.0.18
165
- name: logstash-devutils
166
- prerelease: false
167
166
  type: :development
167
+ prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: 0.0.18
173
173
  - !ruby/object:Gem::Dependency
174
+ name: logstash-codec-json
174
175
  requirement: !ruby/object:Gem::Requirement
175
176
  requirements:
176
177
  - - ">="
177
178
  - !ruby/object:Gem::Version
178
179
  version: '0'
179
- name: logstash-codec-json
180
- prerelease: false
181
180
  type: :development
181
+ prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - ">="
185
185
  - !ruby/object:Gem::Version
186
186
  version: '0'
187
187
  - !ruby/object:Gem::Dependency
188
+ name: childprocess
188
189
  requirement: !ruby/object:Gem::Requirement
189
190
  requirements:
190
191
  - - ">="
191
192
  - !ruby/object:Gem::Version
192
193
  version: '0'
193
- name: childprocess
194
- prerelease: false
195
194
  type: :development
195
+ prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
200
  version: '0'
201
- description: This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program
201
+ description: This gem is a Logstash plugin required to be installed on top of the
202
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
203
+ gem is not a stand-alone program
202
204
  email: info@elastic.co
203
205
  executables: []
204
206
  extensions: []
@@ -251,7 +253,7 @@ licenses:
251
253
  metadata:
252
254
  logstash_plugin: 'true'
253
255
  logstash_group: input
254
- post_install_message:
256
+ post_install_message:
255
257
  rdoc_options: []
256
258
  require_paths:
257
259
  - lib
@@ -266,9 +268,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
268
  - !ruby/object:Gem::Version
267
269
  version: '0'
268
270
  requirements: []
269
- rubyforge_project:
270
- rubygems_version: 2.4.8
271
- signing_key:
271
+ rubyforge_project:
272
+ rubygems_version: 2.5.1
273
+ signing_key:
272
274
  specification_version: 4
273
275
  summary: Receive events using the lumberjack protocol.
274
276
  test_files: