sensu-plugins-haproxy 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/bin/check-haproxy.rb +22 -3
- data/bin/metrics-haproxy.rb +1 -1
- data/lib/sensu-plugins-haproxy/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4c4b50a4503825cb6fdb4b8901ee5e5cfa76c91
|
4
|
+
data.tar.gz: 861303a859aab6effdd97d0c9b33f73dd295ea57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25a2e3536955ebc09009987cacaa7fb96d144807c98c9b02d5ef94a7aab51f20a272e4e6993d4c46a6b11cdaa7ec25d4e5f5bd15191dc3c1939f7058209b22f5
|
7
|
+
data.tar.gz: 739f898956be7f9abeb0bfb6784b688d65fa42f71fe18cc5b42c358311e6fb17298f4f51d35d4f06f57c8a21fd52a7babf0969f946490e7f2aa77b46599726be
|
data/CHANGELOG.md
CHANGED
@@ -3,8 +3,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
3
3
|
|
4
4
|
This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
|
5
5
|
|
6
|
+
|
6
7
|
## [Unreleased]
|
7
8
|
|
9
|
+
## [1.1.0] - 2017-01-30
|
10
|
+
### Added
|
11
|
+
- `check-haproxy.rb`: added fail on missing service flag (@obazoud)
|
12
|
+
- Consider backends in DRAIN status as UP and add flag to include backends in MAINT status (@modax)
|
13
|
+
|
8
14
|
## [1.0.0] - 2016-12-08
|
9
15
|
### Added
|
10
16
|
- added names of the failed backends to check-haproxy.rb status
|
@@ -54,7 +60,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
54
60
|
### Added
|
55
61
|
- initial release
|
56
62
|
|
57
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/1.
|
63
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/1.1.0...HEAD
|
64
|
+
[1.1.0]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/1.0.0...1.1.0
|
58
65
|
[1.0.0]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/0.1.1...1.0.0
|
59
66
|
[0.1.1]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/0.1.0...0.1.1
|
60
67
|
[0.1.0]: https://github.com/sensu-plugins/sensu-plugins-haproxy/compare/0.0.5...0.1.0
|
data/bin/check-haproxy.rb
CHANGED
@@ -102,6 +102,10 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
|
|
102
102
|
short: '-A',
|
103
103
|
boolean: true,
|
104
104
|
description: 'Check ALL Services, flag enables'
|
105
|
+
option :include_maint,
|
106
|
+
long: '--include-maint',
|
107
|
+
boolean: false,
|
108
|
+
description: 'Include servers in maintanance mode while checking (as DOWN)'
|
105
109
|
option :missing_ok,
|
106
110
|
short: '-m',
|
107
111
|
boolean: true,
|
@@ -113,6 +117,17 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
|
|
113
117
|
short: '-e',
|
114
118
|
boolean: false,
|
115
119
|
description: 'Whether service name specified with -s should be exact match or not'
|
120
|
+
option :missing_fail,
|
121
|
+
short: '-f',
|
122
|
+
boolean: false,
|
123
|
+
description: 'fail on missing service'
|
124
|
+
|
125
|
+
def service_up?(svc)
|
126
|
+
svc[:status].start_with?('UP') ||
|
127
|
+
svc[:status] == 'OPEN' ||
|
128
|
+
svc[:status] == 'no check' ||
|
129
|
+
svc[:status].start_with?('DRAIN')
|
130
|
+
end
|
116
131
|
|
117
132
|
def run #rubocop:disable all
|
118
133
|
if config[:service] || config[:all_services]
|
@@ -123,14 +138,16 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
|
|
123
138
|
|
124
139
|
if services.empty?
|
125
140
|
message "No services matching /#{config[:service]}/"
|
126
|
-
if config[:
|
141
|
+
if config[:missing_fail]
|
142
|
+
critical
|
143
|
+
elsif config[:missing_ok]
|
127
144
|
ok
|
128
145
|
else
|
129
146
|
warning
|
130
147
|
end
|
131
148
|
else
|
132
|
-
percent_up = 100 * services.count { |svc|
|
133
|
-
failed_names = services.reject { |svc|
|
149
|
+
percent_up = 100 * services.count { |svc| service_up? svc } / services.size
|
150
|
+
failed_names = services.reject { |svc| service_up? svc }.map do |svc|
|
134
151
|
"#{svc[:pxname]}/#{svc[:svname]}#{svc[:check_status].to_s.empty? ? '' : '[' + svc[:check_status] + ']'}"
|
135
152
|
end
|
136
153
|
critical_sessions = services.select { |svc| svc[:slim].to_i > 0 && (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:session_crit_percent] }
|
@@ -212,6 +229,8 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
|
|
212
229
|
end.reject do |svc| # rubocop: disable MultilineBlockChain
|
213
230
|
%w(FRONTEND BACKEND).include?(svc[:svname])
|
214
231
|
end
|
232
|
+
end.select do |svc|
|
233
|
+
config[:include_maint] || !svc[:status].start_with?('MAINT')
|
215
234
|
end
|
216
235
|
end
|
217
236
|
end
|
data/bin/metrics-haproxy.rb
CHANGED
@@ -180,7 +180,7 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
180
180
|
|
181
181
|
if line[1] != 'BACKEND' && !line[1].nil?
|
182
182
|
up_by_backend[line[0]] ||= 0
|
183
|
-
up_by_backend[line[0]] +=
|
183
|
+
up_by_backend[line[0]] += line[17].start_with?('UP') ? 1 : 0
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-haproxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|