sensu-plugins-supervisor-boutetnico 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +1 -0
- data/LICENSE +22 -0
- data/README.md +195 -0
- data/bin/check-supervisor-socket.rb +106 -0
- data/bin/check-supervisor.rb +97 -0
- data/ext/mkrf_conf.rb +28 -0
- data/lib/sensu-plugins-supervisor.rb +1 -0
- data/lib/sensu-plugins-supervisor/version.rb +9 -0
- metadata +229 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d9b11eaaf09f66aceb196d813fdc9ffc99424b6d
|
4
|
+
data.tar.gz: 86770152b7cdddccd2d048dd29e09f873c96a79f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4ab5d98824a632e463d59b550cfda686246bf967d011f27cbb2a5102001f603b4e2734340ec9e0874f092ad89b557b113fc17c8fe4065fffac5125f00c3acae2
|
7
|
+
data.tar.gz: 2cf86191bf8854a1ab3d038636f7b86a17fb4e2060612fa79a7e53bc47b4a1e63ca6652967c891091b0232711b4eedbe81057a21971683472287e35e61ea3946
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Can be found at [https://github.com/boutetnico/sensu-plugins-supervisor/releases](https://github.com/boutetnico/sensu-plugins-supervisor/releases).
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Sensu-Plugins
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
## Sensu-Plugins-supervisor
|
2
|
+
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/sensu-plugins-supervisor-boutetnico.svg)](https://badge.fury.io/rb/sensu-plugins-supervisor-boutetnico.svg)
|
4
|
+
[![Sensu Bonsai Asset](https://img.shields.io/badge/Bonsai-Download%20Me-brightgreen.svg?colorB=89C967&logo=sensu)](https://bonsai.sensu.io/assets/boutetnico/sensu-plugins-supervisor)
|
5
|
+
|
6
|
+
## This is an unofficial fork
|
7
|
+
|
8
|
+
This fork is automatically tested, built and published to [RubyGems](https://rubygems.org/gems/sensu-plugins-supervisor-boutetnico/) and [Bonsai](https://bonsai.sensu.io/assets/boutetnico/sensu-plugins-supervisor).
|
9
|
+
|
10
|
+
## Files
|
11
|
+
* bin/check-supervisor.rb
|
12
|
+
* bin/check-supervisor-socket.rb
|
13
|
+
|
14
|
+
## Usage
|
15
|
+
|
16
|
+
## Installation
|
17
|
+
|
18
|
+
[Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
|
19
|
+
|
20
|
+
### Some extra info on a hack regarding xmlrpc
|
21
|
+
So in ruby 2.4 they removed `xmlrpc` from stdlib and made it a ruby gem. As this gem is only installable on 2.3 (according to doc but most users report being unable to install in 2.3) this creates problems. On the surface you might think that we could do something like this in the `.gemspec`:
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
if RUBY_VERSION >= "2.4"
|
25
|
+
installer.install "xmlrpc", "~> 0.3"
|
26
|
+
end
|
27
|
+
```
|
28
|
+
|
29
|
+
However this is not something we need evaluated at build time but actually at install time. Ruby does not have a great way of doing this but we can accomplish this by using a c extension to force this behavior at run time. This was based off: http://www.programmersparadox.com/2012/05/21/gemspec-loading-dependent-gems-based-on-the-users-system/
|
30
|
+
|
31
|
+
### Testing this behavior
|
32
|
+
I have included 2 dockerfiles to test installing on ruby 2.3 and ruby 2.4.
|
33
|
+
|
34
|
+
#### Building
|
35
|
+
Ruby 2.2:
|
36
|
+
```
|
37
|
+
$ docker build -f Dockerfile-ruby2.2 .
|
38
|
+
Sending build context to Docker daemon 221.2kB
|
39
|
+
Step 1/6 : FROM ruby:2.2-slim
|
40
|
+
2.2-slim: Pulling from library/ruby
|
41
|
+
10a267c67f42: Already exists
|
42
|
+
0aaa89427703: Already exists
|
43
|
+
4e4351445696: Already exists
|
44
|
+
72c399ee88ad: Pull complete
|
45
|
+
cd4fc9895ed7: Pull complete
|
46
|
+
00facae99acf: Pull complete
|
47
|
+
Digest: sha256:9f39e5306ac98b6ff46a7f5247ace88b4e3723a3fe04dcfa317cabed07dadd8f
|
48
|
+
Status: Downloaded newer image for ruby:2.2-slim
|
49
|
+
---> 81e5c2fd16a9
|
50
|
+
Step 2/6 : RUN mkdir /usr/src/app
|
51
|
+
---> Running in f92de1d4ae5a
|
52
|
+
---> 7e0786e64a4a
|
53
|
+
Removing intermediate container f92de1d4ae5a
|
54
|
+
Step 3/6 : ADD . /usr/src/app
|
55
|
+
---> 9d2cb5c24d80
|
56
|
+
Removing intermediate container e52c9e26d2cc
|
57
|
+
Step 4/6 : WORKDIR /usr/src/app
|
58
|
+
---> 94d1e262851f
|
59
|
+
Removing intermediate container 427d79912bd9
|
60
|
+
Step 5/6 : RUN apt-get update && apt-get install -y build-essential
|
61
|
+
---> Running in 62819ad68ade
|
62
|
+
<INTENTIONALLY_REMOVED_OUTPUT_FROM_APT>
|
63
|
+
---> 4ee671ec2163
|
64
|
+
Removing intermediate container 62819ad68ade
|
65
|
+
Step 6/6 : CMD ./docker-test
|
66
|
+
---> Running in 25d0d0e45692
|
67
|
+
---> d0339d43c554
|
68
|
+
Removing intermediate container 25d0d0e45692
|
69
|
+
Successfully built d0339d43c554
|
70
|
+
```
|
71
|
+
|
72
|
+
Ruby 2.3:
|
73
|
+
```
|
74
|
+
$ docker build -f Dockerfile-ruby2.3 .
|
75
|
+
Sending build context to Docker daemon 179.7kB
|
76
|
+
Step 1/6 : FROM ruby:2.3-slim
|
77
|
+
---> 684863def0d3
|
78
|
+
Step 2/6 : RUN mkdir /usr/src/app
|
79
|
+
---> Using cache
|
80
|
+
---> e62979ea3e34
|
81
|
+
Step 3/6 : ADD . /usr/src/app
|
82
|
+
---> 7bbdf2f16ff5
|
83
|
+
Removing intermediate container bdaf432e06fe
|
84
|
+
Step 4/6 : WORKDIR /usr/src/app
|
85
|
+
---> b9b014ac62a2
|
86
|
+
Removing intermediate container 0f9ebd7711ff
|
87
|
+
Step 5/6 : RUN apt-get update && apt-get install -y build-essential
|
88
|
+
---> Running in 06d6ce00c56d
|
89
|
+
<INTENTIONALLY_REMOVED_OUTPUT_FROM_APT>
|
90
|
+
---> 30e212e3dc48
|
91
|
+
Removing intermediate container 06d6ce00c56d
|
92
|
+
Step 6/6 : CMD ./docker-test
|
93
|
+
---> Running in a1205ff9acce
|
94
|
+
---> e9e3c5affbc0
|
95
|
+
Removing intermediate container a1205ff9acce
|
96
|
+
Successfully built e9e3c5affbc0
|
97
|
+
```
|
98
|
+
|
99
|
+
Ruby 2.4:
|
100
|
+
```
|
101
|
+
$ docker build -f Dockerfile-ruby2.4 .
|
102
|
+
Sending build context to Docker daemon 178.2kB
|
103
|
+
Step 1/6 : FROM ruby:2.4-slim
|
104
|
+
---> 6dd077757d49
|
105
|
+
Step 2/6 : RUN mkdir /usr/src/app
|
106
|
+
---> Using cache
|
107
|
+
---> 4f45395487f3
|
108
|
+
Step 3/6 : ADD . /usr/src/app
|
109
|
+
---> fd2af990b369
|
110
|
+
Removing intermediate container 6b5e7cc4a515
|
111
|
+
Step 4/6 : WORKDIR /usr/src/app
|
112
|
+
---> f2019fc2ae01
|
113
|
+
Removing intermediate container d471aea79711
|
114
|
+
Step 5/6 : RUN apt-get update && apt-get install -y build-essential
|
115
|
+
---> Running in 3f9106d17a3d
|
116
|
+
<INTENTIONALLY_REMOVED_OUTPUT_FROM_APT>
|
117
|
+
---> ae1a635f5731
|
118
|
+
Removing intermediate container 3f9106d17a3d
|
119
|
+
Step 6/6 : CMD ./docker-test
|
120
|
+
---> Running in ccc8b4be1d08
|
121
|
+
---> 6d927a3f6fd1
|
122
|
+
Removing intermediate container ccc8b4be1d08
|
123
|
+
Successfully built 6d927a3f6fd1
|
124
|
+
```
|
125
|
+
|
126
|
+
#### Validation
|
127
|
+
Ruby 2.2:
|
128
|
+
```
|
129
|
+
$ docker run d0339d43c554
|
130
|
+
WARNING: pessimistic dependency on ox (~> 2.5.0) may be overly strict
|
131
|
+
if ox is semantically versioned, use:
|
132
|
+
add_runtime_dependency 'ox', '~> 2.5', '>= 2.5.0'
|
133
|
+
WARNING: See http://guides.rubygems.org/specification-reference/ for help
|
134
|
+
Successfully built RubyGem
|
135
|
+
Name: sensu-plugins-supervisor
|
136
|
+
Version: 1.1.0
|
137
|
+
File: sensu-plugins-supervisor-1.1.0.gem
|
138
|
+
Successfully installed mixlib-cli-1.7.0
|
139
|
+
Successfully installed sensu-plugin-1.4.5
|
140
|
+
Successfully installed ruby-supervisor-0.0.2
|
141
|
+
Building native extensions. This could take a while...
|
142
|
+
Successfully installed ox-2.5.0
|
143
|
+
Building native extensions. This could take a while...
|
144
|
+
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
|
145
|
+
Successfully installed sensu-plugins-supervisor-1.1.0
|
146
|
+
5 gems installed
|
147
|
+
```
|
148
|
+
|
149
|
+
Ruby 2.3:
|
150
|
+
```
|
151
|
+
$ docker run e9e3c5affbc0
|
152
|
+
WARNING: pessimistic dependency on ox (~> 2.5.0) may be overly strict
|
153
|
+
if ox is semantically versioned, use:
|
154
|
+
add_runtime_dependency 'ox', '~> 2.5', '>= 2.5.0'
|
155
|
+
WARNING: See http://guides.rubygems.org/specification-reference/ for help
|
156
|
+
Successfully built RubyGem
|
157
|
+
Name: sensu-plugins-supervisor
|
158
|
+
Version: 1.1.0
|
159
|
+
File: sensu-plugins-supervisor-1.1.0.gem
|
160
|
+
Successfully installed mixlib-cli-1.7.0
|
161
|
+
Successfully installed sensu-plugin-1.4.5
|
162
|
+
Successfully installed ruby-supervisor-0.0.2
|
163
|
+
Building native extensions. This could take a while...
|
164
|
+
Successfully installed ox-2.5.0
|
165
|
+
Building native extensions. This could take a while...
|
166
|
+
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
|
167
|
+
Successfully installed sensu-plugins-supervisor-1.1.0
|
168
|
+
5 gems installed
|
169
|
+
```
|
170
|
+
|
171
|
+
Ruby 2.4:
|
172
|
+
```
|
173
|
+
$ docker run 6d927a3f6fd1
|
174
|
+
WARNING: pessimistic dependency on ox (~> 2.5.0) may be overly strict
|
175
|
+
if ox is semantically versioned, use:
|
176
|
+
add_runtime_dependency 'ox', '~> 2.5', '>= 2.5.0'
|
177
|
+
WARNING: See http://guides.rubygems.org/specification-reference/ for help
|
178
|
+
Successfully built RubyGem
|
179
|
+
Name: sensu-plugins-supervisor
|
180
|
+
Version: 1.1.0
|
181
|
+
File: sensu-plugins-supervisor-1.1.0.gem
|
182
|
+
Building native extensions. This could take a while...
|
183
|
+
Successfully installed json-1.8.6
|
184
|
+
Successfully installed mixlib-cli-1.7.0
|
185
|
+
Successfully installed sensu-plugin-1.4.5
|
186
|
+
Successfully installed ruby-supervisor-0.0.2
|
187
|
+
Building native extensions. This could take a while...
|
188
|
+
Successfully installed ox-2.5.0
|
189
|
+
Building native extensions. This could take a while...
|
190
|
+
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
|
191
|
+
Successfully installed sensu-plugins-supervisor-1.1.0
|
192
|
+
6 gems installed
|
193
|
+
```
|
194
|
+
|
195
|
+
## Notes
|
@@ -0,0 +1,106 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# check-supervisor-socket
|
4
|
+
#
|
5
|
+
#
|
6
|
+
# DESCRIPTION:
|
7
|
+
# Check that all supervisor processes are running using its UNIX domain socket. See unix_http_server section in
|
8
|
+
# http://supervisord.org/configuration.html.
|
9
|
+
#
|
10
|
+
# OUTPUT:
|
11
|
+
# Plain text, 'All processes running' or eg. 'redis-server not running: FATAL'
|
12
|
+
#
|
13
|
+
# PLATFORMS:
|
14
|
+
# Linux
|
15
|
+
#
|
16
|
+
# DEPENDENCIES:
|
17
|
+
# gem: sensu-plugin
|
18
|
+
# gem: ox
|
19
|
+
#
|
20
|
+
# USAGE:
|
21
|
+
# check-supervisor-socket.rb
|
22
|
+
#
|
23
|
+
# LICENSE:
|
24
|
+
# Mathias Bogaert, mathias.bogaert@gmail.com
|
25
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
26
|
+
# for details.
|
27
|
+
|
28
|
+
require 'sensu-plugin/check/cli'
|
29
|
+
|
30
|
+
require 'net/http'
|
31
|
+
require 'socket'
|
32
|
+
require 'xmlrpc/create'
|
33
|
+
require 'xmlrpc/parser'
|
34
|
+
require 'ox/xmlrpc_adapter'
|
35
|
+
|
36
|
+
class CheckSupervisorSocket < Sensu::Plugin::Check::CLI
|
37
|
+
option :socket,
|
38
|
+
description: 'Supervisor UNIX domain socket',
|
39
|
+
short: '-s SOCKET',
|
40
|
+
long: '--socket SOCKET',
|
41
|
+
default: '/var/run/supervisor.sock'
|
42
|
+
|
43
|
+
option :username,
|
44
|
+
description: 'Supervisor UNIX domain socket username',
|
45
|
+
short: '-u USERNAME',
|
46
|
+
long: '--username USERNAME'
|
47
|
+
|
48
|
+
option :password,
|
49
|
+
description: 'Supervisor UNIX domain socket password',
|
50
|
+
short: '-p PASSWORD',
|
51
|
+
long: '--password PASSWORD'
|
52
|
+
|
53
|
+
option :critical,
|
54
|
+
description: 'Supervisor states to consider critical',
|
55
|
+
short: '-c STATE[,STATE...]',
|
56
|
+
long: '--critical STATE[,STATE...]',
|
57
|
+
proc: proc { |v| v.upcase.split(',') },
|
58
|
+
default: ['FATAL']
|
59
|
+
|
60
|
+
option :help,
|
61
|
+
description: 'Show this message',
|
62
|
+
short: '-h',
|
63
|
+
long: '--help'
|
64
|
+
|
65
|
+
def run
|
66
|
+
if config[:help]
|
67
|
+
puts opt_parser
|
68
|
+
exit
|
69
|
+
end
|
70
|
+
|
71
|
+
begin
|
72
|
+
@super = Net::BufferedIO.new(UNIXSocket.new(config[:socket]))
|
73
|
+
rescue => e
|
74
|
+
critical "Tried to access UNIX domain socket #{config[:socket]} but failed: #{e}"
|
75
|
+
end
|
76
|
+
|
77
|
+
begin
|
78
|
+
request = Net::HTTP::Post.new('/RPC2')
|
79
|
+
request.content_type = 'text/xml'
|
80
|
+
request.basic_auth config[:username], config[:password] if config[:username]
|
81
|
+
request.body = XMLRPC::Create.new(XMLRPC::XMLWriter::Simple.new).methodCall('supervisor.getAllProcessInfo')
|
82
|
+
request.exec(@super, '1.1', '/RPC2')
|
83
|
+
|
84
|
+
# wait for and parse the http response
|
85
|
+
response = nil
|
86
|
+
loop do
|
87
|
+
response = Net::HTTPResponse.read_new(@super)
|
88
|
+
break unless response.is_a?(Net::HTTPContinue)
|
89
|
+
end
|
90
|
+
|
91
|
+
response.reading_body(@super, request.response_body_permitted?) {}
|
92
|
+
@super.close
|
93
|
+
|
94
|
+
success, result = Ox::StreamParser.new.parseMethodResponse(response.body)
|
95
|
+
raise unless success
|
96
|
+
rescue => e
|
97
|
+
critical "Tried requesting XMLRPC 'supervisor.getAllProcessInfo' from UNIX domain socket #{config[:socket]} but failed: #{e}"
|
98
|
+
end
|
99
|
+
|
100
|
+
result.each do |process|
|
101
|
+
critical "#{process['name']} not running: #{process['statename'].upcase}" if config[:critical].include?(process['statename'])
|
102
|
+
end
|
103
|
+
|
104
|
+
ok 'All processes running'
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# check-supervisor-socket
|
4
|
+
#
|
5
|
+
#
|
6
|
+
# DESCRIPTION:
|
7
|
+
# Check all supervisor processes are running#
|
8
|
+
#
|
9
|
+
# OUTPUT:
|
10
|
+
# Plain text, 'All processes running' or eg. 'redis-server not running: FATAL'
|
11
|
+
#
|
12
|
+
# PLATFORMS:
|
13
|
+
# Linux
|
14
|
+
#
|
15
|
+
# DEPENDENCIES:
|
16
|
+
# gem: sensu-plugin
|
17
|
+
# gem: ruby-supervisor
|
18
|
+
#
|
19
|
+
# USAGE:
|
20
|
+
# check-supervisor-socket.rb
|
21
|
+
#
|
22
|
+
# LICENSE:
|
23
|
+
# Copyright (c) 2013 Double Negative Limited and Johan van den Dorpe
|
24
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
25
|
+
# for details.
|
26
|
+
|
27
|
+
require 'sensu-plugin/check/cli'
|
28
|
+
require 'ruby-supervisor'
|
29
|
+
require 'set'
|
30
|
+
|
31
|
+
class CheckSupervisor < Sensu::Plugin::Check::CLI
|
32
|
+
option :host,
|
33
|
+
description: 'Hostname to check',
|
34
|
+
short: '-H HOST',
|
35
|
+
long: '--host HOST',
|
36
|
+
default: 'localhost'
|
37
|
+
|
38
|
+
option :port,
|
39
|
+
description: 'Supervisor port',
|
40
|
+
short: '-P PORT',
|
41
|
+
long: '--port PORT',
|
42
|
+
default: 9001
|
43
|
+
|
44
|
+
option :username,
|
45
|
+
description: 'Supervisor HTTP username',
|
46
|
+
short: '-u USERNAME',
|
47
|
+
long: '--username USERNAME'
|
48
|
+
|
49
|
+
option :password,
|
50
|
+
description: 'Supervisor HTTP password',
|
51
|
+
short: '-p PASSWORD',
|
52
|
+
long: '--password PASSWORD'
|
53
|
+
|
54
|
+
option :critical,
|
55
|
+
description: 'Supervisor states to consider critical',
|
56
|
+
short: '-c STATE[,STATE...]',
|
57
|
+
long: '--critical STATE[,STATE...]',
|
58
|
+
proc: proc { |v| v.upcase.split(',') },
|
59
|
+
default: ['FATAL']
|
60
|
+
|
61
|
+
option :help,
|
62
|
+
description: 'Show this message',
|
63
|
+
short: '-h',
|
64
|
+
long: '--help'
|
65
|
+
|
66
|
+
def run
|
67
|
+
if config[:help]
|
68
|
+
puts opt_parser
|
69
|
+
exit
|
70
|
+
end
|
71
|
+
|
72
|
+
params = {}
|
73
|
+
|
74
|
+
if config[:username]
|
75
|
+
params[:user] = config[:username]
|
76
|
+
end
|
77
|
+
|
78
|
+
if config[:password]
|
79
|
+
params[:password] = config[:password]
|
80
|
+
end
|
81
|
+
|
82
|
+
begin
|
83
|
+
@super = RubySupervisor::Client.new(config[:host], config[:port], params)
|
84
|
+
rescue => e
|
85
|
+
critical "Tried to access #{config[:host]} but failed: #{e}"
|
86
|
+
end
|
87
|
+
|
88
|
+
failed_processes = Set.new
|
89
|
+
@super.processes.each do |process|
|
90
|
+
failed_processes << "#{process['name']} not running: #{process['statename'].downcase}" if config[:critical].include?(process['statename'])
|
91
|
+
end
|
92
|
+
|
93
|
+
critical "\n#{failed_processes.to_a.join("\n")}" unless failed_processes.empty?
|
94
|
+
|
95
|
+
ok 'All processes running'
|
96
|
+
end
|
97
|
+
end
|
data/ext/mkrf_conf.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file needs to be named mkrf_conf.rb
|
2
|
+
# so that rubygems will recognize it as a ruby extension
|
3
|
+
# file and not think it is a C extension file
|
4
|
+
|
5
|
+
require 'rubygems/dependency_installer.rb'
|
6
|
+
|
7
|
+
# Load up the rubygem's dependency installer to
|
8
|
+
# installer the gems we want based on the version
|
9
|
+
# of Ruby the user has installed
|
10
|
+
|
11
|
+
installer = Gem::DependencyInstaller.new
|
12
|
+
|
13
|
+
begin
|
14
|
+
if RUBY_VERSION >= '2.4'
|
15
|
+
installer.install 'xmlrpc', '~> 0.3'
|
16
|
+
end
|
17
|
+
rescue => e
|
18
|
+
p e
|
19
|
+
# Exit with a non-zero value to let rubygems something went wrong
|
20
|
+
exit(1)
|
21
|
+
end
|
22
|
+
|
23
|
+
# If this was C, rubygems would attempt to run make
|
24
|
+
# Since this is Ruby, rubygems will attempt to run rake
|
25
|
+
# If it doesn't find and successfully run a rakefile, it errors out
|
26
|
+
f = File.open(File.join(File.dirname(__FILE__), 'Rakefile'), 'w')
|
27
|
+
f.write("task :default\n")
|
28
|
+
f.close
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'sensu-plugins-supervisor/version'
|
metadata
ADDED
@@ -0,0 +1,229 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sensu-plugins-supervisor-boutetnico
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sensu-Plugins and contributors
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-07-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ox
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.5.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.5.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ruby-supervisor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.0.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.0.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: sensu-plugin
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: codeclimate-test-reporter
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: github-markup
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.13'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.13'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '13.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '13.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: redcarpet
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.5'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.5'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '3.9'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '3.9'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.85.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.85.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: yard
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.9.25
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.9.25
|
181
|
+
description: |-
|
182
|
+
This plugin provides native supervisord instrumentation
|
183
|
+
for monitoring service status
|
184
|
+
email: "<sensu-users@googlegroups.com>"
|
185
|
+
executables:
|
186
|
+
- check-supervisor.rb
|
187
|
+
- check-supervisor-socket.rb
|
188
|
+
extensions:
|
189
|
+
- ext/mkrf_conf.rb
|
190
|
+
extra_rdoc_files: []
|
191
|
+
files:
|
192
|
+
- CHANGELOG.md
|
193
|
+
- LICENSE
|
194
|
+
- README.md
|
195
|
+
- bin/check-supervisor-socket.rb
|
196
|
+
- bin/check-supervisor.rb
|
197
|
+
- ext/mkrf_conf.rb
|
198
|
+
- lib/sensu-plugins-supervisor.rb
|
199
|
+
- lib/sensu-plugins-supervisor/version.rb
|
200
|
+
homepage: https://github.com/boutetnico/sensu-plugins-supervisor
|
201
|
+
licenses:
|
202
|
+
- MIT
|
203
|
+
metadata:
|
204
|
+
maintainer: sensu-plugin
|
205
|
+
production_status: unstable - testing recommended
|
206
|
+
release_draft: 'false'
|
207
|
+
release_prerelease: 'false'
|
208
|
+
post_install_message: You can use the embedded Ruby by setting EMBEDDED_RUBY=true
|
209
|
+
in /etc/default/sensu
|
210
|
+
rdoc_options: []
|
211
|
+
require_paths:
|
212
|
+
- lib
|
213
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
+
requirements:
|
215
|
+
- - ">="
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: '2.4'
|
218
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
requirements: []
|
224
|
+
rubyforge_project:
|
225
|
+
rubygems_version: 2.6.14.4
|
226
|
+
signing_key:
|
227
|
+
specification_version: 4
|
228
|
+
summary: Sensu plugins for working with supervisor
|
229
|
+
test_files: []
|