continuent-monitors-nagios 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60203361964ac8d706856a89fc647718397ff0da
4
- data.tar.gz: 2fea9bf7b3eae5c677ca6e86c2eed161b05685a7
3
+ metadata.gz: 4adb289e16938bc7425f2202c7346b1d25a33711
4
+ data.tar.gz: 6b0616429d4309d9141e996b3e0a4df3164e8135
5
5
  SHA512:
6
- metadata.gz: 01cb000948c067999c226ae4ba5c93497af8cee17a1b569ca6a8dfd409ae025bce405eae2bf84044c8e5716de99f19d8c7d00b271379abb85232b391573adc77
7
- data.tar.gz: c060c48c6e90ba06b3e3e6d9b212ad3a665ed9709c391f1263d8a10e13510cb22dfef71acc057998b318e255816617445c2aaeb00b65fcbde20fdbad91327f3f
6
+ metadata.gz: d2c8ea7d429a8e4140bffdf7232d27839f08b2452ace4c905e1fe8416172c342cdcaf53fd78dda29122e5d179c93fb56a43ab6675a513d0e5769b6724f1bec57
7
+ data.tar.gz: 86197aee006dee89a0e0ad2845cdf16472d0c8284e860ed249396d1e0c54ccee8e4c79ac4ec5a9dacdb348bdd9d17669bead61aa60de1210e5a48c9a9373c21e
data/README.md CHANGED
@@ -3,6 +3,16 @@ continuent-monitors-nagios
3
3
 
4
4
  A Ruby Gem containing Nagios checks for Continuent Tungsten and Tungsten Replicator
5
5
 
6
+ ## Installation
7
+
8
+ ```gem install continuent-monitors-nagios```
9
+
10
+ ## Example Nagios Service Check
11
+
12
+ ```
13
+ check_by_ssh -H $HOSTADDRESS$ -t 30 -o="StrictHostKeyChecking=no" -C "sudo -u tungsten /usr/bin/tungsten_nagios_latency -w 60 -c 120 --directory=/opt/continuent/"
14
+ ```
15
+
6
16
  ## Other useful projects
7
17
 
8
18
  * https://github.com/Ericbla/check_jstat
@@ -56,6 +56,7 @@ class ContinuentNagiosMonitorLatency
56
56
 
57
57
  max_latency = 0
58
58
  errors = []
59
+ info = []
59
60
  perslave_performance_data = []
60
61
 
61
62
  status = TI.status(opt(:service))
@@ -86,7 +87,7 @@ class ContinuentNagiosMonitorLatency
86
87
 
87
88
  latency = latency.to_s().to_f()
88
89
  if is_critical?(latency) || is_warning?(latency)
89
- errors << "#{hostname}=#{latency}s"
90
+ info << "#{hostname}=#{latency}s"
90
91
  end
91
92
 
92
93
  if latency > max_latency
@@ -106,10 +107,12 @@ class ContinuentNagiosMonitorLatency
106
107
  @perfdata << "max_latency=#{max_latency};#{opt(:warning_level)};#{opt(:critical_level)};;"
107
108
  end
108
109
 
109
- if is_critical?(max_latency)
110
- critical(errors.join(', '))
110
+ if errors.size() > 0
111
+ critical((errors+info).join(', '))
112
+ elsif is_critical?(max_latency)
113
+ critical(info.join(', '))
111
114
  elsif is_warning?(max_latency)
112
- warning(errors.join(', '))
115
+ warning(info.join(', '))
113
116
  else
114
117
  ok("All slaves are running normally (max_latency=#{max_latency})")
115
118
  end
@@ -156,4 +159,4 @@ class ContinuentNagiosMonitorLatency
156
159
  end
157
160
 
158
161
  self.new().run()
159
- end
162
+ end
@@ -0,0 +1,86 @@
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2014 Continuent, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
5
+ # not use this file except in compliance with the License. You may obtain
6
+ # a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations
14
+ # under the License.
15
+ #
16
+ # Initial developer(s): Jeff Mace
17
+ # Contributor(s):
18
+
19
+ begin
20
+ require 'rubygems'
21
+ gem 'continuent-tools-core'
22
+ rescue LoadError
23
+ end
24
+
25
+ require 'continuent-tools-core'
26
+ require 'continuent-tools-nagios-monitor'
27
+
28
+ class ContinuentNagiosManagedConfiguration
29
+ include TungstenScript
30
+ include TungstenNagiosMonitor
31
+ private
32
+
33
+ def main
34
+ unless File.exist?(opt(:lastrun))
35
+ critical("The #{opt(:lastrun)} file is not present")
36
+ end
37
+
38
+ begin
39
+ last_exit_code = File.new(opt(:lastrun)).read().chomp()
40
+
41
+ if last_exit_code.to_s() != "0"
42
+ critical("The last run of tungsten_manage_configuration was not successful")
43
+ end
44
+ rescue
45
+ critical("There were issues reading #{opt(:lastrun)}")
46
+ end
47
+
48
+ begin
49
+ mtime = File.mtime(opt(:lastrun))
50
+ difference = Time.now()-mtime
51
+ add_perfdata("lastrun", "#{difference};#{opt(:warning_level)};#{opt(:critical_level)};")
52
+
53
+ if is_critical?(difference)
54
+ critical("The tungsten_manage_configuration script last ran #{difference}s ago")
55
+ elsif is_warning?(difference)
56
+ warning("The tungsten_manage_configuration script last ran #{difference}s ago")
57
+ else
58
+ ok("The tungsten_manage_configuration script was successful")
59
+ end
60
+ rescue
61
+ critical("There were issues reading #{opt(:lastrun)} modification time")
62
+ end
63
+ end
64
+
65
+ def configure
66
+ super()
67
+
68
+ add_option(:lastrun, {
69
+ :on => "--lastrun String",
70
+ :help => "Path to the lastrun file written by tungsten_manage_configuration",
71
+ :required => true
72
+ })
73
+
74
+ description("Check that the local managed configuration has run recently and was successful")
75
+ end
76
+
77
+ def script_name
78
+ "tungsten_nagios_managed_configuration"
79
+ end
80
+
81
+ def uses_thresholds?
82
+ true
83
+ end
84
+
85
+ self.new().run()
86
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: continuent-monitors-nagios
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Continuent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-18 00:00:00.000000000 Z
11
+ date: 2014-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: continuent-tools-monitoring
@@ -30,6 +30,7 @@ executables:
30
30
  - tungsten_nagios_backups
31
31
  - tungsten_nagios_connector
32
32
  - tungsten_nagios_latency
33
+ - tungsten_nagios_managed_configuration
33
34
  - tungsten_nagios_monitor_threads
34
35
  - tungsten_nagios_online
35
36
  - tungsten_nagios_policy
@@ -41,6 +42,7 @@ files:
41
42
  - bin/tungsten_nagios_backups
42
43
  - bin/tungsten_nagios_connector
43
44
  - bin/tungsten_nagios_latency
45
+ - bin/tungsten_nagios_managed_configuration
44
46
  - bin/tungsten_nagios_monitor_threads
45
47
  - bin/tungsten_nagios_online
46
48
  - bin/tungsten_nagios_policy