contrib-munin/plugins/solaris/zones_cpu

59 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#%# family=auto
#%# capabilities=autoconf
PRSTAT=/usr/bin/prstat
PRSTAT_OPTS="-Z -n 1,99 1 1"
if [ "$1" = 'autoconf' ]; then
if [ -f $PRSTAT ]; then
zones=`/usr/sbin/zoneadm list | wc -l`
if [ $zones -gt 1 ]; then
echo yes
else
echo no
fi
else
echo no
fi
exit 0
fi
if [ "$1" = 'config' ]; then
echo 'graph_title zone cpu usage'
echo 'graph_args --upper-limit 100'
echo 'graph_category system'
stack=AREA
$PRSTAT $PRSTAT_OPTS | sed '1,/^ZONEID/d' | grep -v '^Total' | while read i; do
oIFS="$IFS"
IFS='
'
set -$- $i
name=$1
label=$8
printf "$name.label $label\n$name.draw $stack\n$name.warn 95\n"
IFS="$oIFS"
stack=STACK
done
exit 0
fi
# ZONEID NPROC SWAP RSS MEMORY TIME CPU ZONE $
# 0 48 470M 482M 1.5% 4:05:57 0.0% global $
# 3 85 2295M 2369M 7.2% 0:36:36 0.0% pearljam $
# 6 74 13G 3273M 10% 16:51:18 0.0% ministry $
# Total: 207 processes, 709 lwps, load averages: 0.05, 0.06, 0.11$
$PRSTAT $PRSTAT_OPTS | sed '1,/^ZONEID/d' | grep -v '^Total' | while read i; do
oIFS="$IFS"
IFS='%
'
set -$- $i
name=$1
value=$7
printf "$name.value $value\n"
IFS="$oIFS"
done