sensu-plugins-rabbitmq 2.3.0 → 3.0.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 +11 -3
- data/bin/check-rabbitmq-alive.rb +15 -2
- data/bin/check-rabbitmq-amqp-alive.rb +15 -2
- data/bin/check-rabbitmq-cluster-health.rb +15 -2
- data/bin/check-rabbitmq-consumers.rb +20 -4
- data/bin/check-rabbitmq-messages.rb +20 -4
- data/bin/check-rabbitmq-network-partitions.rb +18 -2
- data/bin/check-rabbitmq-node-health.rb +15 -0
- data/bin/check-rabbitmq-node-usage.rb +18 -2
- data/bin/check-rabbitmq-queue-drain-time.rb +20 -4
- data/bin/check-rabbitmq-queue.rb +20 -4
- data/bin/check-rabbitmq-stomp-alive.rb +18 -2
- data/bin/metrics-rabbitmq-overview.rb +20 -4
- data/bin/metrics-rabbitmq-queue.rb +20 -4
- data/lib/sensu-plugins-rabbitmq/version.rb +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4136a3c48a94763e3ab822775e4d21a832b10887
|
4
|
+
data.tar.gz: eab91431b9a3e361e955f23ed3c383d7832344fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8b04c93a18c80b25bf0ea1f1025d7f1d0ca24facd5802a71f758afa1d1dbfe00b8a8a471fbcb6115c1e4a261c052c77566dd3f09343064abf3c682ee3b32756
|
7
|
+
data.tar.gz: da132f2cc3c15f1f22dc1280d9192f6f800aa50f612c503de942d60321e0d7375996092b2d00ac2429c62fd0a514323586b7a7908b1db1a7bcdc188bae693359
|
data/CHANGELOG.md
CHANGED
@@ -4,11 +4,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
|
-
|
7
|
+
## [3.0.0] - 2017-05-10
|
8
|
+
### Breaking change
|
9
|
+
- Previously some checks used --user to specify username, now all scripts use --username
|
10
|
+
|
11
|
+
### Added
|
12
|
+
- --ini option for all checks to specify username and password in a config file (@bootswithdefer)
|
13
|
+
|
14
|
+
## [2.3.0] - 2017-05-09
|
8
15
|
### Added
|
9
16
|
- check-rabbitmq-node-usage.rb: added new check to look at rmq node resource useage. (@DvaBearqLoza)
|
10
17
|
|
11
|
-
|
18
|
+
## [2.2.0] - 2017-05-08
|
12
19
|
### Added
|
13
20
|
- check-rabbitmq-queue.rb: Added --below feature to specify if value below threshold should generate alert (@alexpekurovsky)
|
14
21
|
|
@@ -122,7 +129,8 @@ NOTE: this release changes the option flags in check-rabbitmq-node-health.rb to
|
|
122
129
|
- Remove copy paste errors in the Readme
|
123
130
|
- Removed Rubygems require Ruby 1.8.7 backwards compatibility from all plugins
|
124
131
|
|
125
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/
|
132
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/3.0.0...HEAD
|
133
|
+
[3.0.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/2.3.0...3.0.0
|
126
134
|
[2.3.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/2.2.0...2.3.0
|
127
135
|
[2.2.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/2.1.0...2.2.0
|
128
136
|
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/compare/2.0.0...2.1.0
|
data/bin/check-rabbitmq-alive.rb
CHANGED
@@ -24,6 +24,7 @@
|
|
24
24
|
require 'sensu-plugin/check/cli'
|
25
25
|
require 'json'
|
26
26
|
require 'rest_client'
|
27
|
+
require 'inifile'
|
27
28
|
|
28
29
|
# main plugin class
|
29
30
|
class CheckRabbitMQAlive < Sensu::Plugin::Check::CLI
|
@@ -69,6 +70,11 @@ class CheckRabbitMQAlive < Sensu::Plugin::Check::CLI
|
|
69
70
|
boolean: true,
|
70
71
|
default: false
|
71
72
|
|
73
|
+
option :ini,
|
74
|
+
description: 'Configuration ini file',
|
75
|
+
short: '-i',
|
76
|
+
long: '--ini VALUE'
|
77
|
+
|
72
78
|
def run
|
73
79
|
res = vhost_alive?
|
74
80
|
|
@@ -84,11 +90,18 @@ class CheckRabbitMQAlive < Sensu::Plugin::Check::CLI
|
|
84
90
|
def vhost_alive?
|
85
91
|
host = config[:host]
|
86
92
|
port = config[:port]
|
87
|
-
username = config[:username]
|
88
|
-
password = config[:password]
|
89
93
|
vhost = config[:vhost]
|
90
94
|
ssl = config[:ssl]
|
91
95
|
verify_ssl = config[:verify_ssl_off]
|
96
|
+
if config[:ini]
|
97
|
+
ini = IniFile.load(config[:ini])
|
98
|
+
section = ini['auth']
|
99
|
+
username = section['username']
|
100
|
+
password = section['password']
|
101
|
+
else
|
102
|
+
username = config[:username]
|
103
|
+
password = config[:password]
|
104
|
+
end
|
92
105
|
|
93
106
|
begin
|
94
107
|
resource = RestClient::Resource.new(
|
@@ -22,6 +22,7 @@
|
|
22
22
|
|
23
23
|
require 'sensu-plugin/check/cli'
|
24
24
|
require 'bunny'
|
25
|
+
require 'inifile'
|
25
26
|
|
26
27
|
# main plugin class
|
27
28
|
class CheckRabbitAMQPAlive < Sensu::Plugin::Check::CLI
|
@@ -77,6 +78,11 @@ class CheckRabbitAMQPAlive < Sensu::Plugin::Check::CLI
|
|
77
78
|
boolean: true,
|
78
79
|
default: true
|
79
80
|
|
81
|
+
option :ini,
|
82
|
+
description: 'Configuration ini file',
|
83
|
+
short: '-i',
|
84
|
+
long: '--ini VALUE'
|
85
|
+
|
80
86
|
def run
|
81
87
|
res = vhost_alive?
|
82
88
|
|
@@ -92,13 +98,20 @@ class CheckRabbitAMQPAlive < Sensu::Plugin::Check::CLI
|
|
92
98
|
def vhost_alive?
|
93
99
|
host = config[:host]
|
94
100
|
port = config[:port]
|
95
|
-
username = config[:username]
|
96
|
-
password = config[:password]
|
97
101
|
vhost = config[:vhost]
|
98
102
|
ssl = config[:ssl]
|
99
103
|
tls_cert = config[:tls_cert]
|
100
104
|
tls_key = config[:tls_key]
|
101
105
|
no_verify_peer = config[:no_verify_peer]
|
106
|
+
if config[:ini]
|
107
|
+
ini = IniFile.load(config[:ini])
|
108
|
+
section = ini['auth']
|
109
|
+
username = section['username']
|
110
|
+
password = section['password']
|
111
|
+
else
|
112
|
+
username = config[:username]
|
113
|
+
password = config[:password]
|
114
|
+
end
|
102
115
|
|
103
116
|
begin
|
104
117
|
conn = Bunny.new("amqp#{ssl ? 's' : ''}://#{username}:#{password}@#{host}:#{port}/#{vhost}",
|
@@ -28,6 +28,7 @@
|
|
28
28
|
require 'sensu-plugin/check/cli'
|
29
29
|
require 'json'
|
30
30
|
require 'rest_client'
|
31
|
+
require 'inifile'
|
31
32
|
|
32
33
|
# main plugin class
|
33
34
|
class CheckRabbitMQCluster < Sensu::Plugin::Check::CLI
|
@@ -78,6 +79,11 @@ class CheckRabbitMQCluster < Sensu::Plugin::Check::CLI
|
|
78
79
|
long: '--ssl_ca_file CA_PATH',
|
79
80
|
default: ''
|
80
81
|
|
82
|
+
option :ini,
|
83
|
+
description: 'Configuration ini file',
|
84
|
+
short: '-i',
|
85
|
+
long: '--ini VALUE'
|
86
|
+
|
81
87
|
def run
|
82
88
|
res = cluster_healthy?
|
83
89
|
|
@@ -108,12 +114,19 @@ class CheckRabbitMQCluster < Sensu::Plugin::Check::CLI
|
|
108
114
|
def cluster_healthy?
|
109
115
|
host = config[:host]
|
110
116
|
port = config[:port]
|
111
|
-
username = config[:username]
|
112
|
-
password = config[:password]
|
113
117
|
ssl = config[:ssl]
|
114
118
|
verify_ssl = config[:verify_ssl_off]
|
115
119
|
nodes = config[:nodes].split(',')
|
116
120
|
ssl_ca_file = config[:ssl_ca_file]
|
121
|
+
if config[:ini]
|
122
|
+
ini = IniFile.load(config[:ini])
|
123
|
+
section = ini['auth']
|
124
|
+
username = section['username']
|
125
|
+
password = section['password']
|
126
|
+
else
|
127
|
+
username = config[:username]
|
128
|
+
password = config[:password]
|
129
|
+
end
|
117
130
|
|
118
131
|
begin
|
119
132
|
url_prefix = ssl ? 'https' : 'http'
|
@@ -24,6 +24,7 @@
|
|
24
24
|
|
25
25
|
require 'sensu-plugin/check/cli'
|
26
26
|
require 'carrot-top'
|
27
|
+
require 'inifile'
|
27
28
|
|
28
29
|
# main plugin class
|
29
30
|
class CheckRabbitMQConsumers < Sensu::Plugin::Check::CLI
|
@@ -44,9 +45,9 @@ class CheckRabbitMQConsumers < Sensu::Plugin::Check::CLI
|
|
44
45
|
boolean: true,
|
45
46
|
default: false
|
46
47
|
|
47
|
-
option :
|
48
|
+
option :username,
|
48
49
|
description: 'RabbitMQ management API user',
|
49
|
-
long: '--
|
50
|
+
long: '--username USER',
|
50
51
|
default: 'guest'
|
51
52
|
|
52
53
|
option :password,
|
@@ -78,13 +79,28 @@ class CheckRabbitMQConsumers < Sensu::Plugin::Check::CLI
|
|
78
79
|
proc: proc(&:to_i),
|
79
80
|
default: 2
|
80
81
|
|
82
|
+
option :ini,
|
83
|
+
description: 'Configuration ini file',
|
84
|
+
short: '-i',
|
85
|
+
long: '--ini VALUE'
|
86
|
+
|
81
87
|
def rabbit
|
82
88
|
begin
|
89
|
+
if config[:ini]
|
90
|
+
ini = IniFile.load(config[:ini])
|
91
|
+
section = ini['auth']
|
92
|
+
username = section['username']
|
93
|
+
password = section['password']
|
94
|
+
else
|
95
|
+
username = config[:username]
|
96
|
+
password = config[:password]
|
97
|
+
end
|
98
|
+
|
83
99
|
connection = CarrotTop.new(
|
84
100
|
host: config[:host],
|
85
101
|
port: config[:port],
|
86
|
-
user:
|
87
|
-
password:
|
102
|
+
user: username,
|
103
|
+
password: password,
|
88
104
|
ssl: config[:ssl]
|
89
105
|
)
|
90
106
|
rescue
|
@@ -25,6 +25,7 @@
|
|
25
25
|
require 'sensu-plugin/check/cli'
|
26
26
|
require 'socket'
|
27
27
|
require 'carrot-top'
|
28
|
+
require 'inifile'
|
28
29
|
|
29
30
|
# main plugin class
|
30
31
|
class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
@@ -39,9 +40,9 @@ class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
|
39
40
|
proc: proc(&:to_i),
|
40
41
|
default: 15_672
|
41
42
|
|
42
|
-
option :
|
43
|
+
option :username,
|
43
44
|
description: 'RabbitMQ management API user',
|
44
|
-
long: '--
|
45
|
+
long: '--username USER',
|
45
46
|
default: 'guest'
|
46
47
|
|
47
48
|
option :password,
|
@@ -79,6 +80,11 @@ class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
|
79
80
|
proc: proc { |q| q.split(',') },
|
80
81
|
default: []
|
81
82
|
|
83
|
+
option :ini,
|
84
|
+
description: 'Configuration ini file',
|
85
|
+
short: '-i',
|
86
|
+
long: '--ini VALUE'
|
87
|
+
|
82
88
|
def generate_message(status_hash)
|
83
89
|
message = []
|
84
90
|
status_hash.each_pair do |k, v|
|
@@ -89,11 +95,21 @@ class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
|
89
95
|
|
90
96
|
def acquire_rabbitmq_info
|
91
97
|
begin
|
98
|
+
if config[:ini]
|
99
|
+
ini = IniFile.load(config[:ini])
|
100
|
+
section = ini['auth']
|
101
|
+
username = section['username']
|
102
|
+
password = section['password']
|
103
|
+
else
|
104
|
+
username = config[:username]
|
105
|
+
password = config[:password]
|
106
|
+
end
|
107
|
+
|
92
108
|
rabbitmq_info = CarrotTop.new(
|
93
109
|
host: config[:host],
|
94
110
|
port: config[:port],
|
95
|
-
user:
|
96
|
-
password:
|
111
|
+
user: username,
|
112
|
+
password: password,
|
97
113
|
ssl: config[:ssl]
|
98
114
|
)
|
99
115
|
rescue
|
@@ -24,6 +24,7 @@
|
|
24
24
|
|
25
25
|
require 'sensu-plugin/check/cli'
|
26
26
|
require 'carrot-top'
|
27
|
+
require 'inifile'
|
27
28
|
|
28
29
|
# main plugin class
|
29
30
|
class CheckRabbitMQPartitions < Sensu::Plugin::Check::CLI
|
@@ -57,6 +58,11 @@ class CheckRabbitMQPartitions < Sensu::Plugin::Check::CLI
|
|
57
58
|
boolean: true,
|
58
59
|
default: false
|
59
60
|
|
61
|
+
option :ini,
|
62
|
+
description: 'Configuration ini file',
|
63
|
+
short: '-i',
|
64
|
+
long: '--ini VALUE'
|
65
|
+
|
60
66
|
def run
|
61
67
|
critical 'network partition detected' if partition?
|
62
68
|
ok 'no network partition detected'
|
@@ -71,11 +77,21 @@ class CheckRabbitMQPartitions < Sensu::Plugin::Check::CLI
|
|
71
77
|
end
|
72
78
|
|
73
79
|
def rabbitmq_management
|
80
|
+
if config[:ini]
|
81
|
+
ini = IniFile.load(config[:ini])
|
82
|
+
section = ini['auth']
|
83
|
+
username = section['username']
|
84
|
+
password = section['password']
|
85
|
+
else
|
86
|
+
username = config[:username]
|
87
|
+
password = config[:password]
|
88
|
+
end
|
89
|
+
|
74
90
|
CarrotTop.new(
|
75
91
|
host: config[:host],
|
76
92
|
port: config[:port],
|
77
|
-
user:
|
78
|
-
password:
|
93
|
+
user: username,
|
94
|
+
password: password,
|
79
95
|
ssl: config[:ssl]
|
80
96
|
)
|
81
97
|
end
|
@@ -28,6 +28,7 @@
|
|
28
28
|
require 'sensu-plugin/check/cli'
|
29
29
|
require 'json'
|
30
30
|
require 'rest_client'
|
31
|
+
require 'inifile'
|
31
32
|
|
32
33
|
# main plugin class
|
33
34
|
class CheckRabbitMQNodeHealth < Sensu::Plugin::Check::CLI
|
@@ -115,6 +116,11 @@ class CheckRabbitMQNodeHealth < Sensu::Plugin::Check::CLI
|
|
115
116
|
long: '--alarms BOOLEAN',
|
116
117
|
default: 'true'
|
117
118
|
|
119
|
+
option :ini,
|
120
|
+
description: 'Configuration ini file',
|
121
|
+
short: '-i',
|
122
|
+
long: '--ini VALUE'
|
123
|
+
|
118
124
|
def run
|
119
125
|
res = node_healthy?
|
120
126
|
|
@@ -136,6 +142,15 @@ class CheckRabbitMQNodeHealth < Sensu::Plugin::Check::CLI
|
|
136
142
|
password = config[:password]
|
137
143
|
ssl = config[:ssl]
|
138
144
|
verify_ssl = config[:verify_ssl_off]
|
145
|
+
if config[:ini]
|
146
|
+
ini = IniFile.load(config[:ini])
|
147
|
+
section = ini['auth']
|
148
|
+
username = section['username']
|
149
|
+
password = section['password']
|
150
|
+
else
|
151
|
+
username = config[:username]
|
152
|
+
password = config[:password]
|
153
|
+
end
|
139
154
|
|
140
155
|
begin
|
141
156
|
url_prefix = ssl ? 'https' : 'http'
|
@@ -34,6 +34,7 @@
|
|
34
34
|
|
35
35
|
require 'sensu-plugin/check/cli'
|
36
36
|
require 'carrot-top'
|
37
|
+
require 'inifile'
|
37
38
|
|
38
39
|
# Main plugin class
|
39
40
|
class CheckRabbitMQNodeUsage < Sensu::Plugin::Check::CLI
|
@@ -143,6 +144,11 @@ class CheckRabbitMQNodeUsage < Sensu::Plugin::Check::CLI
|
|
143
144
|
proc: proc(&:to_f),
|
144
145
|
default: 90
|
145
146
|
|
147
|
+
option :ini,
|
148
|
+
description: 'Configuration ini file',
|
149
|
+
short: '-i',
|
150
|
+
long: '--ini VALUE'
|
151
|
+
|
146
152
|
def run
|
147
153
|
res = node_healthy?
|
148
154
|
|
@@ -293,11 +299,21 @@ class CheckRabbitMQNodeUsage < Sensu::Plugin::Check::CLI
|
|
293
299
|
end
|
294
300
|
|
295
301
|
def rabbitmq_management
|
302
|
+
if config[:ini]
|
303
|
+
ini = IniFile.load(config[:ini])
|
304
|
+
section = ini['auth']
|
305
|
+
username = section['username']
|
306
|
+
password = section['password']
|
307
|
+
else
|
308
|
+
username = config[:username]
|
309
|
+
password = config[:password]
|
310
|
+
end
|
311
|
+
|
296
312
|
CarrotTop.new(
|
297
313
|
host: config[:host],
|
298
314
|
port: config[:port],
|
299
|
-
user:
|
300
|
-
password:
|
315
|
+
user: username,
|
316
|
+
password: password,
|
301
317
|
ssl: config[:ssl]
|
302
318
|
)
|
303
319
|
end
|
@@ -29,6 +29,7 @@
|
|
29
29
|
require 'sensu-plugin/check/cli'
|
30
30
|
require 'socket'
|
31
31
|
require 'carrot-top'
|
32
|
+
require 'inifile'
|
32
33
|
|
33
34
|
# main plugin class
|
34
35
|
class CheckRabbitMQQueueDrainTime < Sensu::Plugin::Check::CLI
|
@@ -48,9 +49,9 @@ class CheckRabbitMQQueueDrainTime < Sensu::Plugin::Check::CLI
|
|
48
49
|
short: '-v',
|
49
50
|
long: '--vhost VHOST'
|
50
51
|
|
51
|
-
option :
|
52
|
+
option :username,
|
52
53
|
description: 'RabbitMQ management API user',
|
53
|
-
long: '--
|
54
|
+
long: '--username USER',
|
54
55
|
default: 'guest'
|
55
56
|
|
56
57
|
option :password,
|
@@ -81,13 +82,28 @@ class CheckRabbitMQQueueDrainTime < Sensu::Plugin::Check::CLI
|
|
81
82
|
description: 'CRITICAL time that messages will process at current rate',
|
82
83
|
default: 360
|
83
84
|
|
85
|
+
option :ini,
|
86
|
+
description: 'Configuration ini file',
|
87
|
+
short: '-i',
|
88
|
+
long: '--ini VALUE'
|
89
|
+
|
84
90
|
def acquire_rabbitmq_queues
|
85
91
|
begin
|
92
|
+
if config[:ini]
|
93
|
+
ini = IniFile.load(config[:ini])
|
94
|
+
section = ini['auth']
|
95
|
+
username = section['username']
|
96
|
+
password = section['password']
|
97
|
+
else
|
98
|
+
username = config[:username]
|
99
|
+
password = config[:password]
|
100
|
+
end
|
101
|
+
|
86
102
|
rabbitmq_info = CarrotTop.new(
|
87
103
|
host: config[:host],
|
88
104
|
port: config[:port],
|
89
|
-
user:
|
90
|
-
password:
|
105
|
+
user: username,
|
106
|
+
password: password,
|
91
107
|
ssl: config[:ssl]
|
92
108
|
)
|
93
109
|
rescue
|
data/bin/check-rabbitmq-queue.rb
CHANGED
@@ -24,6 +24,7 @@
|
|
24
24
|
require 'sensu-plugin/check/cli'
|
25
25
|
require 'socket'
|
26
26
|
require 'carrot-top'
|
27
|
+
require 'inifile'
|
27
28
|
|
28
29
|
# main plugin class
|
29
30
|
class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
@@ -50,9 +51,9 @@ class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
|
50
51
|
boolean: true,
|
51
52
|
default: false
|
52
53
|
|
53
|
-
option :
|
54
|
+
option :username,
|
54
55
|
description: 'RabbitMQ management API user',
|
55
|
-
long: '--
|
56
|
+
long: '--username USER',
|
56
57
|
default: 'guest'
|
57
58
|
|
58
59
|
option :password,
|
@@ -102,13 +103,28 @@ class CheckRabbitMQMessages < Sensu::Plugin::Check::CLI
|
|
102
103
|
boolean: true,
|
103
104
|
default: false
|
104
105
|
|
106
|
+
option :ini,
|
107
|
+
description: 'Configuration ini file',
|
108
|
+
short: '-i',
|
109
|
+
long: '--ini VALUE'
|
110
|
+
|
105
111
|
def acquire_rabbitmq_info
|
106
112
|
begin
|
113
|
+
if config[:ini]
|
114
|
+
ini = IniFile.load(config[:ini])
|
115
|
+
section = ini['auth']
|
116
|
+
username = section['username']
|
117
|
+
password = section['password']
|
118
|
+
else
|
119
|
+
username = config[:username]
|
120
|
+
password = config[:password]
|
121
|
+
end
|
122
|
+
|
107
123
|
rabbitmq_info = CarrotTop.new(
|
108
124
|
host: config[:host],
|
109
125
|
port: config[:port],
|
110
|
-
user:
|
111
|
-
password:
|
126
|
+
user: username,
|
127
|
+
password: password,
|
112
128
|
ssl: config[:ssl]
|
113
129
|
)
|
114
130
|
rescue
|
@@ -26,6 +26,7 @@
|
|
26
26
|
|
27
27
|
require 'sensu-plugin/check/cli'
|
28
28
|
require 'stomp'
|
29
|
+
require 'inifile'
|
29
30
|
|
30
31
|
# main plugin class
|
31
32
|
class CheckRabbitStomp < Sensu::Plugin::Check::CLI
|
@@ -65,6 +66,11 @@ class CheckRabbitStomp < Sensu::Plugin::Check::CLI
|
|
65
66
|
long: '--queue QUEUE',
|
66
67
|
default: 'aliveness-test'
|
67
68
|
|
69
|
+
option :ini,
|
70
|
+
description: 'Configuration ini file',
|
71
|
+
short: '-i',
|
72
|
+
long: '--ini VALUE'
|
73
|
+
|
68
74
|
def run
|
69
75
|
res = vhost_alive?
|
70
76
|
|
@@ -78,11 +84,21 @@ class CheckRabbitStomp < Sensu::Plugin::Check::CLI
|
|
78
84
|
end
|
79
85
|
|
80
86
|
def vhost_alive?
|
87
|
+
if config[:ini]
|
88
|
+
ini = IniFile.load(config[:ini])
|
89
|
+
section = ini['auth']
|
90
|
+
username = section['username']
|
91
|
+
password = section['password']
|
92
|
+
else
|
93
|
+
username = config[:username]
|
94
|
+
password = config[:password]
|
95
|
+
end
|
96
|
+
|
81
97
|
hash = {
|
82
98
|
hosts: [
|
83
99
|
{
|
84
|
-
login:
|
85
|
-
passcode:
|
100
|
+
login: username,
|
101
|
+
passcode: password,
|
86
102
|
host: config[:host],
|
87
103
|
port: config[:port],
|
88
104
|
ssl: config[:ssl]
|
@@ -39,6 +39,7 @@
|
|
39
39
|
require 'sensu-plugin/metric/cli'
|
40
40
|
require 'socket'
|
41
41
|
require 'carrot-top'
|
42
|
+
require 'inifile'
|
42
43
|
|
43
44
|
# main plugin class
|
44
45
|
class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
@@ -53,9 +54,9 @@ class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
53
54
|
proc: proc(&:to_i),
|
54
55
|
default: 15_672
|
55
56
|
|
56
|
-
option :
|
57
|
+
option :username,
|
57
58
|
description: 'RabbitMQ management API user',
|
58
|
-
long: '--
|
59
|
+
long: '--username USER',
|
59
60
|
default: 'guest'
|
60
61
|
|
61
62
|
option :password,
|
@@ -74,13 +75,28 @@ class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
74
75
|
boolean: true,
|
75
76
|
default: false
|
76
77
|
|
78
|
+
option :ini,
|
79
|
+
description: 'Configuration ini file',
|
80
|
+
short: '-i',
|
81
|
+
long: '--ini VALUE'
|
82
|
+
|
77
83
|
def acquire_rabbitmq_info
|
78
84
|
begin
|
85
|
+
if config[:ini]
|
86
|
+
ini = IniFile.load(config[:ini])
|
87
|
+
section = ini['auth']
|
88
|
+
username = section['username']
|
89
|
+
password = section['password']
|
90
|
+
else
|
91
|
+
username = config[:username]
|
92
|
+
password = config[:password]
|
93
|
+
end
|
94
|
+
|
79
95
|
rabbitmq_info = CarrotTop.new(
|
80
96
|
host: config[:host],
|
81
97
|
port: config[:port],
|
82
|
-
user:
|
83
|
-
password:
|
98
|
+
user: username,
|
99
|
+
password: password,
|
84
100
|
ssl: config[:ssl]
|
85
101
|
)
|
86
102
|
rescue
|
@@ -29,6 +29,7 @@
|
|
29
29
|
require 'sensu-plugin/metric/cli'
|
30
30
|
require 'socket'
|
31
31
|
require 'carrot-top'
|
32
|
+
require 'inifile'
|
32
33
|
|
33
34
|
# main plugin class
|
34
35
|
class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
@@ -48,9 +49,9 @@ class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
48
49
|
short: '-v',
|
49
50
|
long: '--vhost VHOST'
|
50
51
|
|
51
|
-
option :
|
52
|
+
option :username,
|
52
53
|
description: 'RabbitMQ management API user',
|
53
|
-
long: '--
|
54
|
+
long: '--username USER',
|
54
55
|
default: 'guest'
|
55
56
|
|
56
57
|
option :password,
|
@@ -73,13 +74,28 @@ class RabbitMQMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
73
74
|
boolean: true,
|
74
75
|
default: false
|
75
76
|
|
77
|
+
option :ini,
|
78
|
+
description: 'Configuration ini file',
|
79
|
+
short: '-i',
|
80
|
+
long: '--ini VALUE'
|
81
|
+
|
76
82
|
def acquire_rabbitmq_queues
|
77
83
|
begin
|
84
|
+
if config[:ini]
|
85
|
+
ini = IniFile.load(config[:ini])
|
86
|
+
section = ini['auth']
|
87
|
+
username = section['username']
|
88
|
+
password = section['password']
|
89
|
+
else
|
90
|
+
username = config[:username]
|
91
|
+
password = config[:password]
|
92
|
+
end
|
93
|
+
|
78
94
|
rabbitmq_info = CarrotTop.new(
|
79
95
|
host: config[:host],
|
80
96
|
port: config[:port],
|
81
|
-
user:
|
82
|
-
password:
|
97
|
+
user: username,
|
98
|
+
password: password,
|
83
99
|
ssl: config[:ssl]
|
84
100
|
)
|
85
101
|
rescue
|
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:
|
4
|
+
version: 3.0.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-05-
|
11
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 2.0.1
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: inifile
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.0.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.0.0
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: bundler
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|