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 CHANGED
@@ -1 +1 @@
1
- 0.1.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
- munin = Munin::Node.new(config["munin_hostname"],config["munin_port"])
48
- nodes = config["munin_nodes"] ? config["munin_nodes"].split(",") : munin.nodes
49
- @munin_config[worker][:nodes] = {}
50
- nodes.each do |node|
51
-
52
- @munin_config[worker][:nodes][node] = {:metrics => munin.list(node)}
53
- @munin_config[worker][:nodes][node][:categories] = {}
54
-
55
- @munin_config[worker][:nodes][node][:metrics].each do |metric|
56
- @munin_config[worker][:nodes][node][:config] = munin.config(metric)[metric]
57
- @munin_config[worker][:nodes][node][:raw_config] = munin.config(metric,true)[metric]
58
- @munin_config[worker][:nodes][node][:categories][metric] = category_from_config(@munin_config[worker][:nodes][node][:raw_config])
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
- munin = Munin::Node.new(config["munin_hostname"],config["munin_port"])
143
- nodes = config["munin_nodes"] ? config["munin_nodes"].split(",") : munin.nodes
144
- nodes.each do |node|
145
- config.log.info("Graphs for #{node}")
146
- munin.list(node).each do |metric|
147
- config.log.info("Configuring #{metric}")
148
- Graphite::Base.set_connection(config["carbon_hostname"])
149
- Graphite::Base.authenticate(config["graphite_user"],config["graphite_password"])
150
- begin
151
- munin_graph = MuninGraph.graph_for munin.config(metric,true)[metric]
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "munin2graphite"
8
- s.version = "0.1.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"
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.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 00:00:00.000000000Z
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: &16071040 !ruby/object:Gem::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: *16071040
24
+ version_requirements: *23592960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: daemons
27
- requirement: &16070500 !ruby/object:Gem::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: *16070500
35
+ version_requirements: *23592440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: parseconfig
38
- requirement: &16047220 !ruby/object:Gem::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: *16047220
46
+ version_requirements: *23591880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: munin-ruby
49
- requirement: &16046620 !ruby/object:Gem::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: *16046620
57
+ version_requirements: *23591340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: json
60
- requirement: &16046020 !ruby/object:Gem::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: *16046020
68
+ version_requirements: *23590860
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &16045420 !ruby/object:Gem::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: *16045420
79
+ version_requirements: *23590320
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &16044760 !ruby/object:Gem::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: *16044760
90
+ version_requirements: *23589820
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: yard
93
- requirement: &16044160 !ruby/object:Gem::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: *16044160
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: 3426633112127001197
158
+ hash: 3397207126724814962
159
159
  required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements: