sensu-plugins-http 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9c309c06264eee4c7d39e9a24be622984ce3c71f
4
- data.tar.gz: a77f72ec94d1e27aea3cbe6dbb7163b46bed56f3
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTI3NjhiYzA4YmZkZTExOGYyMWUyMDJlNTUxOTJmY2ZkZDRlMzI5Mw==
5
+ data.tar.gz: !binary |-
6
+ ZjE0NTFjZjMwMTg1ZTQ0ODE4MWEwMjdmOTYxNWI2MGRkODgxMzhlOQ==
5
7
  SHA512:
6
- metadata.gz: 9eac5ce3ff21aca15984145a8f979edb90d1b74627c6c9fa26ea3aa51911ae8921d84c8ed3d7806aaf2621022f5afbf04acf7622e718805cdcf3e09f459d426e
7
- data.tar.gz: 93411d49c91be084810b8a518ca198ac518d841dbd2fd801eac8fad0075e948b12d43f2c093d68933506296d795106d0bb9c8b423da1f8de47f2a50bf6aa6f8b
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.2.1 - 2015-12-14
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 - 2015-11-17
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
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-http)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-http.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-http)
8
- [![Codeship Status for sensu-plugins/sensu-plugins-http](https://codeship.com/projects/38675d80-ccdc-0132-c33d-1edd85dc7674/status?branch=master)](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
 
@@ -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
- req = Net::HTTP::Post.new([config[:path], config[:query]].compact.join('?'))
109
- else
110
- req = Net::HTTP::Get.new([config[:path], config[:query]].compact.join('?'))
111
- end
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
- fail "could not find key: #{config[:key]}" unless tree.key?(key)
137
+ raise "could not find key: #{config[:key]}" unless tree.key?(key)
138
138
  tree[key]
139
139
  end
140
140
 
141
- fail "unexpected value for key: '#{config[:value]}' != '#{leaf}'" unless leaf.to_s == config[:value].to_s
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
- # #YELLOW
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: 'Check for a HEADER'
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 = Net::HTTP::Get.new(config[:request_uri], 'User-Agent' => config[:ua])
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
- body = "\n" + res.body
250
- else
251
- if config[:response_bytes]
252
- body = "\n" + res.body[0..config[:response_bytes]]
253
- else
254
- body = ''
255
- end
256
- end
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
- end
330
+ end
302
331
 
303
- # #YELLOW
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
@@ -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
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
67
- else
68
- http.verify_mode = OpenSSL::SSL::VERIFY_PEER
69
- end
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
- ok
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
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsHttp
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 2
5
- PATCH = 1
4
+ MINOR = 3
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  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.2.1
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.0
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.0
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.32.1
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.32.1
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
- description: |-
176
- This plugin provides native HTTP instrumentation
177
- for monitoring and metrics collection, including:
178
- response code, JSON response, HTTP last modified,
179
- SSL expiry, and metrics via `curl`.
180
- email: "<sensu-users@googlegroups.com>"
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.8
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
@@ -1,3 +0,0 @@
1
- n*�7m��n�!�a�s�e�$ͷ˽M�
2
- Fs�*z�M0�Ւ�u�j:4�l�~�Amf�}��>Hz���d�\Oͺq����F�z)1��'�Ӄct��|u�n�E"����W`��u �Td�5,�8�%J��2.-�߯ א�W�N��),�L�v������’v/�A��r�����э�=� ���D���+��E\//˼߽�K��'E�������-�!���Q^�+|�
3
- �b�)'n��M3N�
metadata.gz.sig DELETED
Binary file