79 lines
1.7 KiB
Bash
Executable file
79 lines
1.7 KiB
Bash
Executable file
#!/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 }'
|
|
|