summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--global/overlay/etc/puppet/modules/sunet/manifests/nagios.pp17
-rwxr-xr-xglobal/overlay/etc/puppet/modules/sunet/templates/nagioshost/check_reboot.erb37
2 files changed, 49 insertions, 5 deletions
diff --git a/global/overlay/etc/puppet/modules/sunet/manifests/nagios.pp b/global/overlay/etc/puppet/modules/sunet/manifests/nagios.pp
index c09679d..91ccf6c 100644
--- a/global/overlay/etc/puppet/modules/sunet/manifests/nagios.pp
+++ b/global/overlay/etc/puppet/modules/sunet/manifests/nagios.pp
@@ -6,12 +6,12 @@ class sunet::nagios {
package {'nagios-nrpe-server':
ensure => 'installed',
- } ->
+ }
service {'nagios-nrpe-server':
ensure => 'running',
enable => 'true',
require => Package['nagios-nrpe-server'],
- } ->
+ }
file { "/etc/nagios/nrpe.cfg" :
notify => Service['nagios-nrpe-server'],
ensure => 'file',
@@ -19,20 +19,27 @@ class sunet::nagios {
group => 'nagios',
require => Package['nagios-nrpe-server'],
content => template('sunet/nagioshost/nrpe.cfg.erb'),
- } ->
+ }
file { "/usr/lib/nagios/plugins/check_uptime.pl" :
ensure => 'file',
mode => '0751',
group => 'nagios',
require => Package['nagios-nrpe-server'],
content => template('sunet/nagioshost/check_uptime.pl.erb'),
- } ->
+ }
+ file { "/usr/lib/nagios/plugins/check_reboot" :
+ ensure => 'file',
+ mode => '0751',
+ group => 'nagios',
+ require => Package['nagios-nrpe-server'],
+ content => template('sunet/nagioshost/check_reboot.erb'),
+ }
ufw::allow { "allow-nrpe-v4":
from => "${nagios_ip_v4}",
ip => 'any',
proto => 'tcp',
port => 5666
- } ->
+ }
ufw::allow { "allow-nrpe-v6":
from => "${nagios_ip_v6}",
ip => 'any',
diff --git a/global/overlay/etc/puppet/modules/sunet/templates/nagioshost/check_reboot.erb b/global/overlay/etc/puppet/modules/sunet/templates/nagioshost/check_reboot.erb
new file mode 100755
index 0000000..aa0bd5d
--- /dev/null
+++ b/global/overlay/etc/puppet/modules/sunet/templates/nagioshost/check_reboot.erb
@@ -0,0 +1,37 @@
+#!/bin/bash
+declare -rx PROGNAME=${0##*/}
+declare -rx PROGPATH=${0%/*}/
+
+function cleanup {
+ #if [ -e "$TMPFILE" ] ; then
+ #rm "$TMPFILE"
+ #fi
+ exit $1
+}
+
+if [ -r "${PROGPATH}utils.sh" ] ; then
+ source "${PROGPATH}utils.sh"
+else
+ echo "Can't find utils.sh."
+ printf "Currently being run from %s\n" "$PROGPATH"
+ # since we couldn't define STATE_UNKNOWN since reading utils.sh failed, we use 3 here but everywhere else after this use cleanup $STATE
+ cleanup 3
+fi
+
+STATE=$STATE_UNKNOWN
+
+
+if [ -f /var/run/reboot-required.pkgs ]
+then
+ pkg=`cat /var/run/reboot-required.pkgs`
+fi
+
+if [ -f /var/run/reboot-required ]
+then
+ echo "Reboot WARNING: System reboot required by package $pkg"
+ cleanup $STATE_WARNING;
+fi
+ echo "Reboot OK: No reboot required"
+ cleanup $STATE_OK;
+cleanup $STATE;
+