added nagios plugins
authorMarcel Haerry <haerry@puzzle.ch>
Tue, 22 Apr 2008 13:31:37 +0000 (15:31 +0200)
committerMarcel Haerry <haerry@puzzle.ch>
Tue, 22 Apr 2008 13:31:37 +0000 (15:31 +0200)
files/plugins/nagios_hosts [new file with mode: 0755]
files/plugins/nagios_perf_ [new file with mode: 0755]
files/plugins/nagios_svc [new file with mode: 0755]
manifests/plugin.pp

diff --git a/files/plugins/nagios_hosts b/files/plugins/nagios_hosts
new file mode 100755 (executable)
index 0000000..04fe8ed
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+if [ "$1" = "config" ]; then
+       echo 'graph_title Nagios host stats'
+       echo 'graph_args --base 1000 -l 0'
+       echo 'graph_vlabel hosts'
+       echo 'graph_category nagios'
+       echo 'graph_info The number of hosts checked by nagios'
+       echo 'up.label up'
+       echo 'up.draw AREA'
+       echo 'up.info number of hosts UP'
+       echo 'down.label down'
+       echo 'down.draw STACK'
+       echo 'down.info number of hosts DOWN'
+       echo 'unr.label unr'
+       echo 'unr.draw STACK'
+       echo 'unr.info number of hosts UNREACHABLE'
+
+       exit 0
+fi
+
+echo -n 'up.value '
+nagios2stats --mrtg --data NUMHSTUP
+echo -n 'down.value '
+nagios2stats --mrtg --data NUMHSTDOWN
+echo -n 'unr.value '
+nagios2stats --mrtg --data NUMHSTUNR
+
diff --git a/files/plugins/nagios_perf_ b/files/plugins/nagios_perf_
new file mode 100755 (executable)
index 0000000..f819def
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+NAME=$(basename $0)
+
+TYPE=${NAME##nagios_perf_}
+
+[ "x$TYPE" = 'xhosts' ] && TYPE_ABBR=HST
+[ "x$TYPE" = 'xsvc' ] && TYPE_ABBR=SVC
+[ -z "$TYPE_ABBR" ] && echo "unknown type $TYPE" >&2 && exit 1
+
+if [ "$1" = "config" ]; then
+       echo "graph_title Nagios $TYPE performance stats"
+       echo "graph_args --base 1000"
+       echo "graph_vlabel seconds"
+       echo "graph_category nagios"
+       echo "graph_info Check performance statistics"
+
+       echo "act_lat_$TYPE_ABBR.label act lat"
+       echo "act_lat_$TYPE_ABBR.type GAUGE"
+       echo "act_lat_$TYPE_ABBR.draw AREA"
+       echo "act_lat_$TYPE_ABBR.cdef act_lat_$TYPE_ABBR,1000,/"
+       echo "act_lat_$TYPE_ABBR.info average latency of active checks over the last 5 minutes"
+
+       echo "act_ext_$TYPE_ABBR.label act ext"
+       echo "act_ext_$TYPE_ABBR.type GAUGE"
+       echo "act_ext_$TYPE_ABBR.draw LINE1"
+       echo "act_ext_$TYPE_ABBR.cdef act_ext_$TYPE_ABBR,1000,/"
+       echo "act_ext_$TYPE_ABBR.info average execution time of active checks over the last 5 minutes"
+
+       exit 0
+fi
+
+echo "act_lat_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}LAT)
+echo "act_ext_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}EXT)
+
diff --git a/files/plugins/nagios_svc b/files/plugins/nagios_svc
new file mode 100755 (executable)
index 0000000..3938999
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+if [ "$1" = "config" ]; then
+       echo 'graph_title Nagios service stats'
+       echo 'graph_args --base 1000 -l 0'
+       echo 'graph_vlabel services'
+       echo 'graph_category nagios'
+       echo 'graph_info The number of services checked by nagios'
+       echo 'ok.label ok'
+       echo 'ok.draw AREA'
+       echo 'ok.info number of services OK'
+       echo 'warn.label warn'
+       echo 'warn.draw STACK'
+       echo 'warn.info number of services WARNING'
+       echo 'crit.label crit'
+       echo 'crit.draw STACK'
+       echo 'crit.info number of services CRITICAL'
+       echo 'unkn.label unkn'
+       echo 'unkn.draw STACK'
+       echo 'unkn.info number of services UNKNOWN'
+
+       exit 0
+fi
+
+echo -n 'ok.value '
+nagios2stats --mrtg --data NUMSVCOK
+echo -n 'warn.value '
+nagios2stats --mrtg --data NUMSVCWARN
+echo -n 'crit.value '
+nagios2stats --mrtg --data NUMSVCCRIT
+echo -n 'unkn.value '
+nagios2stats --mrtg --data NUMSVCUNKN
+
index 36773ee..40e7f47 100644 (file)
@@ -230,10 +230,10 @@ class munin::plugins::postgres inherits munin::plugins::base {
     munin::plugin::deploy { "pg__locks": ensure => false }
 }
 class munin::plugins::nagios inherits munin::plugins::base {
-    munin::plugin {
-        nagios_hosts: script_path => "/usr/local/bin", config => 'user root';
-        nagios_svc: script_path => "/usr/local/bin", config => 'user root';
-        nagios_perf_hosts: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root';
-        nagios_perf_svc: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root';
+    munin::plugin::deploy {
+        nagios_hosts: config => 'user root';
+        nagios_svc: config => 'user root';
+        nagios_perf_hosts: ensure => nagios_perf_, config => 'user root';
+        nagios_perf_svc: ensure => nagios_perf_, config => 'user root';
     }
 }