munin2graphite 0.2.0 → 0.2.1

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 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
-