sensu-plugins-rabbitmq 3.5.0 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -2
- data/README.md +1 -0
- data/bin/check-rabbitmq-queues-synchronised.rb +75 -0
- data/lib/sensu-plugins-rabbitmq/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37b8d41fe46ac07ede1456194b6b1953924a12a8
|
4
|
+
data.tar.gz: 106179e22f2ec92593d20b62c0eb2c7b6a9abfdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 521ec362117fcadb6c0bb993d3041180cde0c5ca40db1a44b8bb687e1d383cc2658467c98d8e70168578c24969522eb9b00f3d7313900a8f59f6040b40657e95
|
7
|
+
data.tar.gz: dc16d15e7271d4a973f003143f3a3b4d165aebcbe0504e4c257fad7baa53882a4c287ea2c9fdd879190b26cd1e88fbc078cd3b5d9a6621aa38a095a9ced33942
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
# Change Log
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
3
3
|
|
4
|
-
This CHANGELOG follows the format listed
|
4
|
+
This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins/community/blob/master/HOW_WE_CHANGELOG.md)
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [3.6.0] - 2017-10-04
|
9
|
+
### Added
|
10
|
+
- check-rabbitmq-queues-synchronised.rb: added new check if all mirrored queues are synchronised (@cyrilgdn)
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- updated CHANGELOG guidelines location (@majormoses)
|
14
|
+
|
8
15
|
## [3.5.0] - 2017-09-05
|
9
16
|
### Changed
|
10
17
|
- RabbitMQ module with common code (@rthouvenin)
|
@@ -163,7 +170,8 @@ NOTE: this release changes the option flags in check-rabbitmq-node-health.rb to
|
|
163
170
|
- Remove copy paste errors in the Readme
|
164
171
|
- Removed Rubygems require Ruby 1.8.7 backwards compatibility from all plugins
|
165
172
|
|
166
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.
|
173
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.6.0...HEAD
|
174
|
+
[3.6.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.5.0...3.6.0
|
167
175
|
[3.5.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.4.0...3.5.0
|
168
176
|
[3.4.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.3.0...3.4.0
|
169
177
|
[3.3.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.2.0...3.3.0
|
data/README.md
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
* bin/check-rabbitmq-node-usage.rb
|
20
20
|
* bin/check-rabbitmq-queue-drain-time.rb
|
21
21
|
* bin/check-rabbitmq-queue.rb
|
22
|
+
* bin/check-rabbitmq-queues-synchronised.rb
|
22
23
|
* bin/check-rabbitmq-stomp-alive.rb
|
23
24
|
* bin/metrics-rabbitmq-overview.rb
|
24
25
|
* bin/metrics-rabbitmq-queue.rb
|
@@ -0,0 +1,75 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: UTF-8
|
3
|
+
#
|
4
|
+
# Check RabbitMQ Queues Synchronised
|
5
|
+
# ===
|
6
|
+
#
|
7
|
+
# DESCRIPTION:
|
8
|
+
# This plugin checks that all mirrored queues which have slaves are synchronised.
|
9
|
+
#
|
10
|
+
# PLATFORMS:
|
11
|
+
# Linux, BSD, Solaris
|
12
|
+
#
|
13
|
+
# DEPENDENCIES:
|
14
|
+
# gem: sensu-plugin
|
15
|
+
# gem: rest-client
|
16
|
+
#
|
17
|
+
# LICENSE:
|
18
|
+
# Copyright 2017 Cyril Gaudin <cyril.gaudin@gmail.com>
|
19
|
+
#
|
20
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
21
|
+
# for details.
|
22
|
+
|
23
|
+
require 'rest_client'
|
24
|
+
require 'sensu-plugins-rabbitmq'
|
25
|
+
|
26
|
+
# main plugin class
|
27
|
+
class CheckRabbitMQQueuesSynchronised < Sensu::Plugin::RabbitMQ::Check
|
28
|
+
option :list_queues,
|
29
|
+
description: 'If set, will ouput the list of all unsynchronised queues, otherwise only the count',
|
30
|
+
long: '--list-queues',
|
31
|
+
boolean: true,
|
32
|
+
default: false
|
33
|
+
|
34
|
+
def run
|
35
|
+
@crits = []
|
36
|
+
|
37
|
+
queues = get_queues config
|
38
|
+
|
39
|
+
queues.each do |q|
|
40
|
+
next unless q.key?('slave_nodes')
|
41
|
+
|
42
|
+
nb_slaves = q['slave_nodes'].count
|
43
|
+
next if nb_slaves.zero?
|
44
|
+
unsynchronised = nb_slaves - q['synchronised_slave_nodes'].count
|
45
|
+
if unsynchronised != 0
|
46
|
+
@crits << "#{q['name']}: #{unsynchronised} unsynchronised slave(s)"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
if @crits.empty?
|
50
|
+
ok
|
51
|
+
elsif config[:list_queues]
|
52
|
+
critical @crits.join(' - ')
|
53
|
+
else
|
54
|
+
critical "#{@crits.count} unsynchronised queue(s)"
|
55
|
+
end
|
56
|
+
rescue Errno::ECONNREFUSED => e
|
57
|
+
critical e.message
|
58
|
+
rescue => e
|
59
|
+
unknown e.message
|
60
|
+
end
|
61
|
+
|
62
|
+
def get_queues(config)
|
63
|
+
url_prefix = config[:ssl] ? 'https' : 'http'
|
64
|
+
options = {
|
65
|
+
user: config[:username],
|
66
|
+
password: config[:password]
|
67
|
+
}
|
68
|
+
|
69
|
+
resource = RestClient::Resource.new(
|
70
|
+
"#{url_prefix}://#{config[:host]}:#{config[:port]}/api/queues",
|
71
|
+
options
|
72
|
+
)
|
73
|
+
JSON.parse(resource.get)
|
74
|
+
end
|
75
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-rabbitmq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.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-
|
11
|
+
date: 2017-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -265,6 +265,7 @@ executables:
|
|
265
265
|
- check-rabbitmq-node-usage.rb
|
266
266
|
- check-rabbitmq-queue-drain-time.rb
|
267
267
|
- check-rabbitmq-queue.rb
|
268
|
+
- check-rabbitmq-queues-synchronised.rb
|
268
269
|
- check-rabbitmq-stomp-alive.rb
|
269
270
|
- metrics-rabbitmq-exchange.rb
|
270
271
|
- metrics-rabbitmq-overview.rb
|
@@ -285,6 +286,7 @@ files:
|
|
285
286
|
- bin/check-rabbitmq-node-usage.rb
|
286
287
|
- bin/check-rabbitmq-queue-drain-time.rb
|
287
288
|
- bin/check-rabbitmq-queue.rb
|
289
|
+
- bin/check-rabbitmq-queues-synchronised.rb
|
288
290
|
- bin/check-rabbitmq-stomp-alive.rb
|
289
291
|
- bin/metrics-rabbitmq-exchange.rb
|
290
292
|
- bin/metrics-rabbitmq-overview.rb
|