munin2graphite 0.1.1 → 0.1.2
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/VERSION +1 -1
- data/lib/munin2graphite/scheduler.rb +37 -32
- data/munin2graphite.gemspec +2 -2
- metadata +19 -19
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -44,24 +44,27 @@ module Munin2Graphite
|
|
44
44
|
workers.each do |worker|
|
45
45
|
@munin_config[worker] = {}
|
46
46
|
config = @config.config_for_worker(worker)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
47
|
+
begin
|
48
|
+
munin = Munin::Node.new(config["munin_hostname"],config["munin_port"])
|
49
|
+
nodes = config["munin_nodes"] ? config["munin_nodes"].split(",") : munin.nodes
|
50
|
+
@munin_config[worker][:nodes] = {}
|
51
|
+
nodes.each do |node|
|
52
|
+
@munin_config[worker][:nodes][node] = {:metrics => munin.list(node)}
|
53
|
+
@munin_config[worker][:nodes][node][:categories] = {}
|
54
|
+
@munin_config[worker][:nodes][node][:metrics].each do |metric|
|
55
|
+
@munin_config[worker][:nodes][node][:config] = munin.config(metric)[metric]
|
56
|
+
@munin_config[worker][:nodes][node][:raw_config] = munin.config(metric,true)[metric]
|
57
|
+
@munin_config[worker][:nodes][node][:categories][metric] = category_from_config(@munin_config[worker][:nodes][node][:raw_config])
|
58
|
+
end
|
59
59
|
end
|
60
|
+
munin.disconnect
|
61
|
+
rescue Exception
|
62
|
+
config.log.error("There was an error trying to obtain info from node #{config["munin_hostname"]}")
|
63
|
+
config.log.error $!
|
60
64
|
end
|
61
|
-
munin.disconnect
|
62
65
|
end
|
63
66
|
@munin_config
|
64
|
-
end
|
67
|
+
end
|
65
68
|
|
66
69
|
def workers
|
67
70
|
@workers ||= (@config.workers.empty? ? ["global"] : @config.workers )
|
@@ -122,7 +125,7 @@ module Munin2Graphite
|
|
122
125
|
carbon.flush
|
123
126
|
carbon.close
|
124
127
|
end
|
125
|
-
end
|
128
|
+
end if munin_config[worker][:nodes]
|
126
129
|
threads.each { |i| i.join }
|
127
130
|
end
|
128
131
|
@config.log.info("End getting metrics, elapsed time (#{Time.now - time}s)")
|
@@ -138,28 +141,31 @@ module Munin2Graphite
|
|
138
141
|
workers.each do |worker|
|
139
142
|
time = Time.now
|
140
143
|
config = @config.config_for_worker worker
|
141
|
-
config.log.info("Begin : Sending Graph Information to Graphite for worker #{worker}")
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
144
|
+
config.log.info("Begin : Sending Graph Information to Graphite for worker #{worker}")
|
145
|
+
begin
|
146
|
+
munin = Munin::Node.new(config["munin_hostname"],config["munin_port"])
|
147
|
+
Graphite::Base.set_connection(config["graphite_endpoint"])
|
148
|
+
Graphite::Base.authenticate(config["graphite_user"],config["graphite_password"])
|
149
|
+
|
150
|
+
nodes = config["munin_nodes"] ? config["munin_nodes"].split(",") : munin.nodes
|
151
|
+
nodes.each do |node|
|
152
|
+
config.log.info("Graphs for #{node}")
|
153
|
+
munin.list(node).each do |metric|
|
154
|
+
config.log.info("Configuring #{metric}")
|
155
|
+
munin_graph = MuninGraph.graph_for munin.config(metric,true)[metric]
|
152
156
|
munin_graph.config = config.merge("metric" => "#{metric}","hostname" => node.split(".").first)
|
153
157
|
config.log.debug("Saving graph #{metric}")
|
154
158
|
munin_graph.to_graphite.save!
|
155
|
-
rescue Exception
|
156
|
-
config.log.error("Error when trying to obtain graph conf, for #{metric}. Ignored")
|
157
|
-
config.log.error $!
|
158
159
|
end
|
159
160
|
end
|
161
|
+
config.log.info("End : Sending Graph Information to Graphite for worker #{worker}, elapsed time (#{Time.now - time}s)")
|
162
|
+
munin_graph.to_graphite.save!
|
163
|
+
|
164
|
+
munin.disconnect
|
165
|
+
rescue Exception
|
166
|
+
config.log.error("Error when trying to obtain graph conf. Ignored")
|
167
|
+
config.log.error $!
|
160
168
|
end
|
161
|
-
config.log.info("End : Sending Graph Information to Graphite for worker #{worker}, elapsed time (#{Time.now - time}s)")
|
162
|
-
munin.disconnect
|
163
169
|
end
|
164
170
|
|
165
171
|
end
|
@@ -173,6 +179,5 @@ module Munin2Graphite
|
|
173
179
|
end
|
174
180
|
obtain_graphs
|
175
181
|
end
|
176
|
-
|
177
182
|
end
|
178
183
|
end
|
data/munin2graphite.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "munin2graphite"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jose Fernandez (magec)"]
|
12
|
-
s.date = "2011-12-
|
12
|
+
s.date = "2011-12-14"
|
13
13
|
s.description = "This gem will install as a daemon and can be used to connect to a graphite and a carbon backend. It will not only post the data for the metrics but also create graphs into graphite, by means of a translation from munin-node."
|
14
14
|
s.email = "jfernandezperez@gmail.com"
|
15
15
|
s.executables = ["munin2graphite", "munin2graphite-daemon"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: munin2graphite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-14 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rufus-scheduler
|
16
|
-
requirement: &
|
16
|
+
requirement: &23592960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.10
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *23592960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: daemons
|
27
|
-
requirement: &
|
27
|
+
requirement: &23592440 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.1.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *23592440
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: parseconfig
|
38
|
-
requirement: &
|
38
|
+
requirement: &23591880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *23591880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: munin-ruby
|
49
|
-
requirement: &
|
49
|
+
requirement: &23591340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.2.1
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *23591340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
requirement: &
|
60
|
+
requirement: &23590860 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.6.3
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *23590860
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
|
-
requirement: &
|
71
|
+
requirement: &23590320 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.0
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *23590320
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: jeweler
|
82
|
-
requirement: &
|
82
|
+
requirement: &23589820 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 1.5.2
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *23589820
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: yard
|
93
|
-
requirement: &
|
93
|
+
requirement: &23589320 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: 0.6.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *23589320
|
102
102
|
description: This gem will install as a daemon and can be used to connect to a graphite
|
103
103
|
and a carbon backend. It will not only post the data for the metrics but also create
|
104
104
|
graphs into graphite, by means of a translation from munin-node.
|
@@ -155,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
155
|
version: '0'
|
156
156
|
segments:
|
157
157
|
- 0
|
158
|
-
hash:
|
158
|
+
hash: 3397207126724814962
|
159
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|