puppet/munin/files/plugins/vmstat
2009-09-12 11:25:56 +03:00

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 }'