sensu-plugins-http 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 96ac4562a34d3e14b62dc107edb3f5c325dc86ec
4
- data.tar.gz: e80498356bf78b874fc57f6e13a5b1555e901afd
3
+ metadata.gz: f74cf923574f7d54c3d5e4107d83f559a542462f
4
+ data.tar.gz: 9b7d3cd3fe681f5111e64d9b7687b0820aee6b77
5
5
  SHA512:
6
- metadata.gz: 6804afcf5dea1dbcad1bb936cabb296c2d29eb4222f2ac49534936b322eb8c09929cbe7266aa42ff8ef2c20d35b2c697cbb745cd44d6f6551b0c9828406308e6
7
- data.tar.gz: 53a9033776b2fe952d2dd5a471fe604092527aea809b24066b44bc248d31f3502a7fd9188ade5776b95a0df7253e9d3db0c2037560a49d736802f69253aa75ea
6
+ metadata.gz: 61bd97f89e22508e3105db509d307811049a714185d498be6883e9a0fc1ce26d8bc2c8c1d2eb5a0e9ef2ca06799fc6fc591e13bb66b214270a517a39c9032abd
7
+ data.tar.gz: b7f3853e07aaf80b37ed4e4652e3fc4220791ad5e00f82eb31c461f0c5dd01a6d1838ceb3512dd583b523f9e16f972846cb559026f515c78eb0891451e78499f
checksums.yaml.gz.sig CHANGED
@@ -1 +1 @@
1
- | ��>����?�s��Zڻ����*���|��𩒪�c�$��0���볡Y���5X
1
+ !HO@�N��[K�q ��5^C�T�* />��'�'~�8��Ea��hG;�:�e}��7�v��J����C{XT�c����؍r*��!��@u�~���ȧ$k 9��"��c ?`�A@�g ��A�4"w�ݓ��ٍ��M���Hr�c� a��̢��3);ϟ���ۅ�wLPǍ[�mf�A4�0^��,�g�9�J}��Z��C�~K8���H}>� $SroʂݯUڌ�} j�W>WK/D=�e�B��FY�- �`
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- =�.2�$7V���e�a��}UcXg����ݷǮQ��8ÂH��lG �Z �:��M6ޱi�'SW1!�arWC�>-����"Z��඾��8��y��D*'ǻ{z���ja���î�ؒ4ӞS=U��X��l�gO��z���G�����b����-_b�b��MѦ( !gW���x
1
+ 0���>Ɽ@<ؼ
data/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@ 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
7
+ - nothing
8
+
9
+ ## 0.2.0 - 2015-07-30
10
+
11
+ ### Changed
12
+ - updated Rubocop to `0.32.1`
13
+ - put deps in alpha order
14
+ - update documentation links
15
+
16
+ ### Added
17
+ - Added a check for last modified time in HTTP headers
18
+
6
19
  ## [0.1.1] - 2015-07-14
7
20
  ### Changed
8
21
  - updated sensu-plugin gem to 1.2.0
data/README.md CHANGED
@@ -13,12 +13,13 @@
13
13
  * bin/check-http-json.rb
14
14
  * bin/check-http.rb
15
15
  * bin/check-https-cert.rb
16
+ * bin/check-last-modified.rb
16
17
  * bin/metrics-curl.rb
17
18
 
18
19
  ## Usage
19
20
 
20
21
  ## Installation
21
22
 
22
- [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
23
+ [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
23
24
 
24
25
  ## Notes
@@ -64,7 +64,7 @@ class CheckJson < Sensu::Plugin::Check::CLI
64
64
  config[:ssl] = uri.scheme == 'https'
65
65
  else
66
66
  # #YELLOW
67
- unless config[:host] && config[:path] # rubocop:disable IfUnlessModifier
67
+ unless config[:host] && config[:path]
68
68
  unknown 'No URL specified'
69
69
  end
70
70
  config[:port] ||= config[:ssl] ? 443 : 80
data/bin/check-http.rb CHANGED
@@ -173,7 +173,7 @@ class CheckHttp < Sensu::Plugin::Check::CLI
173
173
  config[:ssl] = uri.scheme == 'https'
174
174
  else
175
175
  # #YELLOW
176
- unless config[:host] && config[:request_uri] # rubocop:disable IfUnlessModifier
176
+ unless config[:host] && config[:request_uri]
177
177
  unknown 'No URL specified'
178
178
  end
179
179
  config[:port] ||= config[:ssl] ? 443 : 80
@@ -0,0 +1,95 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-fleet-units
4
+ #
5
+ # DESCRIPTION:
6
+ #
7
+ # OUTPUT:
8
+ # plain text
9
+ #
10
+ # PLATFORMS:
11
+ # Linux
12
+ #
13
+ # DEPENDENCIES:
14
+ # gem: sensu-plugin
15
+ #
16
+ # USAGE:
17
+ #
18
+ # NOTES:
19
+ #
20
+ # LICENSE:
21
+ # Barry Martin <nyxcharon@gmail.com>
22
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
23
+ # for details.
24
+ #
25
+ require 'sensu-plugin/check/cli'
26
+ require 'net/https'
27
+ require 'time'
28
+
29
+ #
30
+ # Checks the last modified time of a file to verify it has been updated within a
31
+ # specified threshold.
32
+ #
33
+ class CheckLastModified < Sensu::Plugin::Check::CLI
34
+ option :url,
35
+ short: '-u URL',
36
+ long: '--url URL',
37
+ description: 'The URL of the file to be checked'
38
+
39
+ option :user,
40
+ short: '-U USER',
41
+ long: '--username USER',
42
+ description: 'A username to connect as'
43
+
44
+ option :password,
45
+ short: '-a PASS',
46
+ long: '--password PASS',
47
+ description: 'A password to use for the username'
48
+
49
+ option :threshold,
50
+ short: '-t TIME',
51
+ long: '--time TIME',
52
+ description: 'The time in seconds the file should be updated by'
53
+
54
+ def run
55
+ cli = CheckLastModified.new
56
+ cli.parse_options
57
+ url = cli.config[:url]
58
+ threshold = cli.config[:threshold]
59
+
60
+ # Validate arguments
61
+ unless url
62
+ unknown 'No URL specified'
63
+ end
64
+
65
+ unless threshold
66
+ unknown 'No threshold specified'
67
+ end
68
+
69
+ # Build a request from user options and then request it
70
+ uri = URI(url)
71
+ http = Net::HTTP.new(uri.host, uri.port)
72
+ request = Net::HTTP::Head.new(uri.request_uri)
73
+
74
+ if cli.config[:user] && cli.config[:password]
75
+ http.use_ssl = true
76
+ request.basic_auth(cli.config[:user], cli.config[:password])
77
+ end
78
+
79
+ response = http.request(request)
80
+
81
+ if response.header['last-modified'].nil?
82
+ critical 'Http Error'
83
+ end
84
+
85
+ # Get timestamp of file and local timestamp and compare (Both in UTC)
86
+ file_stamp = Time.parse(response.header['last-modified']).getgm
87
+ local_stamp = Time.now.getgm
88
+
89
+ if (local_stamp - file_stamp).to_i <= threshold.to_i
90
+ ok 'Last modified time OK'
91
+ else
92
+ critical 'Last modified time greater than threshold'
93
+ end
94
+ end
95
+ end
@@ -2,7 +2,7 @@ module SensuPluginsHttp
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- PATCH = 1
5
+ PATCH = 2
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
@@ -30,7 +30,7 @@ cert_chain:
30
30
  8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
31
  HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
32
  -----END CERTIFICATE-----
33
- date: 2015-07-14 00:00:00.000000000 Z
33
+ date: 2015-07-30 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sensu-plugin
@@ -47,61 +47,61 @@ dependencies:
47
47
  - !ruby/object:Gem::Version
48
48
  version: 1.2.0
49
49
  - !ruby/object:Gem::Dependency
50
- name: codeclimate-test-reporter
50
+ name: bundler
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0.4'
55
+ version: '1.7'
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.4'
62
+ version: '1.7'
63
63
  - !ruby/object:Gem::Dependency
64
- name: rubocop
64
+ name: codeclimate-test-reporter
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '='
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.30'
69
+ version: '0.4'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '='
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.30'
76
+ version: '0.4'
77
77
  - !ruby/object:Gem::Dependency
78
- name: rspec
78
+ name: github-markup
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.1'
83
+ version: '1.3'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '3.1'
90
+ version: '1.3'
91
91
  - !ruby/object:Gem::Dependency
92
- name: bundler
92
+ name: pry
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '1.7'
97
+ version: '0.10'
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '1.7'
104
+ version: '0.10'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rake
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -117,65 +117,66 @@ dependencies:
117
117
  - !ruby/object:Gem::Version
118
118
  version: '10.0'
119
119
  - !ruby/object:Gem::Dependency
120
- name: github-markup
120
+ name: redcarpet
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '1.3'
125
+ version: '3.2'
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '1.3'
132
+ version: '3.2'
133
133
  - !ruby/object:Gem::Dependency
134
- name: redcarpet
134
+ name: rspec
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '3.2'
139
+ version: '3.1'
140
140
  type: :development
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '3.2'
146
+ version: '3.1'
147
147
  - !ruby/object:Gem::Dependency
148
- name: yard
148
+ name: rubocop
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "~>"
151
+ - - '='
152
152
  - !ruby/object:Gem::Version
153
- version: '0.8'
153
+ version: 0.32.1
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - "~>"
158
+ - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: '0.8'
160
+ version: 0.32.1
161
161
  - !ruby/object:Gem::Dependency
162
- name: pry
162
+ name: yard
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '0.10'
167
+ version: '0.8'
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: '0.10'
174
+ version: '0.8'
175
175
  description: Sensu plugins for various http monitors and metrics
176
176
  email: "<sensu-users@googlegroups.com>"
177
177
  executables:
178
178
  - metrics-curl.rb
179
+ - check-last-modified.rb
179
180
  - check-https-cert.rb
180
181
  - check-http.rb
181
182
  - check-http-json.rb
@@ -188,6 +189,7 @@ files:
188
189
  - bin/check-http-json.rb
189
190
  - bin/check-http.rb
190
191
  - bin/check-https-cert.rb
192
+ - bin/check-last-modified.rb
191
193
  - bin/metrics-curl.rb
192
194
  - lib/sensu-plugins-http.rb
193
195
  - lib/sensu-plugins-http/version.rb
metadata.gz.sig CHANGED
Binary file