sensu-plugins-http 2.1.0 → 2.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/bin/check-http-json.rb +25 -4
- data/lib/sensu-plugins-http/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: 6e3afdef217237a86469b5b3c02d9fbea9174cca
|
4
|
+
data.tar.gz: 4af732af7c2f5d722d10f4a8cfff8a23d128c34c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e9d6e5ddf2b72eaf499cc355b536d4913f9e3b4fbb44227553c31c837875afc497b10de1013ebdfdebf398ead1a50e98bf59b5b9499921e73cac0f2688e613c
|
7
|
+
data.tar.gz: 21e5cacdb6206226f04e91027eecd5e0413a04ba1eb9225a83e3e108fcc3caf5d93bdd9d07f5e9daa9d9ffb01c594292e5ef94d561214d9f504e0106268801c4
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
|
+
## [2.2.0] - 2017-05-31
|
8
|
+
### Added
|
9
|
+
- `check-http-json`: add --value-greater-than and --value-less-than options (@dave-handy)
|
10
|
+
|
7
11
|
## [2.1.0]
|
8
12
|
### Fixed
|
9
13
|
- `check-http-json`: fix error when check fails and --whole-response is enabled (@ushis)
|
@@ -124,7 +128,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
124
128
|
### Added
|
125
129
|
- Initial release
|
126
130
|
|
127
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.
|
131
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.2.0...HEAD
|
132
|
+
[2.2.0]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.1.0...2.2.0
|
128
133
|
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.0.2...2.1.0
|
129
134
|
[2.0.2]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.0.1...2.0.2
|
130
135
|
[2.0.1]: https://github.com/sensu-plugins/sensu-plugins-http/compare/2.0.0...2.0.1
|
data/bin/check-http-json.rb
CHANGED
@@ -5,7 +5,8 @@
|
|
5
5
|
# DESCRIPTION:
|
6
6
|
# Takes either a URL or a combination of host/path/query/port/ssl, and checks
|
7
7
|
# for valid JSON output in the response. Can also optionally validate simple
|
8
|
-
# string key/value pairs
|
8
|
+
# string key/value pairs, and optionally check if a specified value is within
|
9
|
+
# bounds.
|
9
10
|
#
|
10
11
|
# OUTPUT:
|
11
12
|
# plain text
|
@@ -18,7 +19,12 @@
|
|
18
19
|
# gem: json
|
19
20
|
#
|
20
21
|
# USAGE:
|
21
|
-
#
|
22
|
+
# Check that will verify http status and JSON validity
|
23
|
+
# ./check-http-json.rb -u http://my.site.com/health.json
|
24
|
+
#
|
25
|
+
# Check that will verify http status, JSON validity, and that page.totalElements value is
|
26
|
+
# greater than 10
|
27
|
+
# ./check-http-json.rb -u http://my.site.com/metric.json --key page.totalElements --value-greater-than 10
|
22
28
|
#
|
23
29
|
# NOTES:
|
24
30
|
# Based on Check HTTP by Sonian Inc.
|
@@ -56,6 +62,8 @@ class CheckJson < Sensu::Plugin::Check::CLI
|
|
56
62
|
option :timeout, short: '-t SECS', proc: proc(&:to_i), default: 15
|
57
63
|
option :key, short: '-K KEY', long: '--key KEY'
|
58
64
|
option :value, short: '-v VALUE', long: '--value VALUE'
|
65
|
+
option :valueGt, long: '--value-greater-than VALUE'
|
66
|
+
option :valueLt, long: '--value-less-than VALUE'
|
59
67
|
option :whole_response, short: '-w', long: '--whole-response', boolean: true, default: false
|
60
68
|
|
61
69
|
def run
|
@@ -176,9 +184,22 @@ class CheckJson < Sensu::Plugin::Check::CLI
|
|
176
184
|
leaf = deep_value(json, config[:key])
|
177
185
|
|
178
186
|
raise "could not find key: #{config[:key]}" if leaf.nil?
|
179
|
-
raise "unexpected value for key: '#{config[:value]}' != '#{leaf}'" unless leaf.to_s == config[:value].to_s
|
180
187
|
|
181
|
-
|
188
|
+
message = "key has expected value: '#{config[:key]}' "
|
189
|
+
if config[:value]
|
190
|
+
raise "unexpected value for key: '#{leaf}' != '#{config[:value]}'" unless leaf.to_s == config[:value].to_s
|
191
|
+
message += " equals '#{config[:value]}'"
|
192
|
+
end
|
193
|
+
if config[:valueGt]
|
194
|
+
raise "unexpected value for key: '#{leaf}' not > '#{config[:valueGt]}'" unless leaf.to_f > config[:valueGt].to_f
|
195
|
+
message += " greater than '#{config[:valueGt]}'"
|
196
|
+
end
|
197
|
+
if config[:valueLt]
|
198
|
+
raise "unexpected value for key: '#{leaf}' not < '#{config[:valueLt]}'" unless leaf.to_f < config[:valueLt].to_f
|
199
|
+
message += " less than '#{config[:valueLt]}'"
|
200
|
+
end
|
201
|
+
|
202
|
+
ok message
|
182
203
|
rescue => e
|
183
204
|
critical "key check failed: #{e}"
|
184
205
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.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: 2017-05-
|
11
|
+
date: 2017-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|