heartbeat-client 0.4.4 → 0.5.0

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/Gemfile CHANGED
@@ -3,12 +3,13 @@ gem 'httparty'
3
3
  gem 'daemons'
4
4
  gem 'foreman'
5
5
  gem 'macaddr'
6
+ gem 'keen'
6
7
 
7
8
  # Add dependencies to develop your gem here.
8
9
  # Include everything needed to run rake, tests, features, etc.
9
10
  group :development do
10
11
  gem "shoulda", ">= 0"
11
- gem "bundler", "~> 1.0.0"
12
- gem "jeweler", "~> 1.5.2"
12
+ gem "bundler", "~> 1.1.3"
13
+ gem "jeweler", "~> 1.8.4"
13
14
  gem "rcov", ">= 0"
14
15
  end
@@ -1,38 +1,58 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- daemons (1.1.4)
5
- foreman (0.30.1)
6
- term-ansicolor (~> 1.0.5)
4
+ activesupport (3.2.12)
5
+ i18n (~> 0.6)
6
+ multi_json (~> 1.0)
7
+ bourne (1.1.2)
8
+ mocha (= 0.10.5)
9
+ daemons (1.1.9)
10
+ foreman (0.61.0)
7
11
  thor (>= 0.13.6)
8
12
  git (1.2.5)
9
- httparty (0.8.1)
10
- multi_json
11
- multi_xml
12
- jeweler (1.5.2)
13
- bundler (~> 1.0.0)
13
+ httparty (0.10.2)
14
+ multi_json (~> 1.0)
15
+ multi_xml (>= 0.5.2)
16
+ i18n (0.6.1)
17
+ jeweler (1.8.4)
18
+ bundler (~> 1.0)
14
19
  git (>= 1.2.5)
15
20
  rake
16
- macaddr (1.5.0)
17
- systemu (>= 2.4.0)
18
- multi_json (1.0.4)
19
- multi_xml (0.4.1)
20
- rake (0.9.2.2)
21
- rcov (0.9.11)
22
- shoulda (2.11.3)
23
- systemu (2.4.2)
24
- term-ansicolor (1.0.7)
25
- thor (0.14.6)
21
+ rdoc
22
+ json (1.7.7)
23
+ keen (0.4.4)
24
+ multi_json (~> 1.0)
25
+ macaddr (1.6.1)
26
+ systemu (~> 2.5.0)
27
+ metaclass (0.0.1)
28
+ mocha (0.10.5)
29
+ metaclass (~> 0.0.1)
30
+ multi_json (1.6.1)
31
+ multi_xml (0.5.3)
32
+ rake (10.0.3)
33
+ rcov (1.0.0)
34
+ rdoc (3.12.1)
35
+ json (~> 1.4)
36
+ shoulda (3.3.2)
37
+ shoulda-context (~> 1.0.1)
38
+ shoulda-matchers (~> 1.4.1)
39
+ shoulda-context (1.0.2)
40
+ shoulda-matchers (1.4.2)
41
+ activesupport (>= 3.0.0)
42
+ bourne (~> 1.1.2)
43
+ systemu (2.5.2)
44
+ thor (0.17.0)
26
45
 
27
46
  PLATFORMS
28
47
  ruby
29
48
 
30
49
  DEPENDENCIES
31
- bundler (~> 1.0.0)
50
+ bundler (~> 1.1.3)
32
51
  daemons
33
52
  foreman
34
53
  httparty
35
- jeweler (~> 1.5.2)
54
+ jeweler (~> 1.8.4)
55
+ keen
36
56
  macaddr
37
57
  rcov
38
58
  shoulda
data/Rakefile CHANGED
@@ -43,7 +43,7 @@ end
43
43
 
44
44
  task :default => :test
45
45
 
46
- require 'rake/rdoctask'
46
+ require 'rdoc/task'
47
47
  Rake::RDocTask.new do |rdoc|
48
48
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
49
49
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.4
1
+ 0.5.0
@@ -4,3 +4,6 @@ name: "<SERVER NAME ALIAS>"
4
4
  apache_status: "http://127.0.0.1/server-status/?auto"
5
5
  mongostat_arguments: "-h 127.0.0.1 -n 1"
6
6
  #mongostat_arguments: "-h 127.0.0.1 -n 1 -u YOUR_USER -p PASS"
7
+ #keen_project_token: ""
8
+ #keen_api_key: ""
9
+ #keen_collection: ""
@@ -5,6 +5,7 @@ require 'logger'
5
5
  require 'macaddr'
6
6
  require 'net/http'
7
7
  require 'json'
8
+ require 'keen'
8
9
 
9
10
  class Heartbeat
10
11
  include HTTParty
@@ -33,6 +34,9 @@ class Heartbeat
33
34
  name = config['name']
34
35
  apache_status = config['apache_status']
35
36
  mongostat_arguments = config['mongostat_arguments']
37
+ keen_project_token = config['keen_project_token']
38
+ keen_api_key = config['keen_api_key']
39
+ keen_collection = config['keen_collection']
36
40
 
37
41
  if gather_metrics
38
42
  procs = {'total' => 0, 'running' => 0, 'stuck' => 0, 'sleeping' => 0, 'threads' => 0, 'stopped' => 0, 'zombie' => 0}
@@ -145,6 +149,12 @@ class Heartbeat
145
149
  log.info("#create - Sending data to endpoint (with metrics)...")
146
150
  res = Heartbeat.post(endpoint + '/heartbeat', options)
147
151
  log.debug("Response: #{res.response.inspect}") if res
152
+
153
+ if keen_project_token and keen_api_key and keen_collection
154
+ keen = Keen::Client.new(:project_id => keen_project_token, :api_key => keen_api_key)
155
+ data = options[:body][:heartbeat]
156
+ keen.publish(keen_collection, {:host => data[:host], :cpu => data[:values][:cpu_usage]})
157
+ end
148
158
  else
149
159
  log.error "No top output found."
150
160
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heartbeat-client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 4
9
- - 4
10
- version: 0.4.4
8
+ - 5
9
+ - 0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Oliver Kiessler
@@ -15,10 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-31 00:00:00 Z
18
+ date: 2013-02-23 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
21
+ requirement: &id001 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ">="
@@ -27,12 +27,12 @@ dependencies:
27
27
  segments:
28
28
  - 0
29
29
  version: "0"
30
+ version_requirements: *id001
30
31
  name: httparty
31
32
  prerelease: false
32
33
  type: :runtime
33
- requirement: *id001
34
34
  - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
36
  none: false
37
37
  requirements:
38
38
  - - ">="
@@ -41,12 +41,12 @@ dependencies:
41
41
  segments:
42
42
  - 0
43
43
  version: "0"
44
+ version_requirements: *id002
44
45
  name: daemons
45
46
  prerelease: false
46
47
  type: :runtime
47
- requirement: *id002
48
48
  - !ruby/object:Gem::Dependency
49
- version_requirements: &id003 !ruby/object:Gem::Requirement
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ">="
@@ -55,12 +55,12 @@ dependencies:
55
55
  segments:
56
56
  - 0
57
57
  version: "0"
58
+ version_requirements: *id003
58
59
  name: foreman
59
60
  prerelease: false
60
61
  type: :runtime
61
- requirement: *id003
62
62
  - !ruby/object:Gem::Dependency
63
- version_requirements: &id004 !ruby/object:Gem::Requirement
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - ">="
@@ -69,12 +69,26 @@ dependencies:
69
69
  segments:
70
70
  - 0
71
71
  version: "0"
72
+ version_requirements: *id004
72
73
  name: macaddr
73
74
  prerelease: false
74
75
  type: :runtime
75
- requirement: *id004
76
76
  - !ruby/object:Gem::Dependency
77
- version_requirements: &id005 !ruby/object:Gem::Requirement
77
+ requirement: &id005 !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
86
+ version_requirements: *id005
87
+ name: keen
88
+ prerelease: false
89
+ type: :runtime
90
+ - !ruby/object:Gem::Dependency
91
+ requirement: &id006 !ruby/object:Gem::Requirement
78
92
  none: false
79
93
  requirements:
80
94
  - - ">="
@@ -83,44 +97,44 @@ dependencies:
83
97
  segments:
84
98
  - 0
85
99
  version: "0"
100
+ version_requirements: *id006
86
101
  name: shoulda
87
102
  prerelease: false
88
103
  type: :development
89
- requirement: *id005
90
104
  - !ruby/object:Gem::Dependency
91
- version_requirements: &id006 !ruby/object:Gem::Requirement
105
+ requirement: &id007 !ruby/object:Gem::Requirement
92
106
  none: false
93
107
  requirements:
94
108
  - - ~>
95
109
  - !ruby/object:Gem::Version
96
- hash: 23
110
+ hash: 21
97
111
  segments:
98
112
  - 1
99
- - 0
100
- - 0
101
- version: 1.0.0
113
+ - 1
114
+ - 3
115
+ version: 1.1.3
116
+ version_requirements: *id007
102
117
  name: bundler
103
118
  prerelease: false
104
119
  type: :development
105
- requirement: *id006
106
120
  - !ruby/object:Gem::Dependency
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
121
+ requirement: &id008 !ruby/object:Gem::Requirement
108
122
  none: false
109
123
  requirements:
110
124
  - - ~>
111
125
  - !ruby/object:Gem::Version
112
- hash: 7
126
+ hash: 63
113
127
  segments:
114
128
  - 1
115
- - 5
116
- - 2
117
- version: 1.5.2
129
+ - 8
130
+ - 4
131
+ version: 1.8.4
132
+ version_requirements: *id008
118
133
  name: jeweler
119
134
  prerelease: false
120
135
  type: :development
121
- requirement: *id007
122
136
  - !ruby/object:Gem::Dependency
123
- version_requirements: &id008 !ruby/object:Gem::Requirement
137
+ requirement: &id009 !ruby/object:Gem::Requirement
124
138
  none: false
125
139
  requirements:
126
140
  - - ">="
@@ -129,12 +143,12 @@ dependencies:
129
143
  segments:
130
144
  - 0
131
145
  version: "0"
146
+ version_requirements: *id009
132
147
  name: rcov
133
148
  prerelease: false
134
149
  type: :development
135
- requirement: *id008
136
150
  - !ruby/object:Gem::Dependency
137
- version_requirements: &id009 !ruby/object:Gem::Requirement
151
+ requirement: &id010 !ruby/object:Gem::Requirement
138
152
  none: false
139
153
  requirements:
140
154
  - - ">="
@@ -143,12 +157,12 @@ dependencies:
143
157
  segments:
144
158
  - 0
145
159
  version: "0"
160
+ version_requirements: *id010
146
161
  name: daemons
147
162
  prerelease: false
148
163
  type: :runtime
149
- requirement: *id009
150
164
  - !ruby/object:Gem::Dependency
151
- version_requirements: &id010 !ruby/object:Gem::Requirement
165
+ requirement: &id011 !ruby/object:Gem::Requirement
152
166
  none: false
153
167
  requirements:
154
168
  - - ">="
@@ -157,12 +171,12 @@ dependencies:
157
171
  segments:
158
172
  - 0
159
173
  version: "0"
174
+ version_requirements: *id011
160
175
  name: httparty
161
176
  prerelease: false
162
177
  type: :runtime
163
- requirement: *id010
164
178
  - !ruby/object:Gem::Dependency
165
- version_requirements: &id011 !ruby/object:Gem::Requirement
179
+ requirement: &id012 !ruby/object:Gem::Requirement
166
180
  none: false
167
181
  requirements:
168
182
  - - ">="
@@ -171,12 +185,12 @@ dependencies:
171
185
  segments:
172
186
  - 0
173
187
  version: "0"
188
+ version_requirements: *id012
174
189
  name: json
175
190
  prerelease: false
176
191
  type: :runtime
177
- requirement: *id011
178
192
  - !ruby/object:Gem::Dependency
179
- version_requirements: &id012 !ruby/object:Gem::Requirement
193
+ requirement: &id013 !ruby/object:Gem::Requirement
180
194
  none: false
181
195
  requirements:
182
196
  - - ">="
@@ -185,12 +199,12 @@ dependencies:
185
199
  segments:
186
200
  - 0
187
201
  version: "0"
202
+ version_requirements: *id013
188
203
  name: foreman
189
204
  prerelease: false
190
205
  type: :runtime
191
- requirement: *id012
192
206
  - !ruby/object:Gem::Dependency
193
- version_requirements: &id013 !ruby/object:Gem::Requirement
207
+ requirement: &id014 !ruby/object:Gem::Requirement
194
208
  none: false
195
209
  requirements:
196
210
  - - ">="
@@ -199,10 +213,10 @@ dependencies:
199
213
  segments:
200
214
  - 0
201
215
  version: "0"
216
+ version_requirements: *id014
202
217
  name: macaddr
203
218
  prerelease: false
204
219
  type: :runtime
205
- requirement: *id013
206
220
  description: Heartbeat Client in Ruby
207
221
  email: kiessler@inceedo.com
208
222
  executables:
@@ -255,10 +269,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
269
  requirements: []
256
270
 
257
271
  rubyforge_project:
258
- rubygems_version: 1.8.15
272
+ rubygems_version: 1.8.25
259
273
  signing_key:
260
274
  specification_version: 3
261
275
  summary: Heartbeat
262
- test_files:
263
- - test/helper.rb
264
- - test/test_heartbeat-client.rb
276
+ test_files: []
277
+