diff options
Diffstat (limited to 'sysutils/munin-node/files/node/node.d.netbsd/interrupts.in')
-rwxr-xr-x | sysutils/munin-node/files/node/node.d.netbsd/interrupts.in | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/sysutils/munin-node/files/node/node.d.netbsd/interrupts.in b/sysutils/munin-node/files/node/node.d.netbsd/interrupts.in new file mode 100755 index 00000000000..9b0d315f9b2 --- /dev/null +++ b/sysutils/munin-node/files/node/node.d.netbsd/interrupts.in @@ -0,0 +1,93 @@ +#!/bin/sh +# +# Plugin to monitor the number of interrupts and context switches on a system. +# +# Idea and base from Ragnar Wisløff. +# +# Usage: Link or copy into /etc/munin/node.d/ +# +# $Log: interrupts.in,v $ +# Revision 1.1.1.1 2006/06/04 20:53:57 he +# Import the client version of the Munin system monitoring/graphing +# tool -- project homepage is at http://munin.sourceforge.net/ +# +# This package has added support for NetBSD, via a number of new plugin +# scripts where specific steps needs to be taken to collect information. +# +# I also modified the ntp_ plugin script to make it possible to not +# plot the NTP poll delay, leaving just jitter and offset, which IMO +# produces a more telling graph. +# +# +# +# Magic markers (optional - only used by munin-config and some +# installation scripts): +# +#%# family=auto +#%# capabilities=autoconf + +if [ "$1" = "autoconf" ]; then + if [ -x /usr/bin/vmstat ]; then + echo yes + exit 0 + else + echo no + exit 1 + fi +fi + +# If run with the "config"-parameter, give out information on how the +# graphs should look. + +if [ "$1" = "config" ]; then + # The title of the graph + echo 'graph_title Interrupts & context switches' + + # Arguments to "rrdtool graph". In this case, tell it that the + # lower limit of the graph is '0', and that 1k=1000 (not 1024) + echo 'graph_args --base 1000 -l 0' + # The Y-axis label + echo 'graph_vlabel interrupts & ctx switches / ${graph_period}' + # Graph category + echo 'graph_category system' + # Graph information + echo 'graph_info This graph shows the number of interrupts and context switches on the system. These are typically high on a busy system.' + + echo 'devint.info Device interrupts come from hardware (exceptions, NMI, IRQ)' + echo 'softint.info Software interrupts are typically deferred processing from hardware interrupts' + + echo 'ctx.info A context switch occurs when a multitasking operatings system suspends the currently running process, and starts executing another.' + + # The fields. "label" is used in the legend. "label" is the only + # required subfield. + echo 'devint.label device interrupts' + echo 'softint.label software interrupts' + echo 'ctx.label context switches' + + # Specify type + echo 'devint.type DERIVE' + echo 'softint.type DERIVE' + echo 'ctx.type DERIVE' + + # Set max (should always be done with counters) Note: this is max + # per second. + echo 'devint.max 100000' + echo 'softint.max 100000' + echo 'ctx.max 100000' + + echo 'devint.min 0' + echo 'softint.min 0' + echo 'ctx.min 0' + + # Last, if run with the "config"-parameter, quit here (don't + # display any data) + exit 0 +fi + +# The real work + +vmstat -s | awk ' +/device interrupts$/ { print "devint.value " $1; } +/context switches$/ { print "ctx.value " $1; } +/software interrupts$/ { print "softint.value " $1; } +' |