#!/bin/sh # # Plugin to monitor the number of procs in io-sleep and other wait # states. Uses `vmstat`. # # Parameters: # # config (required) # autoconf (optional - used by munin-config) # # $Log$ # Revision 1.4 2004/05/20 13:57:12 jimmyo # Set categories to some of the plugins. # # Revision 1.3 2004/01/30 14:40:08 jimmyo # Added max value to generic/vmstat plugin (Deb#225489). # # Revision 1.2 2004/01/29 19:00:42 jimmyo # Make vmstat plugin more portable (SF#882352). # # Revision 1.1 2004/01/02 18:50:00 jimmyo # Renamed occurrances of lrrd -> munin # # Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo # Import of LRRD CVS tree after renaming to Munin # # Revision 1.3 2003/12/06 16:32:29 jimmyo # Better names. Idea from Mike Fedyk. # # Revision 1.2 2003/11/07 17:43:16 jimmyo # Cleanups and log entries # # # # Magick markers (optional): #%# family=auto #%# capabilities=autoconf if [ "$1" = "autoconf" ]; then if ( vmstat 1 1 >/dev/null 2>&1 ); then echo yes exit 0 else if [ $? -eq 127 ]; then echo "no (could not run \"vmstat\")" exit 1 else echo no exit 1 fi fi fi if [ "$1" = "config" ]; then echo 'graph_title VMstat' echo 'graph_args --base 1000 -l 0' echo 'graph_vlabel process states' echo 'graph_category processes' echo 'total.label total' echo 'total.type GAUGE' echo 'total.max 500000' echo 'run.label runq' echo 'run.type GAUGE' echo 'run.max 500000' echo 'iowait.label iowait' echo 'iowait.type GAUGE' echo 'iowait.max 500000' echo 'sleep.label sleep/swapped' echo 'sleep.type GAUGE' echo 'sleep.max 500000' exit 0 fi echo "total.value `sysctl -n kern.nprocs`" vmstat 1 2 | awk '{run = $1; iowait = $2; sleep = $3} END { print "run.value " run "\niowait.value " iowait "\nsleep.value " sleep }'