nagiosplugin 1.1.2 → 1.2.0
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.
- data/lib/nagiosplugin/plugin.rb +28 -17
- data/lib/nagiosplugin/version.rb +1 -1
- data/spec/nagiosplugin/plugin_spec.rb +9 -3
- metadata +75 -105
data/lib/nagiosplugin/plugin.rb
CHANGED
|
@@ -30,22 +30,33 @@ module NagiosPlugin
|
|
|
30
30
|
unknown 'please overwrite the `check` method in your class'
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
33
|
+
# Return the service name, which will be displayed on stdout.
|
|
34
|
+
#
|
|
35
|
+
# By default this will be the upcased class name. If you want
|
|
36
|
+
# to name your service different than the class then overwrite
|
|
37
|
+
# this method.
|
|
38
|
+
#
|
|
39
|
+
# @return [String] the service name
|
|
40
|
+
def service
|
|
41
|
+
self.class.name.upcase
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Run check and return result in a nagios-compatible format.
|
|
45
|
+
#
|
|
46
|
+
# It will...
|
|
47
|
+
# - execute your check method
|
|
48
|
+
# - output the result in a nagios-compatible format (SERVICE STATUS: Message)
|
|
49
|
+
# - exit according to the status
|
|
50
|
+
def run
|
|
51
|
+
check
|
|
52
|
+
rescue StatusError => e
|
|
53
|
+
rescue => e
|
|
54
|
+
e = StatusError.new(:unknown, ([e.to_s, nil] + e.backtrace).join("\n"))
|
|
55
|
+
else
|
|
56
|
+
e = StatusError.new(:unknown, 'no status method was called')
|
|
57
|
+
ensure
|
|
58
|
+
puts [service, e.to_s].join(' ')
|
|
59
|
+
exit e.to_i
|
|
60
|
+
end
|
|
50
61
|
end
|
|
51
62
|
end
|
data/lib/nagiosplugin/version.rb
CHANGED
|
@@ -17,9 +17,9 @@ describe NagiosPlugin::Plugin do
|
|
|
17
17
|
@plugin.run
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
it 'should output the
|
|
21
|
-
|
|
22
|
-
@plugin.should_receive(:puts).with(/
|
|
20
|
+
it 'should output the servie name' do
|
|
21
|
+
@plugin.stub(:service).and_return('MY_FUNKY_PLUGIN')
|
|
22
|
+
@plugin.should_receive(:puts).with(/MY_FUNKY_PLUGIN/)
|
|
23
23
|
@plugin.run
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -89,4 +89,10 @@ describe NagiosPlugin::Plugin do
|
|
|
89
89
|
end
|
|
90
90
|
end
|
|
91
91
|
end
|
|
92
|
+
|
|
93
|
+
describe '#service' do
|
|
94
|
+
it 'should return the upcased class name' do
|
|
95
|
+
@plugin.service.should eql('MYPLUGIN')
|
|
96
|
+
end
|
|
97
|
+
end
|
|
92
98
|
end
|
metadata
CHANGED
|
@@ -1,116 +1,89 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nagiosplugin
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 1
|
|
8
|
-
- 1
|
|
9
|
-
- 2
|
|
10
|
-
version: 1.1.2
|
|
11
6
|
platform: ruby
|
|
12
|
-
authors:
|
|
13
|
-
-
|
|
7
|
+
authors:
|
|
8
|
+
- Björn Albers
|
|
14
9
|
autorequire:
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
date: 2012-04-02 00:00:00.000000000Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: rake
|
|
16
|
+
requirement: &70139107324480 !ruby/object:Gem::Requirement
|
|
22
17
|
none: false
|
|
23
|
-
requirements:
|
|
24
|
-
- -
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
|
|
27
|
-
segments:
|
|
28
|
-
- 0
|
|
29
|
-
version: "0"
|
|
30
|
-
requirement: *id001
|
|
18
|
+
requirements:
|
|
19
|
+
- - ! '>='
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '0'
|
|
31
22
|
type: :development
|
|
32
|
-
name: rake
|
|
33
23
|
prerelease: false
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
version_requirements: *70139107324480
|
|
25
|
+
- !ruby/object:Gem::Dependency
|
|
26
|
+
name: cucumber
|
|
27
|
+
requirement: &70139107323900 !ruby/object:Gem::Requirement
|
|
36
28
|
none: false
|
|
37
|
-
requirements:
|
|
38
|
-
- -
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
|
|
41
|
-
segments:
|
|
42
|
-
- 0
|
|
43
|
-
version: "0"
|
|
44
|
-
requirement: *id002
|
|
29
|
+
requirements:
|
|
30
|
+
- - ! '>='
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
45
33
|
type: :development
|
|
46
|
-
name: cucumber
|
|
47
34
|
prerelease: false
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
version_requirements: *70139107323900
|
|
36
|
+
- !ruby/object:Gem::Dependency
|
|
37
|
+
name: aruba
|
|
38
|
+
requirement: &70139107323300 !ruby/object:Gem::Requirement
|
|
50
39
|
none: false
|
|
51
|
-
requirements:
|
|
52
|
-
- -
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
|
|
55
|
-
segments:
|
|
56
|
-
- 0
|
|
57
|
-
version: "0"
|
|
58
|
-
requirement: *id003
|
|
40
|
+
requirements:
|
|
41
|
+
- - ! '>='
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '0'
|
|
59
44
|
type: :development
|
|
60
|
-
name: aruba
|
|
61
45
|
prerelease: false
|
|
62
|
-
|
|
63
|
-
|
|
46
|
+
version_requirements: *70139107323300
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: guard-cucumber
|
|
49
|
+
requirement: &70139107322640 !ruby/object:Gem::Requirement
|
|
64
50
|
none: false
|
|
65
|
-
requirements:
|
|
66
|
-
- -
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
|
|
69
|
-
segments:
|
|
70
|
-
- 0
|
|
71
|
-
version: "0"
|
|
72
|
-
requirement: *id004
|
|
51
|
+
requirements:
|
|
52
|
+
- - ! '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
73
55
|
type: :development
|
|
74
|
-
name: guard-cucumber
|
|
75
56
|
prerelease: false
|
|
76
|
-
|
|
77
|
-
|
|
57
|
+
version_requirements: *70139107322640
|
|
58
|
+
- !ruby/object:Gem::Dependency
|
|
59
|
+
name: rspec
|
|
60
|
+
requirement: &70139107322100 !ruby/object:Gem::Requirement
|
|
78
61
|
none: false
|
|
79
|
-
requirements:
|
|
80
|
-
- -
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
|
|
83
|
-
segments:
|
|
84
|
-
- 0
|
|
85
|
-
version: "0"
|
|
86
|
-
requirement: *id005
|
|
62
|
+
requirements:
|
|
63
|
+
- - ! '>='
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: '0'
|
|
87
66
|
type: :development
|
|
88
|
-
name: rspec
|
|
89
67
|
prerelease: false
|
|
90
|
-
|
|
91
|
-
|
|
68
|
+
version_requirements: *70139107322100
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: guard-rspec
|
|
71
|
+
requirement: &70139107321640 !ruby/object:Gem::Requirement
|
|
92
72
|
none: false
|
|
93
|
-
requirements:
|
|
94
|
-
- -
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
|
|
97
|
-
segments:
|
|
98
|
-
- 0
|
|
99
|
-
version: "0"
|
|
100
|
-
requirement: *id006
|
|
73
|
+
requirements:
|
|
74
|
+
- - ! '>='
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '0'
|
|
101
77
|
type: :development
|
|
102
|
-
name: guard-rspec
|
|
103
78
|
prerelease: false
|
|
79
|
+
version_requirements: *70139107321640
|
|
104
80
|
description: The one Nagios Plugin framework, forged in the fires of Mount Doom.
|
|
105
|
-
email:
|
|
81
|
+
email:
|
|
106
82
|
- bjoernalbers@googlemail.com
|
|
107
83
|
executables: []
|
|
108
|
-
|
|
109
84
|
extensions: []
|
|
110
|
-
|
|
111
85
|
extra_rdoc_files: []
|
|
112
|
-
|
|
113
|
-
files:
|
|
86
|
+
files:
|
|
114
87
|
- .gitignore
|
|
115
88
|
- .travis.yml
|
|
116
89
|
- Gemfile
|
|
@@ -131,38 +104,35 @@ files:
|
|
|
131
104
|
- spec/spec_helper.rb
|
|
132
105
|
homepage: https://github.com/bjoernalbers/nagiosplugin
|
|
133
106
|
licenses: []
|
|
134
|
-
|
|
135
107
|
post_install_message:
|
|
136
108
|
rdoc_options: []
|
|
137
|
-
|
|
138
|
-
require_paths:
|
|
109
|
+
require_paths:
|
|
139
110
|
- lib
|
|
140
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
111
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
112
|
none: false
|
|
142
|
-
requirements:
|
|
143
|
-
- -
|
|
144
|
-
- !ruby/object:Gem::Version
|
|
145
|
-
|
|
146
|
-
segments:
|
|
113
|
+
requirements:
|
|
114
|
+
- - ! '>='
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
segments:
|
|
147
118
|
- 0
|
|
148
|
-
|
|
149
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
|
+
hash: -1071120004356893242
|
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
121
|
none: false
|
|
151
|
-
requirements:
|
|
152
|
-
- -
|
|
153
|
-
- !ruby/object:Gem::Version
|
|
154
|
-
|
|
155
|
-
segments:
|
|
122
|
+
requirements:
|
|
123
|
+
- - ! '>='
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '0'
|
|
126
|
+
segments:
|
|
156
127
|
- 0
|
|
157
|
-
|
|
128
|
+
hash: -1071120004356893242
|
|
158
129
|
requirements: []
|
|
159
|
-
|
|
160
130
|
rubyforge_project:
|
|
161
|
-
rubygems_version: 1.8.
|
|
131
|
+
rubygems_version: 1.8.10
|
|
162
132
|
signing_key:
|
|
163
133
|
specification_version: 3
|
|
164
|
-
summary: nagiosplugin-1.
|
|
165
|
-
test_files:
|
|
134
|
+
summary: nagiosplugin-1.2.0
|
|
135
|
+
test_files:
|
|
166
136
|
- features/nagiosplugin_usage.feature
|
|
167
137
|
- features/steps/dev_steps.rb
|
|
168
138
|
- features/support/env.rb
|