sensu-plugins-consul 0.0.7 → 0.1.7

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,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 862a9ac244272cb6c2291e84adacf7d73363592f
4
- data.tar.gz: 57ff050c889a7b61fdd7e4a744b1745a48bbf834
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MzI3MDUzOGU1YWFhMjcxNDA5MWNlZGNkM2IyMTgxODYwMGM2ZTA1OQ==
5
+ data.tar.gz: !binary |-
6
+ YTVmZTY5ZmMyNDkzZGQ5ZmI3MDdkZWVmODFmZmQwZmM4NzI2OGE0OQ==
5
7
  SHA512:
6
- metadata.gz: 0170d2e57c44da74fbb0dc1b69f12863286e3cbb77fcd2dd2baaa837e002dde081be5489f81106efd061584a2eebb02aa56400275be6458637bcb9aeda0a5393
7
- data.tar.gz: cc837bbc49ea6bf2bc2759712453c87a0dc546c0c46692c07859b7a8f891ca6f644f828fde53f744132e7c258b63eddea65260c5190f24d20965cf4067bbc5fb
8
+ metadata.gz: !binary |-
9
+ OTczMDgxNTQ3OTBiOWZmNzRhZWZkZTY3MjYzMzdlYzgxNmE4ODVjNjJlNjNi
10
+ NjE4ZmE4ZjVlZmJjZjc0YzU2ZmFiNTM1NmQ5ZDgyMGY2ZmNiMWZlNTRkZGE0
11
+ YjNiODU4YTlkMjIzZDBmNWUyZWVlOWE0MDkzZTExZGMwNzFiMWE=
12
+ data.tar.gz: !binary |-
13
+ MTAyYmVmYWEwYzk2YTk0YjVjNGMzZTRhNjI4YzA0MzNlZTg0YTBlZmQ0MzJi
14
+ NjE5OGY4ODY5ODU2ZDkzYmVlZTI1NmFjYTZkMWI5YjZkNDc5YmIwOGY5YmUx
15
+ MWUzNmMyN2MxNDljZGY3ZWRmZDU3MzkyZTY1N2NlYWViZmVmM2Q=
@@ -6,6 +6,12 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
6
6
  ## [Unreleased]
7
7
  - Nothing
8
8
 
9
+ ## [0.0.8] - 2016-04-03
10
+ ### Added
11
+ - check-consul-service-health will check the health of a specific service (Yieldbot)
12
+ - check-consul-kv-ttl will check Consul KV namespace for timed out global operations (Yieldbot)
13
+ - Added check to alert on consul cluster members, supports querying wan members @aianchici
14
+
9
15
  ## [0.0.7] - 2015-11-12
10
16
  ### Changed
11
17
  - Consul checks with UNKNOWN status should fail gracefully
@@ -23,7 +29,7 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
23
29
 
24
30
  ## [0.0.4] - 2015-07-14
25
31
  ### Added
26
- - Adding script to remove failed consul nodes prior to 72 hour consul window.
32
+ - Adding script to remove failed consul nodes prior to 72 hour consul window.
27
33
 
28
34
  ## [0.0.3] - 2015-07-14
29
35
  ### Changed
@@ -32,15 +38,23 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
32
38
  ### Fixed
33
39
  - Added check to support removing of failed consul nodes from the cluster
34
40
 
35
- ## 0.0.1 - 2015-05-21
36
-
37
- ### Added
38
- - initial release
39
-
40
- ## 0.0.2 - 2015-06-02
41
-
41
+ ## [0.0.2] - 2015-06-02
42
42
  ### Fixed
43
43
  - added binstubs
44
44
 
45
45
  ### Changed
46
46
  - removed cruft from /lib
47
+
48
+ ## [0.0.1] - 2015-05-21
49
+
50
+ ### Added
51
+ - initial release
52
+
53
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.8...HEAD
54
+ [0.0.8]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.7...0.0.8
55
+ [0.0.7]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.6...0.0.7
56
+ [0.0.6]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.5...0.0.6
57
+ [0.0.5]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.4...0.0.5
58
+ [0.0.4]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.3...0.0.4
59
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.2...0.0.3
60
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-consul/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -5,14 +5,16 @@
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-consul/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-consul)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-consul/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-consul)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-consul.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-consul)
8
- [![Codeship Status for sensu-plugins/sensu-plugins-consul](https://codeship.com/projects/c01130b0-cddd-0132-9d10-36838894891f/status?branch=master)](https://codeship.com/projects/76354)
9
8
 
10
9
  ## Functionality
11
10
 
12
11
  ## Files
12
+ * bin/check-consul-kv-ttl.rb
13
+ * bin/check-consul-service-health.rb
13
14
  * bin/check-consul-failures.rb
14
15
  * bin/check-consul-leader.rb
15
16
  * bin/check-consul-servers.rb
17
+ * bin/check-consul-members.rb
16
18
  * bin/check-service-consul.rb
17
19
 
18
20
  ## Usage
@@ -0,0 +1,164 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-consul-kv-ttl
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin assists in checking a Consul KV namespace for timed out global operations
7
+ #
8
+ # OUTPUT:
9
+ # plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ # gem: diplomat
17
+ #
18
+ # USAGE:
19
+ # ./check-consul-kv-ttl -kv 'ttl/service/tag' -w 30 -c 60
20
+ # ./check-consul-kv-ttl -kv 'ttl/service/tag' -w 30 -c 60 -j -t 'date'
21
+ # ./check-consul-kv-ttl -kv 'ttl/service/tag' -w 30 -c 60 -j -t 'date' -s 'status'
22
+ #
23
+ # NOTES:
24
+ #
25
+ # LICENSE:
26
+ # Copyright 2015 Yieldbot, Inc. <devops@yieldbot.com>
27
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
28
+ # for details.
29
+ #
30
+
31
+ require 'sensu-plugin/check/cli'
32
+ require 'diplomat'
33
+ require 'json'
34
+ require 'time'
35
+
36
+ class Hash
37
+ def dig(dotted_path)
38
+ parts = dotted_path.split '.', 2
39
+ match = self[parts[0]]
40
+ if !parts[1] || match.nil? # rubocop:disable Style/GuardClause
41
+ return match
42
+ else
43
+ return match.dig(parts[1])
44
+ end
45
+ end
46
+ end
47
+
48
+ #
49
+ # Service Status
50
+ #
51
+ class CheckConsulKvTTL < Sensu::Plugin::Check::CLI
52
+ option :consul,
53
+ description: 'consul server',
54
+ long: '--consul SERVER',
55
+ default: 'http://localhost:8500'
56
+
57
+ option :kv,
58
+ description: 'kv namespace to pull data from',
59
+ short: '-k NAMESPACE',
60
+ long: '--kv NAMESPACE',
61
+ default: nil,
62
+ required: true
63
+
64
+ option :json,
65
+ description: 'Process the value as JSON',
66
+ short: '-j',
67
+ long: '--json',
68
+ default: true
69
+
70
+ option :timestamp_key,
71
+ description: 'Use the given dotted path to alert based on the time(ISO8601), if processing as JSON',
72
+ short: '-t PATH',
73
+ long: '--timestamp PATH',
74
+ default: nil
75
+
76
+ option :status_key,
77
+ description: 'Use the given dotted path to alert based on the status, if processing as JSON',
78
+ short: '-s PATH',
79
+ long: '--status PATH',
80
+ default: nil
81
+
82
+ option :warning,
83
+ description: 'Warning TTL Threshold',
84
+ short: '-w THRESHOLD',
85
+ long: '--warning THRESHOLD',
86
+ proc: proc { |a| a.to_i },
87
+ default: 30
88
+
89
+ option :critical,
90
+ description: 'Critical TTL Threshold',
91
+ short: '-c THRESHOLD',
92
+ long: '--critical THRESHOLD',
93
+ proc: proc { |a| a.to_i },
94
+ default: 60
95
+
96
+ # Do work
97
+ def run
98
+ Diplomat.configure do |dip|
99
+ dip.url = config[:consul]
100
+ end
101
+
102
+ begin
103
+ # Retrieve the kv
104
+ data = Diplomat::Kv.get(config[:kv])
105
+ rescue Faraday::ResourceNotFound
106
+ critical "Key/Value(#{config[:kv]}) pair does not exist in Consul."
107
+ rescue Exception => e # rubocop:disable Lint/RescueException
108
+ critical "Unhandled exception(#{e.class}) -- #{e.message}"
109
+ end
110
+
111
+ # Check if the data is JSON or a timestamp
112
+ if config[:json]
113
+ begin
114
+ # Convert the data to JSON
115
+ json_data = JSON.parse(data)
116
+
117
+ # If the status is set add that to the processing chain
118
+ if config[:status_key]
119
+ # Dig to the status
120
+ kv_status = json_data.dig(config[:status_key])
121
+
122
+ # Critical if we can not retrieve the status
123
+ critical "Unable to retrieve status from JSON data: #{data}" if kv_status.nil?
124
+
125
+ # Downcase to ease integration
126
+ kv_status = kv_status.downcase
127
+
128
+ # Flag based off of status
129
+ warning 'Warning status detected!' if %w(warning).include? kv_status
130
+ critical 'Critical status detected!' if %w(critical unknown).include? kv_status
131
+ end
132
+
133
+ # Dig to the time
134
+ kv_time = json_data.dig(config[:timestamp_key])
135
+
136
+ # Critical if we can not retrieve the time
137
+ critical "Unable to retrieve time from JSON data: #{data}" if kv_time.nil?
138
+ rescue JSON::ParserError => e # rubocop:disable Lint/UselessAssignment
139
+ critical "Unable to parse JSON data: #{data}"
140
+ end
141
+ else
142
+ kv_time = data
143
+ end
144
+
145
+ # Timestamp calculation
146
+ begin
147
+ # Convert the time into ISO8601 DateTime object
148
+ start_time = Time.iso8601(kv_time)
149
+
150
+ # Get the current time UTC
151
+ end_time = Time.now.utc
152
+
153
+ # Get diff in seconds between start and end time
154
+ elapsed_seconds = (end_time - start_time).to_i
155
+
156
+ critical "TTL calculation issue -- check date formats -- elapsed seconds is negative(#{elapsed_seconds})" if elapsed_seconds <= -1
157
+ critical "TTL Expired! Elapsed Time: #{elapsed_seconds}" if elapsed_seconds > config[:critical]
158
+ warning "TTL Expiration Approaching! Elapsed Time: #{elapsed_seconds}" if elapsed_seconds > config[:warning]
159
+ ok
160
+ rescue
161
+ critical 'Unable to process DateTime objects!'
162
+ end
163
+ end
164
+ end
@@ -61,7 +61,7 @@ class ConsulStatus < Sensu::Plugin::Check::CLI
61
61
  def strip_ip(str)
62
62
  ipv4_regex = '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'
63
63
  ipv6_regex = '\[.*\]'
64
- if str =~ /^.*#{ipv4_regex}.*$/
64
+ if str =~ /^.*#{ipv4_regex}.*$/ # rubocop:disable Style/GuardClause
65
65
  return str.match(/#{ipv4_regex}/)
66
66
  elsif str =~ /^.*#{ipv6_regex}.*$/
67
67
  return str[/#{ipv6_regex}/][1..-2]
@@ -0,0 +1,100 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-consul-members
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin checks if consul is up and reachable. It then checks
7
+ # the status of the members of the cluster to determine if the correct
8
+ # number of peers are reporting as 'alive'
9
+ #
10
+ # OUTPUT:
11
+ # plain text
12
+ #
13
+ # PLATFORMS:
14
+ # Linux
15
+ #
16
+ # DEPENDENCIES:
17
+ # gem: sensu-plugin
18
+ # gem: rest-client
19
+ # gem: json
20
+ #
21
+ # USAGE:
22
+ # Check to make sure the min number of peers needed is present in the cluster
23
+ # ./check-consul-members -s 127.0.0.1 -p 8500 -g 5 -e 8
24
+ #
25
+ # NOTES:
26
+ #
27
+ # LICENSE:
28
+ # Copyright 2015 Sonian, Inc. and contributors. <support@sensuapp.org>
29
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
30
+ # for details.
31
+ #
32
+
33
+ require 'sensu-plugin/check/cli'
34
+ require 'rest-client'
35
+ require 'json'
36
+
37
+ #
38
+ # Consul Status
39
+ #
40
+ class ConsulStatus < Sensu::Plugin::Check::CLI
41
+ option :server,
42
+ description: 'consul server',
43
+ short: '-s SERVER',
44
+ long: '--server SERVER',
45
+ default: '127.0.0.1'
46
+
47
+ option :port,
48
+ description: 'consul http port',
49
+ short: '-p PORT',
50
+ long: '--port PORT',
51
+ default: '8500'
52
+
53
+ option :min,
54
+ description: 'minimum number of peers',
55
+ short: '-g GREATER THAN',
56
+ long: '--greater GREATER THAN',
57
+ default: 3
58
+
59
+ option :expected,
60
+ description: 'expected number of peers',
61
+ short: '-e EXPECT',
62
+ long: '--expect EXPECT',
63
+ default: 5
64
+
65
+ option :wan,
66
+ description: 'whether to check the wan members',
67
+ short: '-w',
68
+ long: '--wan',
69
+ boolean: false
70
+
71
+ def run
72
+ url = "http://#{config[:server]}:#{config[:port]}/v1/agent/members"
73
+ if config[:wan]
74
+ url += '?wan=1'
75
+ end
76
+ json = RestClient::Resource.new(url, timeout: 5).get
77
+ peers = 0
78
+ members = JSON.parse(json)
79
+ members.each do |member|
80
+ # only count the member if its status is alive
81
+ if member.key?('Tags') && member['Tags']['role'] == 'consul' && member['Status'] == 1
82
+ peers += 1
83
+ end
84
+ end
85
+
86
+ if peers < config[:min].to_i
87
+ critical "[#{peers}] peers is below critical threshold of [#{config[:min]}]"
88
+ elsif peers != config[:expected].to_i
89
+ warning "[#{peers}] peers is outside of expected count of [#{config[:expected]}]"
90
+ else
91
+ ok 'Peers within threshold'
92
+ end
93
+ rescue Errno::ECONNREFUSED
94
+ critical 'Consul is not responding'
95
+ rescue RestClient::RequestTimeout
96
+ critical 'Consul Connection timed out'
97
+ rescue RestClient::Exception => e
98
+ unknown "Consul returned: #{e}"
99
+ end
100
+ end
@@ -1,10 +1,10 @@
1
1
  #! /usr/bin/env ruby
2
2
  #
3
- # check-consul-leader
3
+ # check-consul-servers
4
4
  #
5
5
  # DESCRIPTION:
6
6
  # This plugin checks if consul is up and reachable. It then checks
7
- # the status/leader and ensures there is a current leader.
7
+ # the number of peers matches the excepted value
8
8
  #
9
9
  # OUTPUT:
10
10
  # plain text
@@ -0,0 +1,84 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-consul-service-health
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin assists in checking the check status of a Consul Service
7
+ # In addition, it provides additional Yieldbot logic for Output containing
8
+ # JSON.
9
+ #
10
+ # OUTPUT:
11
+ # plain text
12
+ #
13
+ # PLATFORMS:
14
+ # Linux
15
+ #
16
+ # DEPENDENCIES:
17
+ # gem: sensu-plugin
18
+ # gem: diplomat
19
+ #
20
+ # USAGE:
21
+ # ./check-consul-service-health -s influxdb
22
+ # ./check-consul-service-health -a
23
+ #
24
+ # NOTES:
25
+ #
26
+ # LICENSE:
27
+ # Copyright 2015 Yieldbot, Inc. <devops@yieldbot.com>
28
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
29
+ # for details.
30
+ #
31
+
32
+ require 'sensu-plugin/check/cli'
33
+ require 'diplomat'
34
+ require 'json'
35
+
36
+ #
37
+ # Service Status
38
+ #
39
+ class CheckConsulServiceHealth < Sensu::Plugin::Check::CLI
40
+ option :service,
41
+ description: 'a service managed by consul',
42
+ short: '-s SERVICE',
43
+ long: '--service SERVICE',
44
+ default: 'consul'
45
+
46
+ option :all,
47
+ description: 'get all services',
48
+ short: '-a',
49
+ long: '--all'
50
+
51
+ # Get the service checks for the given service
52
+ def acquire_service_data
53
+ if config[:all]
54
+ Diplomat::Health.checks
55
+ else
56
+ Diplomat::Health.checks(config[:service])
57
+ end
58
+ end
59
+
60
+ # Do work
61
+ def run
62
+ warnings = false
63
+ criticals = false
64
+ checks = {}
65
+
66
+ # Process all of the nonpassing service checks
67
+ acquire_service_data.each do |d|
68
+ checkId = d['CheckID'] # rubocop:disable Style/VariableName
69
+ checkStatus = d['Status'] # rubocop:disable Style/VariableName
70
+
71
+ # If we are passing do nothing
72
+ next if checkStatus == 'passing'
73
+
74
+ checks[checkId] = d['Output']
75
+
76
+ warnings = true if %w(warning).include? checkStatus
77
+ criticals = true if %w(critical unknown).include? checkStatus
78
+ end
79
+
80
+ critical checks if criticals
81
+ warning checks if warnings
82
+ ok
83
+ end
84
+ end
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsConsul
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 0
4
+ MINOR = 1
5
5
  PATCH = 7
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,212 +1,196 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-consul
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.7
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-11-12 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-04-03 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
- name: rest-client
28
+ name: diplomat
51
29
  requirement: !ruby/object:Gem::Requirement
52
30
  requirements:
53
31
  - - '='
54
32
  - !ruby/object:Gem::Version
55
- version: 1.8.0
33
+ version: 0.14.0
56
34
  type: :runtime
57
35
  prerelease: false
58
36
  version_requirements: !ruby/object:Gem::Requirement
59
37
  requirements:
60
38
  - - '='
61
39
  - !ruby/object:Gem::Version
62
- version: 1.8.0
40
+ version: 0.14.0
63
41
  - !ruby/object:Gem::Dependency
64
- name: diplomat
42
+ name: rest-client
65
43
  requirement: !ruby/object:Gem::Requirement
66
44
  requirements:
67
45
  - - '='
68
46
  - !ruby/object:Gem::Version
69
- version: 0.14.0
47
+ version: 1.8.0
70
48
  type: :runtime
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
51
  requirements:
74
52
  - - '='
75
53
  - !ruby/object:Gem::Version
76
- version: 0.14.0
54
+ version: 1.8.0
77
55
  - !ruby/object:Gem::Dependency
78
- name: codeclimate-test-reporter
56
+ name: bundler
79
57
  requirement: !ruby/object:Gem::Requirement
80
58
  requirements:
81
- - - "~>"
59
+ - - ~>
82
60
  - !ruby/object:Gem::Version
83
- version: '0.4'
61
+ version: '1.7'
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
- version: '0.4'
68
+ version: '1.7'
91
69
  - !ruby/object:Gem::Dependency
92
- name: rubocop
70
+ name: codeclimate-test-reporter
93
71
  requirement: !ruby/object:Gem::Requirement
94
72
  requirements:
95
- - - '='
73
+ - - ~>
96
74
  - !ruby/object:Gem::Version
97
- version: 0.32.1
75
+ version: '0.4'
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
- version: 0.32.1
82
+ version: '0.4'
105
83
  - !ruby/object:Gem::Dependency
106
- name: rspec
84
+ name: github-markup
107
85
  requirement: !ruby/object:Gem::Requirement
108
86
  requirements:
109
- - - "~>"
87
+ - - ~>
110
88
  - !ruby/object:Gem::Version
111
- version: '3.1'
89
+ version: '1.3'
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
- version: '3.1'
96
+ version: '1.3'
119
97
  - !ruby/object:Gem::Dependency
120
- name: bundler
98
+ name: pry
121
99
  requirement: !ruby/object:Gem::Requirement
122
100
  requirements:
123
- - - "~>"
101
+ - - ~>
124
102
  - !ruby/object:Gem::Version
125
- version: '1.7'
103
+ version: '0.10'
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
- version: '1.7'
110
+ version: '0.10'
133
111
  - !ruby/object:Gem::Dependency
134
112
  name: rake
135
113
  requirement: !ruby/object:Gem::Requirement
136
114
  requirements:
137
- - - "~>"
115
+ - - ~>
138
116
  - !ruby/object:Gem::Version
139
- version: '10.0'
117
+ version: '10.5'
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
- version: '10.0'
124
+ version: '10.5'
147
125
  - !ruby/object:Gem::Dependency
148
- name: github-markup
126
+ name: redcarpet
149
127
  requirement: !ruby/object:Gem::Requirement
150
128
  requirements:
151
- - - "~>"
129
+ - - ~>
152
130
  - !ruby/object:Gem::Version
153
- version: '1.3'
131
+ version: '3.2'
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: '1.3'
138
+ version: '3.2'
161
139
  - !ruby/object:Gem::Dependency
162
- name: redcarpet
140
+ name: rubocop
163
141
  requirement: !ruby/object:Gem::Requirement
164
142
  requirements:
165
- - - "~>"
143
+ - - ~>
166
144
  - !ruby/object:Gem::Version
167
- version: '3.2'
145
+ version: '0.37'
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
- version: '3.2'
152
+ version: '0.37'
175
153
  - !ruby/object:Gem::Dependency
176
- name: yard
154
+ name: rspec
177
155
  requirement: !ruby/object:Gem::Requirement
178
156
  requirements:
179
- - - "~>"
157
+ - - ~>
180
158
  - !ruby/object:Gem::Version
181
- version: '0.8'
159
+ version: '3.4'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
163
  requirements:
186
- - - "~>"
164
+ - - ~>
187
165
  - !ruby/object:Gem::Version
188
- version: '0.8'
166
+ version: '3.4'
189
167
  - !ruby/object:Gem::Dependency
190
- name: pry
168
+ name: yard
191
169
  requirement: !ruby/object:Gem::Requirement
192
170
  requirements:
193
- - - "~>"
171
+ - - ~>
194
172
  - !ruby/object:Gem::Version
195
- version: '0.10'
173
+ version: '0.8'
196
174
  type: :development
197
175
  prerelease: false
198
176
  version_requirements: !ruby/object:Gem::Requirement
199
177
  requirements:
200
- - - "~>"
178
+ - - ~>
201
179
  - !ruby/object:Gem::Version
202
- version: '0.10'
203
- description: Sensu plugins for Consul
204
- email: "<sensu-users@googlegroups.com>"
180
+ version: '0.8'
181
+ description: ! "This plugin provides native instrumentation for monitoring Consul,
182
+ including:\n Consul server service and cluster health,
183
+ and querying the Consul API to check\n for passing/critical
184
+ services."
185
+ email: <sensu-users@googlegroups.com>
205
186
  executables:
206
- - check-service-consul.rb
207
- - check-consul-servers.rb
208
- - check-consul-leader.rb
209
187
  - check-consul-failures.rb
188
+ - check-consul-kv-ttl.rb
189
+ - check-consul-leader.rb
190
+ - check-consul-members.rb
191
+ - check-consul-servers.rb
192
+ - check-consul-service-health.rb
193
+ - check-service-consul.rb
210
194
  extensions: []
211
195
  extra_rdoc_files: []
212
196
  files:
@@ -214,8 +198,11 @@ files:
214
198
  - LICENSE
215
199
  - README.md
216
200
  - bin/check-consul-failures.rb
201
+ - bin/check-consul-kv-ttl.rb
217
202
  - bin/check-consul-leader.rb
203
+ - bin/check-consul-members.rb
218
204
  - bin/check-consul-servers.rb
205
+ - bin/check-consul-service-health.rb
219
206
  - bin/check-service-consul.rb
220
207
  - lib/sensu-plugins-consul.rb
221
208
  - lib/sensu-plugins-consul/version.rb
@@ -223,7 +210,7 @@ homepage: https://github.com/sensu-plugins/sensu-plugins-consul
223
210
  licenses:
224
211
  - MIT
225
212
  metadata:
226
- maintainer: "@mattyjones"
213
+ maintainer: ! '@mattyjones'
227
214
  development_status: active
228
215
  production_status: unstable - testing recommended
229
216
  release_draft: 'false'
@@ -235,17 +222,17 @@ require_paths:
235
222
  - lib
236
223
  required_ruby_version: !ruby/object:Gem::Requirement
237
224
  requirements:
238
- - - ">="
225
+ - - ! '>='
239
226
  - !ruby/object:Gem::Version
240
227
  version: 1.9.3
241
228
  required_rubygems_version: !ruby/object:Gem::Requirement
242
229
  requirements:
243
- - - ">="
230
+ - - ! '>='
244
231
  - !ruby/object:Gem::Version
245
232
  version: '0'
246
233
  requirements: []
247
234
  rubyforge_project:
248
- rubygems_version: 2.4.8
235
+ rubygems_version: 2.4.5
249
236
  signing_key:
250
237
  specification_version: 4
251
238
  summary: Sensu plugins for Consul
@@ -1,2 +0,0 @@
1
- �4���D��~���`]Jz���d��ze o'P��!�y�K8��� Q�T=];B�?�L��
2
- ՟ޤھ{ &��� �?�Q�zO�Bp���6�FS��Y{����s�lpl�9�L���j�rꓗ�NCa�Nj`b�w�ʅ��Tf����],�8�"����&�&h{��Y�x�̙ Ϭo��)�K�� �����@ ���mXY�Ν̌rF�X�(�����q��~ԟ(��I��;n���D(}���v
data.tar.gz.sig DELETED
@@ -1,2 +0,0 @@
1
- .H1���bC�^ImZ{k�j�
2
- v�:���%��{$ad�|v�E��⃌�Ԁ&��]y�"!>�^�]�sS����p�n��YEW���;|�/��-���ׯ�B�Y������B�;�&�k'�J�*�)"���!�9�c<��f#�����I>�T�����RWR���G���q@��*�ŋ�j��D2��WՃ!��^A�/���3�/�Y&b$���Ѯs��N�̱�e8T�㫩��:~TK�0�j�b��Z�m�1�
metadata.gz.sig DELETED
@@ -1,2 +0,0 @@
1
- #~N��P��Қ�m[[5��L��1�CZ�[9iRZ����=)e4�Sd^���Ω���t���N��vdV�o����GN���M�uژK��oV�%Q^��\��Q�����q3��l< ,��3GM��z|�F�֮@�P��,�zE0
2
- ��r3��g�tSKE�+�.�T��3p���J�)�[�\J�V������fr2}�=BP���/r��џ��t�Z=�i��%۝���+9b[_������K����U?E�|H