reacter 0.0.18 → 0.0.19
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.
- data/lib/reacter/parsers/kairosdb.rb +47 -0
- metadata +17 -51
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'reacter/parser'
|
2
|
+
|
3
|
+
class Reacter
|
4
|
+
class Message
|
5
|
+
class KairosdbParser < Parser
|
6
|
+
class<<self
|
7
|
+
require 'multi_json'
|
8
|
+
require 'oj'
|
9
|
+
|
10
|
+
def detected?(message)
|
11
|
+
(message[0] == '{' or message[0] == '[')
|
12
|
+
end
|
13
|
+
|
14
|
+
def parse(message)
|
15
|
+
[*MultiJson.load(message)].collect{|i|
|
16
|
+
{
|
17
|
+
:metric => i['name'],
|
18
|
+
:time => i['timestamp'].to_i,
|
19
|
+
:value => i['value'],
|
20
|
+
:attributes => i['tags']
|
21
|
+
}
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def dump(message)
|
26
|
+
message = message.to_h if message.is_a?(Message)
|
27
|
+
return nil unless message.is_a?(Hash)
|
28
|
+
return nil unless message[:source]
|
29
|
+
return nil unless message[:metric]
|
30
|
+
return nil unless message[:value]
|
31
|
+
return nil unless message[:time]
|
32
|
+
|
33
|
+
attributes = {
|
34
|
+
:host => message[:source]
|
35
|
+
}.merge(message[:attributes] || {})
|
36
|
+
|
37
|
+
MultiJson.dump({
|
38
|
+
:name => message[:metric],
|
39
|
+
:timestamp => message[:time].to_i,
|
40
|
+
:value => message[:value],
|
41
|
+
:tags => attributes
|
42
|
+
})
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reacter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-03-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &10277620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *10277620
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: em-http-server
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &10277180 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,15 +32,10 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
35
|
+
version_requirements: *10277180
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: deep_merge
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &10276520 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,15 +43,10 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *10276520
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: hashlib
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &10275600 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ! '>='
|
@@ -69,15 +54,10 @@ dependencies:
|
|
69
54
|
version: '0'
|
70
55
|
type: :runtime
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
57
|
+
version_requirements: *10275600
|
78
58
|
- !ruby/object:Gem::Dependency
|
79
59
|
name: hiredis
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &10274860 !ruby/object:Gem::Requirement
|
81
61
|
none: false
|
82
62
|
requirements:
|
83
63
|
- - ! '>='
|
@@ -85,15 +65,10 @@ dependencies:
|
|
85
65
|
version: '0'
|
86
66
|
type: :runtime
|
87
67
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
68
|
+
version_requirements: *10274860
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: multi_json
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &10273860 !ruby/object:Gem::Requirement
|
97
72
|
none: false
|
98
73
|
requirements:
|
99
74
|
- - ! '>='
|
@@ -101,15 +76,10 @@ dependencies:
|
|
101
76
|
version: '0'
|
102
77
|
type: :runtime
|
103
78
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
79
|
+
version_requirements: *10273860
|
110
80
|
- !ruby/object:Gem::Dependency
|
111
81
|
name: oj
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &10272700 !ruby/object:Gem::Requirement
|
113
83
|
none: false
|
114
84
|
requirements:
|
115
85
|
- - ! '>='
|
@@ -117,12 +87,7 @@ dependencies:
|
|
117
87
|
version: '0'
|
118
88
|
type: :runtime
|
119
89
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
90
|
+
version_requirements: *10272700
|
126
91
|
description: A utility for consuming, transforming, and routing monitoring data from
|
127
92
|
various sources
|
128
93
|
email: ghetzel@outbrain.com
|
@@ -151,6 +116,7 @@ files:
|
|
151
116
|
- lib/reacter/parsers/graphite.rb
|
152
117
|
- lib/reacter/parsers/json.rb
|
153
118
|
- lib/reacter/parsers/tsdb.rb
|
119
|
+
- lib/reacter/parsers/kairosdb.rb
|
154
120
|
- lib/reacter/util.rb
|
155
121
|
- bin/reacter
|
156
122
|
homepage: http://outbrain.github.com/reacter/
|
@@ -173,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
139
|
version: '0'
|
174
140
|
requirements: []
|
175
141
|
rubyforge_project:
|
176
|
-
rubygems_version: 1.8.
|
142
|
+
rubygems_version: 1.8.11
|
177
143
|
signing_key:
|
178
144
|
specification_version: 3
|
179
145
|
summary: Reacter monitoring processor
|