mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
78 lines
1.8 KiB
Bash
Executable File
78 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Script to monitor iostat cpu|tps.
|
|
#
|
|
# Parameters understood:
|
|
#
|
|
# config (required)
|
|
# autoconf (optional - used by munin-config)
|
|
|
|
judge=`basename $0 | sed 's/^iostat_//g'`
|
|
current=`date +%H":"%M":"%S`;
|
|
tenMago=`date --date "10 minutes ago" +%H":"%M":"%S`
|
|
export LANG=en_US.UTF-8
|
|
|
|
# autoconf
|
|
|
|
if [ "$1" == "autoconf" ]; then
|
|
if ( sar 1 1 >/dev/null 2>&1 ); then
|
|
echo yes
|
|
else
|
|
if [ $? -eq 127 ]; then
|
|
echo "no (could not run \"sar\")"
|
|
else
|
|
echo no
|
|
fi
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
ARRAY=( `sar -p -d -s ${tenMago} -e ${current} | grep -v nodev | grep "Average" | awk '{ print $2 , $3 , $10 }'` )
|
|
|
|
# config
|
|
|
|
if [ "$1" == "config" ]; then
|
|
if [ "$judge" == cpu_average ]; then
|
|
echo 'graph_title iostat util'
|
|
echo 'graph_args --upper-limit 100 -l 0'
|
|
echo 'graph_vlabel %'
|
|
echo 'graph_category System'
|
|
for (( i=0 ; i<${#ARRAY[*]} ; i++ )) ; do
|
|
echo "_dev_${ARRAY[i]}.label ${ARRAY[i]}"
|
|
i=`expr $i + 2`
|
|
done
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$judge" == tps_average ]; then
|
|
echo 'graph_title iostat tps'
|
|
echo 'graph_args -l 0'
|
|
echo 'graph_vlabel tps'
|
|
echo 'graph_category System'
|
|
for (( i=0 ; i<${#ARRAY[*]} ; i++ )) ; do
|
|
echo "_dev_${ARRAY[i]}.label ${ARRAY[i]}"
|
|
i=`expr $i + 2`
|
|
done
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# other
|
|
|
|
if [ "$judge" == cpu_average ]; then
|
|
for (( i=0 ; i<${#ARRAY[*]} ; i++ )) ; do
|
|
echo -n "_dev_${ARRAY[i]}.value "
|
|
i=`expr $i + 2`
|
|
echo "${ARRAY[i]}"
|
|
done
|
|
fi
|
|
|
|
if [ "$judge" == tps_average ]; then
|
|
for (( i=0 ; i<${#ARRAY[*]} ; i++ )) ; do
|
|
echo -n "_dev_${ARRAY[i]}.value "
|
|
i=`expr $i + 1`
|
|
echo "${ARRAY[i]}"
|
|
i=`expr $i + 1`
|
|
done
|
|
fi
|