heartbeat-client 0.3.2 → 0.4.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/VERSION +1 -1
- data/bin/hbc +1 -1
- data/heartbeat-client.yml.sample +4 -0
- data/lib/heartbeat-client.rb +34 -4
- metadata +6 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/bin/hbc
CHANGED
data/lib/heartbeat-client.rb
CHANGED
@@ -23,9 +23,14 @@ class Heartbeat
|
|
23
23
|
@@log
|
24
24
|
end
|
25
25
|
|
26
|
-
def self.create(
|
26
|
+
def self.create(config)
|
27
27
|
log.info("#create - Collecting data...")
|
28
28
|
|
29
|
+
apikey = config['apikey']
|
30
|
+
endpoint = config['endpoint']
|
31
|
+
name = config['name']
|
32
|
+
apache_status = config['apache_status']
|
33
|
+
|
29
34
|
procs = {'total' => 0, 'running' => 0, 'stuck' => 0, 'sleeping' => 0, 'threads' => 0, 'stopped' => 0, 'zombie' => 0}
|
30
35
|
load_avg = []
|
31
36
|
cpu_usage = {'user' => 0, 'sys' => 0, 'idle' => 0}
|
@@ -33,6 +38,7 @@ class Heartbeat
|
|
33
38
|
memory = {'free' => 0, 'used' => 0}
|
34
39
|
disks = {}
|
35
40
|
swap = {'free' => 0, 'used' => 0}
|
41
|
+
apache = {}
|
36
42
|
|
37
43
|
log.debug("Dumping top output...")
|
38
44
|
if is_linux?
|
@@ -44,6 +50,10 @@ class Heartbeat
|
|
44
50
|
log.debug("Dumping df output...")
|
45
51
|
`df -m > /tmp/dfm.out`
|
46
52
|
|
53
|
+
if apache_status
|
54
|
+
`curl #{apache_status} > /tmp/apache.out`
|
55
|
+
end
|
56
|
+
|
47
57
|
if File.exists?('/tmp/top.out')
|
48
58
|
counter = 0; proc_count = 0
|
49
59
|
File.open("/tmp/top.out", "r") do |infile|
|
@@ -76,6 +86,16 @@ class Heartbeat
|
|
76
86
|
end
|
77
87
|
end
|
78
88
|
end
|
89
|
+
|
90
|
+
if File.exists?('/tmp/apache.out')
|
91
|
+
File.open("/tmp/apache.out", "r") do |infile|
|
92
|
+
counter = 0; lines = []
|
93
|
+
while (line = infile.gets)
|
94
|
+
apache_status(apache, line)
|
95
|
+
counter += 1
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
79
99
|
|
80
100
|
options = {
|
81
101
|
:body => {
|
@@ -92,12 +112,13 @@ class Heartbeat
|
|
92
112
|
:processes => processes,
|
93
113
|
:memory => memory,
|
94
114
|
:disks => disks,
|
95
|
-
:swap => swap
|
115
|
+
:swap => swap,
|
116
|
+
:apache_status => apache
|
96
117
|
}
|
97
118
|
}
|
98
119
|
}
|
99
120
|
}
|
100
|
-
|
121
|
+
|
101
122
|
log.info("#create - Sending data to endpoint...")
|
102
123
|
res = Heartbeat.post(endpoint + '/heartbeat', options)
|
103
124
|
log.debug("Response: #{res.response.inspect}") if res
|
@@ -168,7 +189,16 @@ class Heartbeat
|
|
168
189
|
end
|
169
190
|
end
|
170
191
|
end
|
171
|
-
|
192
|
+
|
193
|
+
def self.apache_status(apache, str)
|
194
|
+
ap = str.split(':')
|
195
|
+
if ap and ap[0]
|
196
|
+
apache['requests'] = ap[1].strip.to_f if ap[0].include?('ReqPerSec')
|
197
|
+
apache['busy_workers'] = ap[1].strip.to_i if ap[0].include?('BusyWorkers')
|
198
|
+
apache['idle_workers'] = ap[1].strip.to_i if ap[0].include?('IdleWorkers')
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
172
202
|
def self.disk_usage(disks, str)
|
173
203
|
ds = str.split(' ')
|
174
204
|
disks[ds[0].strip] = {'used' => ds[2].strip, 'available' => ds[3].strip}
|
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:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Oliver Kiessler
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-15 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -222,6 +222,7 @@ files:
|
|
222
222
|
- Rakefile
|
223
223
|
- VERSION
|
224
224
|
- bin/hbc
|
225
|
+
- heartbeat-client.yml.sample
|
225
226
|
- lib/heartbeat-client.rb
|
226
227
|
- test/helper.rb
|
227
228
|
- test/test_heartbeat-client.rb
|