logstash-output-graphite 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/logstash/outputs/graphite.rb +6 -1
- data/logstash-output-graphite.gemspec +2 -1
- data/spec/outputs/graphite_spec.rb +36 -0
- metadata +25 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c226cdd8c7baa2e2b52e8cf0d297086c9e2aba4
|
4
|
+
data.tar.gz: e6a52d491ec2b3e8946b046165c81370aae3eaec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29793d23baaca1de73782c5c3be699bbdf6df57116382ff3cadb59944dce0cdccd952b2b6a5d47d16bb035d8a2b9bd861b713dc779cfa359ee7e9f764749754e
|
7
|
+
data.tar.gz: a4e2c5fbc9344699064be2d349ed60f4dd64e2f42b90e4d6d215e52922180e906174337bbdf6e6f00e78bc479320082326b2215d856d4977e5b7669cf00a2b49
|
@@ -51,6 +51,11 @@ class LogStash::Outputs::Graphite < LogStash::Outputs::Base
|
|
51
51
|
# Exclude regex matched metric names, by default exclude unresolved %{field} strings.
|
52
52
|
config :exclude_metrics, :validate => :array, :default => [ "%\{[^}]+\}" ]
|
53
53
|
|
54
|
+
# Use this field for the timestamp instead of '@timestamp' which is the
|
55
|
+
# default. Useful when backfilling or just getting more accurate data into
|
56
|
+
# graphite since you probably have a cache layer infront of Logstash.
|
57
|
+
config :timestamp_field, :validate => :string, :default => '@timestamp'
|
58
|
+
|
54
59
|
# Enable debug output.
|
55
60
|
config :debug, :validate => :boolean, :default => false, :deprecated => "This setting was never used by this plugin. It will be removed soon."
|
56
61
|
|
@@ -102,7 +107,7 @@ class LogStash::Outputs::Graphite < LogStash::Outputs::Base
|
|
102
107
|
# Graphite message format: metric value timestamp\n
|
103
108
|
|
104
109
|
messages = []
|
105
|
-
timestamp = event.
|
110
|
+
timestamp = event[@timestamp_field].to_i
|
106
111
|
|
107
112
|
if @fields_are_metrics
|
108
113
|
@logger.debug("got metrics event", :metrics => event.to_hash)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-output-graphite'
|
4
|
-
s.version = '0.1.
|
4
|
+
s.version = '0.1.5'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "This output allows you to pull metrics from your logs and ship them to Graphite"
|
7
7
|
s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
|
@@ -25,5 +25,6 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_development_dependency 'logstash-devutils'
|
26
26
|
s.add_development_dependency 'logstash-input-generator'
|
27
27
|
s.add_development_dependency 'logstash-filter-kv'
|
28
|
+
s.add_development_dependency 'logstash-filter-ruby'
|
28
29
|
end
|
29
30
|
|
@@ -248,4 +248,40 @@ describe LogStash::Outputs::Graphite do
|
|
248
248
|
end
|
249
249
|
end
|
250
250
|
|
251
|
+
context "timestamp_field used is timestamp_new" do
|
252
|
+
timestamp_new = (Time.now + 3).to_i
|
253
|
+
let(:config) do <<-CONFIG
|
254
|
+
input {
|
255
|
+
generator {
|
256
|
+
message => "foo=123"
|
257
|
+
count => 1
|
258
|
+
type => "generator"
|
259
|
+
}
|
260
|
+
}
|
261
|
+
|
262
|
+
filter {
|
263
|
+
ruby {
|
264
|
+
code => "event['timestamp_new'] = Time.at(#{timestamp_new})"
|
265
|
+
}
|
266
|
+
}
|
267
|
+
|
268
|
+
output {
|
269
|
+
graphite {
|
270
|
+
host => "localhost"
|
271
|
+
port => #{port}
|
272
|
+
timestamp_field => "timestamp_new"
|
273
|
+
metrics => ["foo", "1"]
|
274
|
+
debug => true
|
275
|
+
}
|
276
|
+
}
|
277
|
+
CONFIG
|
278
|
+
end
|
279
|
+
|
280
|
+
it "timestamp matches timestamp_new" do
|
281
|
+
lines = server.pop
|
282
|
+
expect(lines).to match(/^foo 1.0 #{timestamp_new}\n$/)
|
283
|
+
end
|
284
|
+
|
285
|
+
end
|
286
|
+
|
251
287
|
end
|
metadata
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-graphite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elasticsearch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - '>='
|
18
17
|
- !ruby/object:Gem::Version
|
@@ -20,7 +19,10 @@ dependencies:
|
|
20
19
|
- - <
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: 2.0.0
|
23
|
-
|
22
|
+
name: logstash
|
23
|
+
prerelease: false
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
26
|
requirements:
|
25
27
|
- - '>='
|
26
28
|
- !ruby/object:Gem::Version
|
@@ -28,50 +30,62 @@ dependencies:
|
|
28
30
|
- - <
|
29
31
|
- !ruby/object:Gem::Version
|
30
32
|
version: 2.0.0
|
31
|
-
prerelease: false
|
32
|
-
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
34
39
|
name: logstash-devutils
|
40
|
+
prerelease: false
|
41
|
+
type: :development
|
35
42
|
version_requirements: !ruby/object:Gem::Requirement
|
36
43
|
requirements:
|
37
44
|
- - '>='
|
38
45
|
- !ruby/object:Gem::Version
|
39
46
|
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
40
48
|
requirement: !ruby/object:Gem::Requirement
|
41
49
|
requirements:
|
42
50
|
- - '>='
|
43
51
|
- !ruby/object:Gem::Version
|
44
52
|
version: '0'
|
53
|
+
name: logstash-input-generator
|
45
54
|
prerelease: false
|
46
55
|
type: :development
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: logstash-input-generator
|
49
56
|
version_requirements: !ruby/object:Gem::Requirement
|
50
57
|
requirements:
|
51
58
|
- - '>='
|
52
59
|
- !ruby/object:Gem::Version
|
53
60
|
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
54
62
|
requirement: !ruby/object:Gem::Requirement
|
55
63
|
requirements:
|
56
64
|
- - '>='
|
57
65
|
- !ruby/object:Gem::Version
|
58
66
|
version: '0'
|
67
|
+
name: logstash-filter-kv
|
59
68
|
prerelease: false
|
60
69
|
type: :development
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: logstash-filter-kv
|
63
70
|
version_requirements: !ruby/object:Gem::Requirement
|
64
71
|
requirements:
|
65
72
|
- - '>='
|
66
73
|
- !ruby/object:Gem::Version
|
67
74
|
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
68
76
|
requirement: !ruby/object:Gem::Requirement
|
69
77
|
requirements:
|
70
78
|
- - '>='
|
71
79
|
- !ruby/object:Gem::Version
|
72
80
|
version: '0'
|
81
|
+
name: logstash-filter-ruby
|
73
82
|
prerelease: false
|
74
83
|
type: :development
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
75
89
|
description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
|
76
90
|
email: info@elasticsearch.com
|
77
91
|
executables: []
|