munin2graphite 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d873c57c17e3e3796363d858d5b902913af4ec96
4
+ data.tar.gz: 71145f7b38be43c838f66f4555587e192e90d7d3
5
+ SHA512:
6
+ metadata.gz: 1114fffd3b901c5857ed2131a5e58e81413becee053aec98532735e292741e9dc197e97b4bbb98c3f3508ef93f8a8450d911a816b98e3e6c7c95caf9eff27d45
7
+ data.tar.gz: 988f46825018e83a1ec0a987863b737bca367365d4ee7e7742805a1936bf0e2dcc1eb74fc4974ee4644d785bde78d9bde4eb2d7c6f3f07a4315ee0cc386b4bd3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -49,7 +49,7 @@ module Munin2Graphite
49
49
  semaphore = Mutex.new
50
50
  threads = []
51
51
  workers.each do |worker|
52
- threads << Thread.new do
52
+ threads << Thread.new do
53
53
  current_config = {}
54
54
  config = @config.config_for_worker(worker)
55
55
  begin
@@ -58,7 +58,7 @@ module Munin2Graphite
58
58
  rescue Exception => e
59
59
  config.log.error("Error when trying to connect to munin-node on #{config["munin_hostname"]}:#{config["munin_port"]}")
60
60
  config.log.error("This node will be skipped")
61
- exit
61
+ Thread.current.exit
62
62
  end
63
63
  current_config[:nodes] = {}
64
64
  semaphore_nodes = Mutex.new
@@ -68,7 +68,7 @@ module Munin2Graphite
68
68
  munin = Munin::Node.new(config["munin_hostname"],config["munin_port"])
69
69
  metrics = munin.list(node)
70
70
  config.log.info("Config for node #{worker}::#{node}")
71
- semaphore_nodes.synchronize do
71
+ semaphore_nodes.synchronize do
72
72
  current_config[:nodes][node] = { :metrics => {} }
73
73
  end
74
74
  metrics.each do |metric|
@@ -80,11 +80,11 @@ module Munin2Graphite
80
80
  nodename = config["graphite_name_schema"] == "worker" ? worker : node
81
81
  if raw_config.match("graph_title ")
82
82
  raw_config.gsub!("graph_title ","graph_itle #{nodename} ")
83
- else
83
+ else
84
84
  raw_config << "\ngraph_title #{nodename}"
85
85
  end
86
86
  end
87
- semaphore_nodes.synchronize do
87
+ semaphore_nodes.synchronize do
88
88
  current_config[:nodes][node][:metrics][metric] = {
89
89
  :config => munin.config(metric)[metric],
90
90
  :raw_config => raw_config,
@@ -99,7 +99,7 @@ module Munin2Graphite
99
99
  end
100
100
  threads_nodes.each { |i| i.join }
101
101
  # @config.log.debug(current_config.inspect)
102
- semaphore.synchronize do
102
+ semaphore.synchronize do
103
103
  @munin_config[worker] = current_config
104
104
  @munin_config[:workers] << worker
105
105
  end
@@ -123,7 +123,7 @@ module Munin2Graphite
123
123
  config = @config.config_for_worker(worker)
124
124
  config.log.info("Worker #{worker}")
125
125
  metric_base = [config["graphite_user"], config["graphite_prefix"]].reject{|i| i== ""}.compact.join(".")
126
-
126
+
127
127
  my_munin_config[worker][:nodes].each do |node,node_info|
128
128
  node_name = metric_base + "." + node.split(".").first
129
129
  config.log.debug("Doing #{node_name}")
@@ -152,8 +152,8 @@ module Munin2Graphite
152
152
  config.log.info("Done with: #{node} (#{Time.now - metric_time} s)")
153
153
  carbon = @carbon || Carbon.new(config["carbon_hostname"],config["carbon_port"])
154
154
  string_to_send = ""
155
- values.each do |metric,results|
156
- category = node_info[:metrics][metric][:category]
155
+ values.each do |metric,results|
156
+ category = node_info[:metrics][metric][:category]
157
157
  results.each do |k,v|
158
158
  v.each do |c_metric,c_value|
159
159
  name = "#{node_name}.#{category}.#{metric}.#{c_metric}".gsub("-","_")
@@ -193,7 +193,7 @@ module Munin2Graphite
193
193
  end
194
194
 
195
195
  def metric_loop(worker)
196
- config = @config.config_for_worker worker
196
+ config = @config.config_for_worker worker
197
197
  retries = 3
198
198
  begin
199
199
  obtain_metrics(worker)
@@ -206,15 +206,15 @@ module Munin2Graphite
206
206
  retry unless retries < 0
207
207
  config.log.error("Exitting, exception not solved")
208
208
  exit(1)
209
- end
209
+ end
210
210
  end
211
211
 
212
212
  def start1r_metrics
213
213
  @config.log.info("One-run started: metrics")
214
- workers.each do |worker|
215
- config = @config.config_for_worker worker
214
+ workers.each do |worker|
215
+ config = @config.config_for_worker worker
216
216
  metric_loop(worker)
217
- end
217
+ end
218
218
  end
219
219
 
220
220
  def start1r_graphs
@@ -226,8 +226,8 @@ module Munin2Graphite
226
226
  @config.log.info("Scheduler started")
227
227
  obtain_graphs
228
228
  @scheduler = Rufus::Scheduler.start_new
229
- workers.each do |worker|
230
- config = @config.config_for_worker worker
229
+ workers.each do |worker|
230
+ config = @config.config_for_worker worker
231
231
  config.log.info("Scheduling worker #{worker} every #{config["scheduler_metrics_period"]} ")
232
232
  metric_loop(worker)
233
233
  @scheduler.every config["scheduler_metrics_period"] do
@@ -235,13 +235,13 @@ module Munin2Graphite
235
235
  end
236
236
 
237
237
  =begin
238
- # Graph rereading is disabled by now there are concurrency problems
238
+ # Graph rereading is disabled by now there are concurrency problems
239
239
  @scheduler.every config["scheduler_graphs_period"] do
240
240
  obtain_graphs
241
241
  end
242
242
  =end
243
243
 
244
- end
244
+ end
245
245
  end
246
246
  end
247
247
  end
@@ -2,17 +2,19 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: munin2graphite 0.2.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "munin2graphite"
8
- s.version = "0.2.0"
9
+ s.version = "0.2.1"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Jose Fernandez (magec)"]
12
- s.date = "2012-10-16"
14
+ s.date = "2014-05-19"
13
15
  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
16
  s.email = "jfernandezperez@gmail.com"
15
- s.executables = ["munin2graphite-daemon", "munin2gdash", "munin2graphite", "munin2graphite-1r"]
17
+ s.executables = ["munin2gdash", "munin2graphite", "munin2graphite-1r", "munin2graphite-daemon"]
16
18
  s.extra_rdoc_files = [
17
19
  "LICENSE.txt",
18
20
  "README.markdown"
@@ -53,12 +55,11 @@ Gem::Specification.new do |s|
53
55
  ]
54
56
  s.homepage = "http://github.com/magec/munin2graphite"
55
57
  s.licenses = ["MIT"]
56
- s.require_paths = ["lib"]
57
- s.rubygems_version = "1.8.24"
58
+ s.rubygems_version = "2.2.0"
58
59
  s.summary = "Allows to post both data and graphic info from munin to graphite (https://launchpad.net/graphite)"
59
60
 
60
61
  if s.respond_to? :specification_version then
61
- s.specification_version = 3
62
+ s.specification_version = 4
62
63
 
63
64
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
64
65
  s.add_runtime_dependency(%q<rufus-scheduler>, ["= 2.0.10"])
metadata CHANGED
@@ -1,145 +1,127 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: munin2graphite
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 0
10
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Jose Fernandez (magec)
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-10-16 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
22
- none: false
23
- requirements:
24
- - - "="
25
- - !ruby/object:Gem::Version
26
- hash: 27
27
- segments:
28
- - 2
29
- - 0
30
- - 10
31
- version: 2.0.10
32
- version_requirements: *id001
11
+ date: 2014-05-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
33
14
  name: rufus-scheduler
34
- prerelease: false
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.10
35
20
  type: :runtime
36
- - !ruby/object:Gem::Dependency
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - "="
41
- - !ruby/object:Gem::Version
42
- hash: 27
43
- segments:
44
- - 1
45
- - 1
46
- - 4
47
- version: 1.1.4
48
- version_requirements: *id002
49
- name: daemons
50
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: daemons
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.4
51
34
  type: :runtime
52
- - !ruby/object:Gem::Dependency
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- version_requirements: *id003
63
- name: parseconfig
64
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.4
41
+ - !ruby/object:Gem::Dependency
42
+ name: parseconfig
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
65
48
  type: :runtime
66
- - !ruby/object:Gem::Dependency
67
- requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 21
73
- segments:
74
- - 0
75
- - 2
76
- - 1
77
- version: 0.2.1
78
- version_requirements: *id004
79
- name: munin-ruby
80
49
  prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: munin-ruby
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.1
81
62
  type: :runtime
82
- - !ruby/object:Gem::Dependency
83
- requirement: &id005 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 9
89
- segments:
90
- - 1
91
- - 6
92
- - 3
93
- version: 1.6.3
94
- version_requirements: *id005
95
- name: json
96
63
  prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.3
97
76
  type: :runtime
98
- - !ruby/object:Gem::Dependency
99
- requirement: &id006 !ruby/object:Gem::Requirement
100
- none: false
101
- requirements:
102
- - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 63
105
- segments:
106
- - 1
107
- - 8
108
- - 4
109
- version: 1.8.4
110
- version_requirements: *id006
111
- name: jeweler
112
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: jeweler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.8.4
113
90
  type: :development
114
- - !ruby/object:Gem::Dependency
115
- requirement: &id007 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ~>
119
- - !ruby/object:Gem::Version
120
- hash: 7
121
- segments:
122
- - 0
123
- - 6
124
- - 0
125
- version: 0.6.0
126
- version_requirements: *id007
127
- name: yard
128
91
  prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.8.4
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.6.0
129
104
  type: :development
130
- 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.
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.6.0
111
+ description: This gem will install as a daemon and can be used to connect to a graphite
112
+ and a carbon backend. It will not only post the data for the metrics but also create
113
+ graphs into graphite, by means of a translation from munin-node.
131
114
  email: jfernandezperez@gmail.com
132
- executables:
133
- - munin2graphite-daemon
115
+ executables:
134
116
  - munin2gdash
135
117
  - munin2graphite
136
118
  - munin2graphite-1r
119
+ - munin2graphite-daemon
137
120
  extensions: []
138
-
139
- extra_rdoc_files:
121
+ extra_rdoc_files:
140
122
  - LICENSE.txt
141
123
  - README.markdown
142
- files:
124
+ files:
143
125
  - Gemfile
144
126
  - LICENSE.txt
145
127
  - README.markdown
@@ -173,37 +155,27 @@ files:
173
155
  - test/test_my_graph.rb
174
156
  - test/test_scheduler.rb
175
157
  homepage: http://github.com/magec/munin2graphite
176
- licenses:
158
+ licenses:
177
159
  - MIT
160
+ metadata: {}
178
161
  post_install_message:
179
162
  rdoc_options: []
180
-
181
- require_paths:
163
+ require_paths:
182
164
  - lib
183
- required_ruby_version: !ruby/object:Gem::Requirement
184
- none: false
185
- requirements:
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
186
167
  - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 3
189
- segments:
190
- - 0
191
- version: "0"
192
- required_rubygems_version: !ruby/object:Gem::Requirement
193
- none: false
194
- requirements:
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
195
172
  - - ">="
196
- - !ruby/object:Gem::Version
197
- hash: 3
198
- segments:
199
- - 0
200
- version: "0"
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
201
175
  requirements: []
202
-
203
176
  rubyforge_project:
204
- rubygems_version: 1.8.24
177
+ rubygems_version: 2.2.0
205
178
  signing_key:
206
- specification_version: 3
179
+ specification_version: 4
207
180
  summary: Allows to post both data and graphic info from munin to graphite (https://launchpad.net/graphite)
208
181
  test_files: []
209
-