From fd83ae45a94213366b069b1e0278868129430006 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 15:31:37 +0200 Subject: added nagios plugins --- files/plugins/nagios_hosts | 28 ++++++++++++++++++++++++++++ files/plugins/nagios_perf_ | 35 +++++++++++++++++++++++++++++++++++ files/plugins/nagios_svc | 33 +++++++++++++++++++++++++++++++++ manifests/plugin.pp | 10 +++++----- 4 files changed, 101 insertions(+), 5 deletions(-) create mode 100755 files/plugins/nagios_hosts create mode 100755 files/plugins/nagios_perf_ create mode 100755 files/plugins/nagios_svc diff --git a/files/plugins/nagios_hosts b/files/plugins/nagios_hosts new file mode 100755 index 0000000..04fe8ed --- /dev/null +++ b/files/plugins/nagios_hosts @@ -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 index 0000000..f819def --- /dev/null +++ b/files/plugins/nagios_perf_ @@ -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 index 0000000..3938999 --- /dev/null +++ b/files/plugins/nagios_svc @@ -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 + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 36773ee..40e7f47 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -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'; } } -- cgit v1.2.3