haproxystats 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/haproxystats/stats.rb +22 -10
- metadata +1 -1
data/lib/haproxystats/stats.rb
CHANGED
@@ -52,17 +52,19 @@ class HAProxyStats < HAProxySocket
|
|
52
52
|
out
|
53
53
|
end
|
54
54
|
|
55
|
-
# Return
|
55
|
+
# Return UP servers as array
|
56
56
|
def up(service)
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
57
|
+
find(service, 'UP')
|
58
|
+
end
|
59
|
+
|
60
|
+
# Return MAINT servers as array
|
61
|
+
def maint(service)
|
62
|
+
find(service, 'MAINT')
|
63
|
+
end
|
64
|
+
|
65
|
+
# Return DOWN servers as array
|
66
|
+
def down(service)
|
67
|
+
find(service, 'DOWN')
|
66
68
|
end
|
67
69
|
|
68
70
|
# Return a ratio of the backend servers that are UP (between 0 and 1)
|
@@ -70,4 +72,14 @@ class HAProxyStats < HAProxySocket
|
|
70
72
|
def upratio(service)
|
71
73
|
up(service).length.to_f / backends(service).length
|
72
74
|
end
|
75
|
+
|
76
|
+
private
|
77
|
+
def find(service, state)
|
78
|
+
out = Array.new
|
79
|
+
backends(service).each do |this|
|
80
|
+
if @stats[service][this]['status'] == state
|
81
|
+
out = out << this
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
73
85
|
end
|