logstash-output-graphite 0.1.4 → 0.1.5
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 +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: []
|