nagios 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -17,17 +17,25 @@ Subclass `Nagios::Plugin`, and define three methods:
17
17
  Example Plugin
18
18
  ==============
19
19
 
20
- In this trivial example, the plugin always measures 2, which is below both the warning and critical thresholds.
20
+ In this trivial example, the plugin always measures 2, which is below both the warning and critical thresholds. If critical status is reached, the custom `critical_msg` method is called; otherwise, the fallback message is just the measured value.
21
21
 
22
+ require 'rubygems'
22
23
  require 'nagios'
23
24
 
24
25
  class FooPlugin < Nagios::Plugin
26
+
25
27
  def critical(n)
26
28
  n > 5
27
29
  end
30
+
31
+ def critical_msg(n)
32
+ "OH NOES!!! THE VALUE IS #{n}"
33
+ end
34
+
28
35
  def warning(n)
29
36
  n > 3
30
37
  end
38
+
31
39
  def measure
32
40
  2
33
41
  end
@@ -11,11 +11,11 @@ module Nagios
11
11
  begin
12
12
  @value = measure
13
13
  if critical(@value)
14
- exit_with :critical, @value
14
+ exit_with :critical, get_msg(:critical, @value)
15
15
  elsif warning(@value)
16
- exit_with :warning, @value
16
+ exit_with :warning, get_msg(:warning, @value)
17
17
  else
18
- exit_with :ok, @value
18
+ exit_with :ok, get_msg(:ok, @value)
19
19
  end
20
20
  rescue => e
21
21
  exit_unknown e
@@ -42,9 +42,18 @@ module Nagios
42
42
  end
43
43
 
44
44
  private
45
+ def get_msg(level, value)
46
+ msg_method = "#{level}_msg".to_sym
47
+ if self.respond_to?(msg_method)
48
+ self.send(msg_method, value)
49
+ else
50
+ value
51
+ end
52
+ end
53
+
45
54
  def exit_with(level, value)
46
55
  @status = level.to_s.upcase
47
- msg = to_s(@value)
56
+ msg = to_s(value)
48
57
  if @status_used
49
58
  puts msg
50
59
  else
@@ -1,3 +1,3 @@
1
1
  module Nagios
2
- Version = VERSION = '0.0.1'
2
+ Version = VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nagios
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease: false
4
+ hash: 27
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jerry Chen
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-03 00:00:00 -05:00
19
- default_executable:
18
+ date: 2011-05-24 00:00:00 Z
20
19
  dependencies: []
21
20
 
22
21
  description: " Nagios-rb is a compact framework for writing Nagios plugins.\n"
@@ -36,7 +35,6 @@ files:
36
35
  - lib/nagios/version.rb
37
36
  - lib/nagios.rb
38
37
  - LICENSE
39
- has_rdoc: true
40
38
  homepage: http://github.com/jcsalterego/nagios-rb
41
39
  licenses: []
42
40
 
@@ -66,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
64
  requirements: []
67
65
 
68
66
  rubyforge_project:
69
- rubygems_version: 1.3.7
67
+ rubygems_version: 1.7.2
70
68
  signing_key:
71
69
  specification_version: 3
72
70
  summary: nagios-rb is a compact framework for writing Nagios plugins.