sensu-plugins-http 0.2.1 → 0.3.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 +13 -5
- data/CHANGELOG.md +33 -5
- data/README.md +1 -1
- data/bin/check-http-json.rb +8 -8
- data/bin/check-http.rb +45 -17
- data/bin/check-https-cert.rb +5 -5
- data/bin/metrics-curl.rb +9 -3
- data/bin/metrics-http-json-deep.rb +122 -0
- data/lib/sensu-plugins-http/version.rb +2 -2
- metadata +94 -59
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZTI3NjhiYzA4YmZkZTExOGYyMWUyMDJlNTUxOTJmY2ZkZDRlMzI5Mw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZjE0NTFjZjMwMTg1ZTQ0ODE4MWEwMjdmOTYxNWI2MGRkODgxMzhlOQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MTJlOTNkYzQ4NDRmNDIwZmRiMDM2ZjE4NWNjZjFmYmNmOTk5NjI3ZjNlMThm
|
10
|
+
ZDE3YTVlYmI2OGVhZTYyMDY5YzFlY2I1NzExNzVkYzVkM2M4NTI5YzU2NDA2
|
11
|
+
YzQ5NDEwNWIwODBjYjdjYzlkMTQxY2JkMTk2MTk4NTAwOWJiZjg=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YWVjMDE3MTUwYWU3NzkwMmZjMDNkNzViYTU4NjYzZWFjYjE2MzhhMDU5ZmNi
|
14
|
+
MDY0ZmFkNDZkMjkxYzVkYWQ2NDAxNzNmOWYyM2VlMTIxYWQxMmY3YjM3YTZm
|
15
|
+
MGI5MGM3OTMyY2RlY2U1MmFmNjYyY2FlOTlkMzE3MDg4NzIxZDY=
|
data/CHANGELOG.md
CHANGED
@@ -3,16 +3,36 @@ 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
|
-
## Unreleased
|
6
|
+
## [Unreleased]
|
7
7
|
|
8
|
-
## 0.
|
8
|
+
## [0.3.0] - 2016-04-08
|
9
|
+
### Added
|
10
|
+
- Add `metrics-http-json-deep` plugin that generates metrics from a JSON endpoint
|
11
|
+
- Support POST requests in `check-http.rb`
|
12
|
+
- Support comma+space-separated headers in `check-http.rb`
|
13
|
+
- Add a Test Kitchen config and BATS tests for CI
|
14
|
+
- `metrics-curl` now returns the http_code from the request
|
15
|
+
- `metrics-curl` will now exit with a warning if the curl call returns non zero
|
16
|
+
- Add Ruby 2.3 to travis tests
|
17
|
+
- Add usage examples for `check-http`
|
18
|
+
|
19
|
+
### Fixed
|
20
|
+
- Fix Ruby 2.3 deprecation warning on use of timeout (#35)
|
21
|
+
|
22
|
+
### Changed
|
23
|
+
- Update to rubocop 0.37 and resolve issues
|
24
|
+
|
25
|
+
### Removed
|
26
|
+
- Remove Ruby 2.0 from travis tests
|
27
|
+
|
28
|
+
## [0.2.1] - 2015-12-14
|
9
29
|
### Added
|
10
30
|
- Added validation check for proxy url option in check-http.rb
|
11
31
|
|
12
32
|
### Fixed
|
13
33
|
- Fixed SSL verification error raised erroneously when using -e flag with check-http.rb
|
14
34
|
|
15
|
-
## 0.2.0
|
35
|
+
## [0.2.0]- 2015-11-17
|
16
36
|
### Fixed
|
17
37
|
- check-http.rb will no longer fail if the plugin timeout is longer than the net/http default timeout
|
18
38
|
- check-http-json.rb will no longer fail when comparing strings
|
@@ -32,14 +52,22 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
32
52
|
### Changed
|
33
53
|
- updated sensu-plugin gem to 1.2.0
|
34
54
|
|
35
|
-
## 0.1.0 - 2015-06-18
|
55
|
+
## [0.1.0] - 2015-06-18
|
36
56
|
- A new non-breaking feature - the ability to print the whole response from the http call done in the check-http.rb check to the sensu alert. This can be done by specifying the ```-w``` or ```--whole-response``` parameters.
|
37
57
|
- Gitignore was updated with more files from Intellij IDEA
|
38
58
|
|
39
|
-
## 0.0.2 - 2015-06-03
|
59
|
+
## [0.0.2] - 2015-06-03
|
40
60
|
- Fix the build
|
41
61
|
|
42
62
|
## 0.0.1 - 2015-05-21
|
43
63
|
|
44
64
|
### Added
|
45
65
|
- Initial release
|
66
|
+
|
67
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.3.0...HEAD
|
68
|
+
[0.3.0]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.2.1...0.3.0
|
69
|
+
[0.2.1]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.2.0...0.2.1
|
70
|
+
[0.2.0]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.1.1...0.2.0
|
71
|
+
[0.1.1]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.1.0...0.1.1
|
72
|
+
[0.1.0]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.0.2...0.1.0
|
73
|
+
[0.0.2]: https://github.com/sensu-plugins/sensu-plugins-http/compare/0.0.1...0.0.2
|
data/README.md
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http)
|
6
6
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http)
|
7
7
|
[](https://gemnasium.com/sensu-plugins/sensu-plugins-http)
|
8
|
-
[](https://codeship.com/projects/76165)
|
9
8
|
|
10
9
|
## Functionality
|
11
10
|
|
@@ -15,6 +14,7 @@
|
|
15
14
|
* bin/check-https-cert.rb
|
16
15
|
* bin/check-last-modified.rb
|
17
16
|
* bin/metrics-curl.rb
|
17
|
+
* bin/metrics-http-json-deep.rb
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
data/bin/check-http-json.rb
CHANGED
@@ -73,7 +73,7 @@ class CheckJson < Sensu::Plugin::Check::CLI
|
|
73
73
|
end
|
74
74
|
|
75
75
|
begin
|
76
|
-
timeout(config[:timeout]) do
|
76
|
+
Timeout.timeout(config[:timeout]) do
|
77
77
|
acquire_resource
|
78
78
|
end
|
79
79
|
rescue Timeout::Error
|
@@ -104,11 +104,11 @@ class CheckJson < Sensu::Plugin::Check::CLI
|
|
104
104
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if config[:insecure]
|
105
105
|
end
|
106
106
|
|
107
|
-
if config[:method] == 'POST'
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
107
|
+
req = if config[:method] == 'POST'
|
108
|
+
Net::HTTP::Post.new([config[:path], config[:query]].compact.join('?'))
|
109
|
+
else
|
110
|
+
Net::HTTP::Get.new([config[:path], config[:query]].compact.join('?'))
|
111
|
+
end
|
112
112
|
if config[:postbody]
|
113
113
|
post_body = IO.readlines(config[:postbody])
|
114
114
|
req.body = post_body.join
|
@@ -134,11 +134,11 @@ class CheckJson < Sensu::Plugin::Check::CLI
|
|
134
134
|
keys = config[:key].scan(/(?:\\\.|[^.])+/).map { |key| key.gsub(/\\./, '.') }
|
135
135
|
|
136
136
|
leaf = keys.reduce(json) do |tree, key|
|
137
|
-
|
137
|
+
raise "could not find key: #{config[:key]}" unless tree.key?(key)
|
138
138
|
tree[key]
|
139
139
|
end
|
140
140
|
|
141
|
-
|
141
|
+
raise "unexpected value for key: '#{config[:value]}' != '#{leaf}'" unless leaf.to_s == config[:value].to_s
|
142
142
|
|
143
143
|
ok "key has expected value: '#{config[:key]}' = '#{config[:value]}'"
|
144
144
|
rescue => e
|
data/bin/check-http.rb
CHANGED
@@ -16,7 +16,17 @@
|
|
16
16
|
# gem: sensu-plugin
|
17
17
|
#
|
18
18
|
# USAGE:
|
19
|
-
#
|
19
|
+
# Basic HTTP check - expect a 200 response
|
20
|
+
# check-http.rb -u http://my.site.com
|
21
|
+
#
|
22
|
+
# Pattern check - expect a 200 response and the string 'OK' in the body
|
23
|
+
# check-http.rb -u http://my.site.com/health -q 'OK'
|
24
|
+
#
|
25
|
+
# Check response code - expect a 301 response
|
26
|
+
# check-http.rb -u https://my.site.com/redirect --response-code 301 -r
|
27
|
+
#
|
28
|
+
# Use a proxy to check a URL
|
29
|
+
# check-http.rb -u https://www.google.com --proxy-url http://my.proxy.com:3128
|
20
30
|
#
|
21
31
|
# NOTES:
|
22
32
|
#
|
@@ -65,10 +75,22 @@ class CheckHttp < Sensu::Plugin::Check::CLI
|
|
65
75
|
long: '--request-uri PATH',
|
66
76
|
description: 'Specify a uri path'
|
67
77
|
|
78
|
+
option :method,
|
79
|
+
short: '-m GET|POST',
|
80
|
+
long: '--method GET|POST',
|
81
|
+
description: 'Specify a GET or POST operation; defaults to GET',
|
82
|
+
in: %w(GET POST),
|
83
|
+
default: 'GET'
|
84
|
+
|
68
85
|
option :header,
|
69
86
|
short: '-H HEADER',
|
70
87
|
long: '--header HEADER',
|
71
|
-
description: '
|
88
|
+
description: 'Send one or more comma-separated headers with the request'
|
89
|
+
|
90
|
+
option :body,
|
91
|
+
short: '-b BODY',
|
92
|
+
long: '--body BODY',
|
93
|
+
description: 'Send a body string with the request'
|
72
94
|
|
73
95
|
option :ssl,
|
74
96
|
short: '-s',
|
@@ -180,7 +202,7 @@ class CheckHttp < Sensu::Plugin::Check::CLI
|
|
180
202
|
end
|
181
203
|
|
182
204
|
begin
|
183
|
-
timeout(config[:timeout]) do
|
205
|
+
Timeout.timeout(config[:timeout]) do
|
184
206
|
acquire_resource
|
185
207
|
end
|
186
208
|
rescue Timeout::Error
|
@@ -232,7 +254,12 @@ class CheckHttp < Sensu::Plugin::Check::CLI
|
|
232
254
|
end
|
233
255
|
end
|
234
256
|
|
235
|
-
req =
|
257
|
+
req = case config[:method]
|
258
|
+
when 'GET'
|
259
|
+
Net::HTTP::Get.new(config[:request_uri], 'User-Agent' => config[:ua])
|
260
|
+
when 'POST'
|
261
|
+
Net::HTTP::Post.new(config[:request_uri], 'User-Agent' => config[:ua])
|
262
|
+
end
|
236
263
|
|
237
264
|
if !config[:user].nil? && !config[:password].nil?
|
238
265
|
req.basic_auth config[:user], config[:password]
|
@@ -240,20 +267,22 @@ class CheckHttp < Sensu::Plugin::Check::CLI
|
|
240
267
|
if config[:header]
|
241
268
|
config[:header].split(',').each do |header|
|
242
269
|
h, v = header.split(':', 2)
|
243
|
-
req[h] = v.strip
|
270
|
+
req[h.strip] = v.strip
|
244
271
|
end
|
245
272
|
end
|
273
|
+
req.body = config[:body] if config[:body]
|
274
|
+
|
246
275
|
res = http.request(req)
|
247
276
|
|
248
|
-
if config[:whole_response]
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
277
|
+
body = if config[:whole_response]
|
278
|
+
"\n" + res.body
|
279
|
+
else
|
280
|
+
body = if config[:response_bytes] # rubocop:disable Lint/UselessAssignment
|
281
|
+
"\n" + res.body[0..config[:response_bytes]]
|
282
|
+
else
|
283
|
+
''
|
284
|
+
end
|
285
|
+
end
|
257
286
|
|
258
287
|
if config[:require_bytes] && res.body.length != config[:require_bytes]
|
259
288
|
critical "Response was #{res.body.length} bytes instead of #{config[:require_bytes]}" + body
|
@@ -298,10 +327,9 @@ class CheckHttp < Sensu::Plugin::Check::CLI
|
|
298
327
|
critical(res.code + body) unless config[:response_code]
|
299
328
|
else
|
300
329
|
warning(res.code + body) unless config[:response_code]
|
301
|
-
|
330
|
+
end
|
302
331
|
|
303
|
-
|
304
|
-
if config[:response_code] # rubocop:disable GuardClause
|
332
|
+
if config[:response_code]
|
305
333
|
if config[:response_code] == res.code
|
306
334
|
ok "#{res.code}, #{size} bytes" + body
|
307
335
|
else
|
data/bin/check-https-cert.rb
CHANGED
@@ -62,11 +62,11 @@ class CheckHttpCert < Sensu::Plugin::Check::CLI
|
|
62
62
|
uri = URI.parse(config[:url])
|
63
63
|
http = Net::HTTP.new(uri.host, uri.port)
|
64
64
|
http.use_ssl = true
|
65
|
-
if config[:insecure]
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
http.verify_mode = if config[:insecure]
|
66
|
+
OpenSSL::SSL::VERIFY_NONE
|
67
|
+
else
|
68
|
+
OpenSSL::SSL::VERIFY_PEER
|
69
|
+
end
|
70
70
|
|
71
71
|
http.start do |h|
|
72
72
|
@cert = h.peer_cert
|
data/bin/metrics-curl.rb
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
#
|
30
30
|
|
31
31
|
require 'socket'
|
32
|
+
require 'English'
|
32
33
|
require 'sensu-plugin/metric/cli'
|
33
34
|
|
34
35
|
#
|
@@ -56,19 +57,24 @@ class CurlMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
56
57
|
|
57
58
|
def run
|
58
59
|
cmd = "curl --silent --output /dev/null #{config[:curl_args]} "
|
59
|
-
cmd += '-w "%{time_total},%{time_namelookup},%{time_connect},%{time_pretransfer},%{time_redirect},%{time_starttransfer}" '
|
60
|
+
cmd += '-w "%{time_total},%{time_namelookup},%{time_connect},%{time_pretransfer},%{time_redirect},%{time_starttransfer},%{http_code}" '
|
60
61
|
cmd += config[:url]
|
61
62
|
|
62
63
|
output = `#{cmd}`
|
63
64
|
|
64
|
-
(time_total, time_namelookup, time_connect, time_pretransfer, time_redirect, time_starttransfer) = output.split(',')
|
65
|
+
(time_total, time_namelookup, time_connect, time_pretransfer, time_redirect, time_starttransfer, http_code) = output.split(',')
|
65
66
|
output "#{config[:scheme]}.time_total", time_total
|
66
67
|
output "#{config[:scheme]}.time_namelookup", time_namelookup
|
67
68
|
output "#{config[:scheme]}.time_connect", time_connect
|
68
69
|
output "#{config[:scheme]}.time_pretransfer", time_pretransfer
|
69
70
|
output "#{config[:scheme]}.time_redirect", time_redirect
|
70
71
|
output "#{config[:scheme]}.time_starttransfer", time_starttransfer
|
72
|
+
output "#{config[:scheme]}.http_code", http_code
|
71
73
|
|
72
|
-
|
74
|
+
if $CHILD_STATUS.to_i == 0
|
75
|
+
ok
|
76
|
+
else
|
77
|
+
warning
|
78
|
+
end
|
73
79
|
end
|
74
80
|
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# metrics-http-json-deep
|
4
|
+
#
|
5
|
+
# DESCRIPTION:
|
6
|
+
# Get metrics in json format via http/https
|
7
|
+
#
|
8
|
+
# OUTPUT:
|
9
|
+
# metric data
|
10
|
+
#
|
11
|
+
# PLATFORMS:
|
12
|
+
# Linux
|
13
|
+
#
|
14
|
+
# DEPENDENCIES:
|
15
|
+
# gem: sensu-plugin
|
16
|
+
# gem: uri
|
17
|
+
# gem: socket
|
18
|
+
# gem: oj
|
19
|
+
#
|
20
|
+
# USAGE:
|
21
|
+
#
|
22
|
+
# NOTES:
|
23
|
+
#
|
24
|
+
# LICENSE:
|
25
|
+
# Copyright 2016 Hayato Matsuura
|
26
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
27
|
+
# for details.
|
28
|
+
#
|
29
|
+
|
30
|
+
require 'sensu-plugin/metric/cli'
|
31
|
+
require 'net/https'
|
32
|
+
require 'uri'
|
33
|
+
require 'socket'
|
34
|
+
require 'oj'
|
35
|
+
|
36
|
+
#
|
37
|
+
# JSON Metrics
|
38
|
+
#
|
39
|
+
class JsonDeepMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
40
|
+
option :url,
|
41
|
+
short: '-u URL',
|
42
|
+
long: '--url URL',
|
43
|
+
description: 'Full URL to JSON, example: https://example.com/foo.json This ignores --hostname and --port options'
|
44
|
+
|
45
|
+
option :hostname,
|
46
|
+
short: '-h HOSTNAME',
|
47
|
+
long: '--host HOSTNAME',
|
48
|
+
description: 'App server hostname',
|
49
|
+
default: '127.0.0.1'
|
50
|
+
|
51
|
+
option :port,
|
52
|
+
short: '-P PORT',
|
53
|
+
long: '--port PORT',
|
54
|
+
description: 'App server port',
|
55
|
+
default: '80'
|
56
|
+
|
57
|
+
option :path,
|
58
|
+
short: '-p PATH',
|
59
|
+
long: '--path ROOTPATH',
|
60
|
+
description: 'Path for json',
|
61
|
+
default: 'status'
|
62
|
+
|
63
|
+
option :root,
|
64
|
+
short: '-r ROOTPATH',
|
65
|
+
long: '--rootpath ROOTPATH',
|
66
|
+
description: 'Root attribute for json',
|
67
|
+
default: 'value'
|
68
|
+
|
69
|
+
option :scheme,
|
70
|
+
description: 'Metric naming scheme, text to prepend to metric',
|
71
|
+
short: '-s SCHEME',
|
72
|
+
long: '--scheme SCHEME',
|
73
|
+
default: "#{Socket.gethostname}.json"
|
74
|
+
|
75
|
+
option :numonly,
|
76
|
+
description: 'Output numbers only',
|
77
|
+
short: '-n',
|
78
|
+
long: '--number'
|
79
|
+
|
80
|
+
def deep_value(hash, scheme = '')
|
81
|
+
hash.each do |key, value|
|
82
|
+
ekey = key.tr(/ /, '_')
|
83
|
+
if value.is_a?(Hash)
|
84
|
+
deep_value(value, "#{scheme}.#{ekey}")
|
85
|
+
else
|
86
|
+
output "#{scheme}.#{ekey}", value unless config[:numonly] && !value.is_a?(Fixnum)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def run
|
92
|
+
found = false
|
93
|
+
attempts = 0
|
94
|
+
until found || attempts >= 10
|
95
|
+
attempts += 1
|
96
|
+
if config[:url]
|
97
|
+
uri = URI.parse(config[:url])
|
98
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
99
|
+
if uri.scheme == 'https'
|
100
|
+
http.use_ssl = true
|
101
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
102
|
+
end
|
103
|
+
request = Net::HTTP::Get.new(uri.request_uri)
|
104
|
+
response = http.request(request)
|
105
|
+
if response.code == '200'
|
106
|
+
found = true
|
107
|
+
elsif !response.header['location'].nil?
|
108
|
+
config[:url] = response.header['location']
|
109
|
+
end
|
110
|
+
else
|
111
|
+
response = Net::HTTP.start(config[:hostname], config[:port]) do |connection|
|
112
|
+
request = Net::HTTP::Get.new("/#{config[:path]}")
|
113
|
+
connection.request(request)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end # until
|
117
|
+
|
118
|
+
metrics = Oj.load(response.body, mode: :compat)
|
119
|
+
deep_value(metrics[config[:root]], config[:scheme])
|
120
|
+
ok
|
121
|
+
end
|
122
|
+
end
|
metadata
CHANGED
@@ -1,189 +1,223 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
|
14
|
-
am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
|
15
|
-
A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
|
16
|
-
CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
|
17
|
-
LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
|
18
|
-
CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
|
19
|
-
zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
|
20
|
-
qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
|
21
|
-
k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
|
22
|
-
oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
|
23
|
-
0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
|
24
|
-
HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
|
25
|
-
QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
|
26
|
-
MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
|
27
|
-
rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
|
28
|
-
UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
|
29
|
-
JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
|
30
|
-
8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
|
31
|
-
HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2015-12-14 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-04-08 00:00:00.000000000 Z
|
34
12
|
dependencies:
|
35
13
|
- !ruby/object:Gem::Dependency
|
36
14
|
name: sensu-plugin
|
37
15
|
requirement: !ruby/object:Gem::Requirement
|
38
16
|
requirements:
|
39
|
-
- -
|
17
|
+
- - ~>
|
40
18
|
- !ruby/object:Gem::Version
|
41
|
-
version: 1.2
|
19
|
+
version: '1.2'
|
42
20
|
type: :runtime
|
43
21
|
prerelease: false
|
44
22
|
version_requirements: !ruby/object:Gem::Requirement
|
45
23
|
requirements:
|
46
|
-
- -
|
24
|
+
- - ~>
|
47
25
|
- !ruby/object:Gem::Version
|
48
|
-
version: 1.2
|
26
|
+
version: '1.2'
|
49
27
|
- !ruby/object:Gem::Dependency
|
50
28
|
name: bundler
|
51
29
|
requirement: !ruby/object:Gem::Requirement
|
52
30
|
requirements:
|
53
|
-
- -
|
31
|
+
- - ~>
|
54
32
|
- !ruby/object:Gem::Version
|
55
33
|
version: '1.7'
|
56
34
|
type: :development
|
57
35
|
prerelease: false
|
58
36
|
version_requirements: !ruby/object:Gem::Requirement
|
59
37
|
requirements:
|
60
|
-
- -
|
38
|
+
- - ~>
|
61
39
|
- !ruby/object:Gem::Version
|
62
40
|
version: '1.7'
|
63
41
|
- !ruby/object:Gem::Dependency
|
64
42
|
name: codeclimate-test-reporter
|
65
43
|
requirement: !ruby/object:Gem::Requirement
|
66
44
|
requirements:
|
67
|
-
- -
|
45
|
+
- - ~>
|
68
46
|
- !ruby/object:Gem::Version
|
69
47
|
version: '0.4'
|
70
48
|
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
51
|
requirements:
|
74
|
-
- -
|
52
|
+
- - ~>
|
75
53
|
- !ruby/object:Gem::Version
|
76
54
|
version: '0.4'
|
77
55
|
- !ruby/object:Gem::Dependency
|
78
56
|
name: github-markup
|
79
57
|
requirement: !ruby/object:Gem::Requirement
|
80
58
|
requirements:
|
81
|
-
- -
|
59
|
+
- - ~>
|
82
60
|
- !ruby/object:Gem::Version
|
83
61
|
version: '1.3'
|
84
62
|
type: :development
|
85
63
|
prerelease: false
|
86
64
|
version_requirements: !ruby/object:Gem::Requirement
|
87
65
|
requirements:
|
88
|
-
- -
|
66
|
+
- - ~>
|
89
67
|
- !ruby/object:Gem::Version
|
90
68
|
version: '1.3'
|
91
69
|
- !ruby/object:Gem::Dependency
|
92
70
|
name: pry
|
93
71
|
requirement: !ruby/object:Gem::Requirement
|
94
72
|
requirements:
|
95
|
-
- -
|
73
|
+
- - ~>
|
96
74
|
- !ruby/object:Gem::Version
|
97
75
|
version: '0.10'
|
98
76
|
type: :development
|
99
77
|
prerelease: false
|
100
78
|
version_requirements: !ruby/object:Gem::Requirement
|
101
79
|
requirements:
|
102
|
-
- -
|
80
|
+
- - ~>
|
103
81
|
- !ruby/object:Gem::Version
|
104
82
|
version: '0.10'
|
105
83
|
- !ruby/object:Gem::Dependency
|
106
84
|
name: rake
|
107
85
|
requirement: !ruby/object:Gem::Requirement
|
108
86
|
requirements:
|
109
|
-
- -
|
87
|
+
- - ~>
|
110
88
|
- !ruby/object:Gem::Version
|
111
89
|
version: '10.0'
|
112
90
|
type: :development
|
113
91
|
prerelease: false
|
114
92
|
version_requirements: !ruby/object:Gem::Requirement
|
115
93
|
requirements:
|
116
|
-
- -
|
94
|
+
- - ~>
|
117
95
|
- !ruby/object:Gem::Version
|
118
96
|
version: '10.0'
|
119
97
|
- !ruby/object:Gem::Dependency
|
120
98
|
name: redcarpet
|
121
99
|
requirement: !ruby/object:Gem::Requirement
|
122
100
|
requirements:
|
123
|
-
- -
|
101
|
+
- - ~>
|
124
102
|
- !ruby/object:Gem::Version
|
125
103
|
version: '3.2'
|
126
104
|
type: :development
|
127
105
|
prerelease: false
|
128
106
|
version_requirements: !ruby/object:Gem::Requirement
|
129
107
|
requirements:
|
130
|
-
- -
|
108
|
+
- - ~>
|
131
109
|
- !ruby/object:Gem::Version
|
132
110
|
version: '3.2'
|
133
111
|
- !ruby/object:Gem::Dependency
|
134
112
|
name: rspec
|
135
113
|
requirement: !ruby/object:Gem::Requirement
|
136
114
|
requirements:
|
137
|
-
- -
|
115
|
+
- - ~>
|
138
116
|
- !ruby/object:Gem::Version
|
139
117
|
version: '3.1'
|
140
118
|
type: :development
|
141
119
|
prerelease: false
|
142
120
|
version_requirements: !ruby/object:Gem::Requirement
|
143
121
|
requirements:
|
144
|
-
- -
|
122
|
+
- - ~>
|
145
123
|
- !ruby/object:Gem::Version
|
146
124
|
version: '3.1'
|
147
125
|
- !ruby/object:Gem::Dependency
|
148
126
|
name: rubocop
|
149
127
|
requirement: !ruby/object:Gem::Requirement
|
150
128
|
requirements:
|
151
|
-
- -
|
129
|
+
- - ~>
|
152
130
|
- !ruby/object:Gem::Version
|
153
|
-
version: 0.
|
131
|
+
version: '0.37'
|
154
132
|
type: :development
|
155
133
|
prerelease: false
|
156
134
|
version_requirements: !ruby/object:Gem::Requirement
|
157
135
|
requirements:
|
158
|
-
- -
|
136
|
+
- - ~>
|
159
137
|
- !ruby/object:Gem::Version
|
160
|
-
version: 0.
|
138
|
+
version: '0.37'
|
161
139
|
- !ruby/object:Gem::Dependency
|
162
140
|
name: yard
|
163
141
|
requirement: !ruby/object:Gem::Requirement
|
164
142
|
requirements:
|
165
|
-
- -
|
143
|
+
- - ~>
|
166
144
|
- !ruby/object:Gem::Version
|
167
145
|
version: '0.8'
|
168
146
|
type: :development
|
169
147
|
prerelease: false
|
170
148
|
version_requirements: !ruby/object:Gem::Requirement
|
171
149
|
requirements:
|
172
|
-
- -
|
150
|
+
- - ~>
|
173
151
|
- !ruby/object:Gem::Version
|
174
152
|
version: '0.8'
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: test-kitchen
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '1.6'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.6'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: kitchen-vagrant
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.19'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ~>
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.19'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: kitchen-localhost
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ~>
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0.3'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ~>
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0.3'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: net-ssh
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ~>
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '2.9'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ~>
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '2.9'
|
209
|
+
description: ! "This plugin provides native HTTP instrumentation\n for
|
210
|
+
monitoring and metrics collection, including:\n response
|
211
|
+
code, JSON response, HTTP last modified,\n SSL expiry,
|
212
|
+
and metrics via `curl`."
|
213
|
+
email: <sensu-users@googlegroups.com>
|
181
214
|
executables:
|
215
|
+
- metrics-http-json-deep.rb
|
216
|
+
- check-http-json.rb
|
182
217
|
- metrics-curl.rb
|
183
218
|
- check-last-modified.rb
|
184
219
|
- check-https-cert.rb
|
185
220
|
- check-http.rb
|
186
|
-
- check-http-json.rb
|
187
221
|
extensions: []
|
188
222
|
extra_rdoc_files: []
|
189
223
|
files:
|
@@ -195,6 +229,7 @@ files:
|
|
195
229
|
- bin/check-https-cert.rb
|
196
230
|
- bin/check-last-modified.rb
|
197
231
|
- bin/metrics-curl.rb
|
232
|
+
- bin/metrics-http-json-deep.rb
|
198
233
|
- lib/sensu-plugins-http.rb
|
199
234
|
- lib/sensu-plugins-http/version.rb
|
200
235
|
homepage: https://github.com/sensu-plugins/sensu-plugins-http
|
@@ -213,17 +248,17 @@ require_paths:
|
|
213
248
|
- lib
|
214
249
|
required_ruby_version: !ruby/object:Gem::Requirement
|
215
250
|
requirements:
|
216
|
-
- -
|
251
|
+
- - ! '>='
|
217
252
|
- !ruby/object:Gem::Version
|
218
253
|
version: 1.9.3
|
219
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
255
|
requirements:
|
221
|
-
- -
|
256
|
+
- - ! '>='
|
222
257
|
- !ruby/object:Gem::Version
|
223
258
|
version: '0'
|
224
259
|
requirements: []
|
225
260
|
rubyforge_project:
|
226
|
-
rubygems_version: 2.4.
|
261
|
+
rubygems_version: 2.4.3
|
227
262
|
signing_key:
|
228
263
|
specification_version: 4
|
229
264
|
summary: Sensu plugins for various http monitors and metrics
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED
Binary file
|