logstash-output-sumologic 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/logstash/outputs/sumologic.rb +3 -2
- data/logstash-output-sumologic.gemspec +2 -2
- data/spec/outputs/sumologic_spec.rb +104 -51
- data/spec/spec_helper.rb +9 -1
- metadata +11 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b6d9bc4c2957d756a60ef1aeab7f037e7ce17b4a
|
4
|
+
data.tar.gz: 9e2fee37103045a75c2a9d1d226ccfd7a6b34377
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f98566dfe28f2df44735658f0f92670498b956e707b82213b5b750f12c014e6ad92b466d6f38edba1c6ceec9034d68f1c2c3b3875041093daace936854a0f84
|
7
|
+
data.tar.gz: a6b18a26bdf395dc9d6ac87fba8da40cedf4a0d0aad38d3046a590089225e44359c86179469cdcd321ef79f6c00ef40ed8c2c004d2d50b8e1a8ad5719d788a6b
|
@@ -7,6 +7,7 @@ require 'thread'
|
|
7
7
|
require "uri"
|
8
8
|
require "zlib"
|
9
9
|
require "stringio"
|
10
|
+
require "socket"
|
10
11
|
|
11
12
|
# Now you can use logstash to deliver logs to Sumo Logic
|
12
13
|
#
|
@@ -101,7 +102,7 @@ class LogStash::Outputs::SumoLogic < LogStash::Outputs::Base
|
|
101
102
|
|
102
103
|
public
|
103
104
|
def register
|
104
|
-
@source_host =
|
105
|
+
@source_host = Socket.gethostname unless @source_host
|
105
106
|
|
106
107
|
# initialize request pool
|
107
108
|
@request_tokens = SizedQueue.new(@pool_max)
|
@@ -392,4 +393,4 @@ end # def dotify
|
|
392
393
|
@logger.error(message, opts)
|
393
394
|
end # def log_failure
|
394
395
|
|
395
|
-
end # class LogStash::Outputs::SumoLogic
|
396
|
+
end # class LogStash::Outputs::SumoLogic
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "logstash-output-sumologic"
|
3
|
-
s.version = "1.1.
|
3
|
+
s.version = "1.1.3"
|
4
4
|
s.licenses = ["Apache-2.0"]
|
5
5
|
s.summary = "Deliever the log to Sumo Logic cloud service."
|
6
6
|
s.description = "This gem is a Logstash output plugin to deliver the log or metrics to Sumo Logic cloud service. Go to https://github.com/SumoLogic/logstash-output-sumologic for getting help, reporting issues, etc."
|
@@ -20,5 +20,5 @@ Gem::Specification.new do |s|
|
|
20
20
|
# Gem dependencies
|
21
21
|
s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
|
22
22
|
s.add_runtime_dependency "logstash-codec-plain", ">= 0"
|
23
|
-
s.add_development_dependency "logstash-devutils", "~>
|
23
|
+
s.add_development_dependency "logstash-devutils", "~> 1.3", ">= 1.3.1"
|
24
24
|
end
|
@@ -65,7 +65,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
65
65
|
|
66
66
|
context "log sent with customized json_mapping" do
|
67
67
|
|
68
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
68
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
69
|
+
"format" => "%{host} %{@json}",
|
70
|
+
"json_mapping" => { "foo" => "%{foo}", "bar" => "%{bar}", "%{foo}" => "%{bar}" } ) }
|
69
71
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "bar" => 24) }
|
70
72
|
|
71
73
|
it "generate one element" do
|
@@ -96,7 +98,10 @@ describe LogStash::Outputs::SumoLogic do
|
|
96
98
|
let(:event) { LogStash::Event.new("host" => "myHost", "message" => "Hello world") }
|
97
99
|
|
98
100
|
it "check header" do
|
99
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
101
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
102
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
103
|
+
"Content-Type"=>"text/plain",
|
104
|
+
"X-Sumo-Category"=>"my source category"})
|
100
105
|
end
|
101
106
|
|
102
107
|
end
|
@@ -107,7 +112,10 @@ describe LogStash::Outputs::SumoLogic do
|
|
107
112
|
let(:event) { LogStash::Event.new("host" => "myHost", "message" => "Hello world") }
|
108
113
|
|
109
114
|
it "check header" do
|
110
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
115
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
116
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
117
|
+
"Content-Type"=>"text/plain",
|
118
|
+
"X-Sumo-Name"=>"my source name"})
|
111
119
|
end
|
112
120
|
|
113
121
|
end
|
@@ -140,7 +148,10 @@ describe LogStash::Outputs::SumoLogic do
|
|
140
148
|
let(:event) { LogStash::Event.new("host" => "myHost", "message" => "Hello world") }
|
141
149
|
|
142
150
|
it "check header" do
|
143
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
151
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
152
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
153
|
+
"Content-Type"=>"text/plain",
|
154
|
+
"Content-Encoding"=>"deflate"})
|
144
155
|
end
|
145
156
|
|
146
157
|
end
|
@@ -151,7 +162,10 @@ describe LogStash::Outputs::SumoLogic do
|
|
151
162
|
let(:event) { LogStash::Event.new("host" => "myHost", "message" => "Hello world") }
|
152
163
|
|
153
164
|
it "check header" do
|
154
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
165
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
166
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
167
|
+
"Content-Type"=>"text/plain",
|
168
|
+
"Content-Encoding"=>"gzip"})
|
155
169
|
end
|
156
170
|
|
157
171
|
end
|
@@ -159,7 +173,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
159
173
|
# For metrics
|
160
174
|
context "with metrics sent in graphite" do
|
161
175
|
|
162
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
176
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
177
|
+
"metrics" => { "hurray.%{foo}" => "%{bar}"},
|
178
|
+
"metrics_format" => "graphite") }
|
163
179
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "bar" => 24) }
|
164
180
|
|
165
181
|
it "generate one element" do
|
@@ -167,7 +183,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
167
183
|
end
|
168
184
|
|
169
185
|
it "check header" do
|
170
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
186
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
187
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
188
|
+
"Content-Type"=>"application/vnd.sumologic.graphite"})
|
171
189
|
end
|
172
190
|
|
173
191
|
it "include all content" do
|
@@ -185,7 +203,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
185
203
|
end
|
186
204
|
|
187
205
|
it "check header" do
|
188
|
-
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
206
|
+
expect(server.header).to eq({"X-Sumo-Host"=>`hostname`.strip,
|
207
|
+
"X-Sumo-Client"=>"logstash-output-sumologic",
|
208
|
+
"Content-Type"=>"application/vnd.sumologic.carbon2"})
|
189
209
|
end
|
190
210
|
|
191
211
|
it "include all content" do
|
@@ -194,7 +214,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
194
214
|
end
|
195
215
|
|
196
216
|
context "with metrics_name override" do
|
197
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
217
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
218
|
+
"metrics" => { "hurray.%{foo}" => "%{bar}" },
|
219
|
+
"metrics_name" => "mynamespace.*") }
|
198
220
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "bar" => 24) }
|
199
221
|
|
200
222
|
it "include all content" do
|
@@ -203,7 +225,9 @@ describe LogStash::Outputs::SumoLogic do
|
|
203
225
|
end
|
204
226
|
|
205
227
|
context "with intrinsic_tags override" do
|
206
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
228
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
229
|
+
"metrics" => { "bar" => "%{bar}" },
|
230
|
+
"intrinsic_tags" => {"host"=>"%{host}"}) }
|
207
231
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "bar" => 24) }
|
208
232
|
|
209
233
|
it "include all content" do
|
@@ -212,7 +236,10 @@ describe LogStash::Outputs::SumoLogic do
|
|
212
236
|
end
|
213
237
|
|
214
238
|
context "with meta_tags override" do
|
215
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
239
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
240
|
+
"metrics" => { "bar" => "%{bar}" },
|
241
|
+
"intrinsic_tags" => {"host"=>"%{host}"},
|
242
|
+
"meta_tags" => {"foo" => "%{foo}"}) }
|
216
243
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "bar" => 24) }
|
217
244
|
|
218
245
|
it "include all content" do
|
@@ -221,39 +248,52 @@ describe LogStash::Outputs::SumoLogic do
|
|
221
248
|
end
|
222
249
|
|
223
250
|
context "with multiple metrics mapping" do
|
224
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
251
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
252
|
+
"metrics" => { "cpu1" => "%{cpu1}", "cpu2" => "%{cpu2}" },
|
253
|
+
"intrinsic_tags" => {"host"=>"%{host}"},
|
254
|
+
"meta_tags" => {"foo" => "%{foo}"}) }
|
225
255
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "cpu1" => 0.24, "cpu2" => 0.11) }
|
226
256
|
|
227
257
|
it "include content" do
|
228
|
-
|
229
|
-
expect(
|
258
|
+
sorted = server.all_sorted
|
259
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu1 foo=fancy 0\.24 \d{10,}$/)
|
260
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu2 foo=fancy 0\.11 \d{10,}$/)
|
230
261
|
end
|
231
262
|
end
|
232
263
|
|
233
264
|
context "metrics with non-number value should be dropped (carbon2)" do
|
234
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
265
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
266
|
+
"metrics" => { "cpu1" => "%{cpu1}", "cpu2" => "%{cpu2}", "cpu3" => "%{cpu3}" },
|
267
|
+
"intrinsic_tags" => {"host"=>"%{host}"}, "meta_tags" => {"foo" => "%{foo}"}) }
|
235
268
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "cpu1" => 0.24, "cpu2" => "abc", "cpu3" => 0.11) }
|
236
269
|
|
237
270
|
it "include content" do
|
238
|
-
|
239
|
-
expect(
|
240
|
-
expect(
|
271
|
+
sorted = server.all_sorted
|
272
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu1 foo=fancy 0\.24 \d{10,}$/)
|
273
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu3 foo=fancy 0\.11 \d{10,}$/)
|
274
|
+
expect(sorted.empty?).to eq(true)
|
241
275
|
end
|
242
276
|
end
|
243
277
|
|
244
278
|
context "metrics with non-number value should be dropped (graphite)" do
|
245
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
279
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
280
|
+
"metrics" => { "cpu1" => "%{cpu1}", "cpu2" => "%{cpu2}", "cpu3" => "%{cpu3}" },
|
281
|
+
"metrics_format" => "graphite") }
|
246
282
|
let(:event) { LogStash::Event.new("host" => "myHost", "foo" => "fancy", "cpu1" => 0.24, "cpu2" => "abc", "cpu3" => 0.11) }
|
247
283
|
|
248
284
|
it "include content" do
|
249
|
-
|
250
|
-
expect(
|
251
|
-
expect(
|
285
|
+
sorted = server.all_sorted
|
286
|
+
expect(sorted.pop).to match(/^cpu1 0\.24 \d{10,}$/)
|
287
|
+
expect(sorted.pop).to match(/^cpu3 0\.11 \d{10,}$/)
|
288
|
+
expect(sorted.empty?).to eq(true)
|
252
289
|
end
|
253
290
|
end
|
254
291
|
|
255
292
|
context "fields_as_metrics (carbon2)" do
|
256
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
293
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
294
|
+
"fields_as_metrics" => true,
|
295
|
+
"intrinsic_tags" => {"host"=>"%{host}"},
|
296
|
+
"meta_tags" => {"foo" => "%{foo}"}) }
|
257
297
|
let(:event) { LogStash::Event.new(
|
258
298
|
"host" => "myHost",
|
259
299
|
"foo" => "fancy",
|
@@ -267,15 +307,16 @@ describe LogStash::Outputs::SumoLogic do
|
|
267
307
|
})}
|
268
308
|
|
269
309
|
it "include content" do
|
270
|
-
|
271
|
-
expect(
|
272
|
-
expect(
|
273
|
-
expect(
|
274
|
-
expect(
|
275
|
-
expect(
|
276
|
-
expect(
|
277
|
-
expect(
|
278
|
-
expect(
|
310
|
+
sorted = server.all_sorted
|
311
|
+
expect(sorted.pop).to match(/^host=myHost metric=blkio\.read_ps foo=fancy 2 \d{10,}$/)
|
312
|
+
expect(sorted.pop).to match(/^host=myHost metric=blkio\.total_ps foo=fancy 0 \d{10,}$/)
|
313
|
+
expect(sorted.pop).to match(/^host=myHost metric=blkio\.write_ps foo=fancy 5 \d{10,}$/)
|
314
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.0 foo=fancy 0\.24 \d{10,}$/)
|
315
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.1 foo=fancy 0\.11 \d{10,}$/)
|
316
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.2 foo=fancy 0\.75 \d{10,}$/)
|
317
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.3 foo=fancy 0\.28 \d{10,}$/)
|
318
|
+
expect(sorted.pop).to match(/^host=myHost metric=storageRW foo=fancy 51 \d{10,}$/)
|
319
|
+
expect(sorted.empty?).to eq(true)
|
279
320
|
end
|
280
321
|
end
|
281
322
|
|
@@ -294,19 +335,24 @@ describe LogStash::Outputs::SumoLogic do
|
|
294
335
|
})}
|
295
336
|
|
296
337
|
it "include content" do
|
297
|
-
|
298
|
-
expect(
|
299
|
-
expect(
|
300
|
-
expect(
|
301
|
-
expect(
|
302
|
-
expect(
|
303
|
-
expect(
|
304
|
-
expect(
|
338
|
+
sorted = server.all_sorted
|
339
|
+
expect(sorted.pop).to match(/^blkio\.read_ps 0 \d{10,}$/)
|
340
|
+
expect(sorted.pop).to match(/^blkio\.total_ps 0 \d{10,}$/)
|
341
|
+
expect(sorted.pop).to match(/^blkio\.write_ps 0 \d{10,}$/)
|
342
|
+
expect(sorted.pop).to match(/^cpu\.0 0\.24 \d{10,}$/)
|
343
|
+
expect(sorted.pop).to match(/^cpu\.1 0\.11 \d{10,}$/)
|
344
|
+
expect(sorted.pop).to match(/^cpu\.2 0\.75 \d{10,}$/)
|
345
|
+
expect(sorted.pop).to match(/^cpu\.3 0\.28 \d{10,}$/)
|
346
|
+
expect(sorted.pop).to match(/^storageRW 51 \d{10,}$/)
|
305
347
|
end
|
306
348
|
end
|
307
349
|
|
308
350
|
context "fields_include is honored when fields_as_metrics (carbon2)" do
|
309
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
351
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
352
|
+
"fields_as_metrics" => true,
|
353
|
+
"intrinsic_tags" => {"host"=>"%{host}"},
|
354
|
+
"meta_tags" => {"foo" => "%{foo}"},
|
355
|
+
"fields_include" => ["cpu*"]) }
|
310
356
|
let(:event) { LogStash::Event.new(
|
311
357
|
"host" => "myHost",
|
312
358
|
"foo" => "fancy",
|
@@ -320,16 +366,22 @@ describe LogStash::Outputs::SumoLogic do
|
|
320
366
|
})}
|
321
367
|
|
322
368
|
it "include content" do
|
323
|
-
|
324
|
-
expect(
|
325
|
-
expect(
|
326
|
-
expect(
|
327
|
-
expect(
|
369
|
+
sorted = server.all_sorted
|
370
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.0 foo=fancy 0\.24 \d{10,}$/)
|
371
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.1 foo=fancy 0\.11 \d{10,}$/)
|
372
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.2 foo=fancy 0\.75 \d{10,}$/)
|
373
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.3 foo=fancy 0\.28 \d{10,}$/)
|
374
|
+
expect(sorted.empty?).to eq(true)
|
328
375
|
end
|
329
376
|
end
|
330
377
|
|
331
378
|
context "fields_exclude is honored when fields_as_metrics (carbon2)" do
|
332
|
-
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
379
|
+
subject { LogStash::Outputs::SumoLogic.new("url" => "http://localhost/1234",
|
380
|
+
"fields_as_metrics" => true,
|
381
|
+
"intrinsic_tags" => {"host"=>"%{host}"},
|
382
|
+
"meta_tags" => {"foo" => "%{foo}"},
|
383
|
+
"fields_include" => ["cpu*"],
|
384
|
+
"fields_exclude" => [".*1"]) }
|
333
385
|
let(:event) { LogStash::Event.new(
|
334
386
|
"host" => "myHost",
|
335
387
|
"foo" => "fancy",
|
@@ -343,10 +395,11 @@ describe LogStash::Outputs::SumoLogic do
|
|
343
395
|
})}
|
344
396
|
|
345
397
|
it "include content" do
|
346
|
-
|
347
|
-
expect(
|
348
|
-
expect(
|
349
|
-
expect(
|
398
|
+
sorted = server.all_sorted
|
399
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.0 foo=fancy 0\.24 \d{10,}$/)
|
400
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.2 foo=fancy 0\.75 \d{10,}$/)
|
401
|
+
expect(sorted.pop).to match(/^host=myHost metric=cpu\.3 foo=fancy 0\.28 \d{10,}$/)
|
402
|
+
expect(sorted.empty?).to eq(true)
|
350
403
|
end
|
351
404
|
end
|
352
405
|
|
data/spec/spec_helper.rb
CHANGED
@@ -14,6 +14,14 @@ class Server
|
|
14
14
|
@queue.length
|
15
15
|
end
|
16
16
|
|
17
|
+
def all
|
18
|
+
@queue.size.times.map { @queue.pop }
|
19
|
+
end
|
20
|
+
|
21
|
+
def all_sorted
|
22
|
+
all.sort { |x, y| y <=> x }
|
23
|
+
end
|
24
|
+
|
17
25
|
def pop
|
18
26
|
if !@queue.empty?
|
19
27
|
@queue.pop
|
@@ -50,4 +58,4 @@ class LogStash::Outputs::SumoLogic
|
|
50
58
|
@server.push(content, get_headers())
|
51
59
|
end
|
52
60
|
|
53
|
-
end
|
61
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-sumologic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sumo Logic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,10 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '1.3'
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 1.3.1
|
47
50
|
name: logstash-devutils
|
48
51
|
prerelease: false
|
49
52
|
type: :development
|
@@ -51,7 +54,10 @@ dependencies:
|
|
51
54
|
requirements:
|
52
55
|
- - "~>"
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
57
|
+
version: '1.3'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 1.3.1
|
55
61
|
description: This gem is a Logstash output plugin to deliver the log or metrics to
|
56
62
|
Sumo Logic cloud service. Go to https://github.com/SumoLogic/logstash-output-sumologic
|
57
63
|
for getting help, reporting issues, etc.
|
@@ -93,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
99
|
version: '0'
|
94
100
|
requirements: []
|
95
101
|
rubyforge_project:
|
96
|
-
rubygems_version: 2.6.
|
102
|
+
rubygems_version: 2.6.14.1
|
97
103
|
signing_key:
|
98
104
|
specification_version: 4
|
99
105
|
summary: Deliever the log to Sumo Logic cloud service.
|