contrib-munin/plugins/ipvs/ipvs_cps

77 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# -*- bash -*-
: << =cut
=head1 NAME
ipvs_conn -Indicate the number of connections per second
=head1 CONFIGURATION
[ipvs_*]
user root
env.ips IP1 IP2
=head1 AUTHOR
Ricardo Fraile <rfrail3@yahoo.es>
=head1 LICENSE
GPLv2
=head1 MAGICK MARKERS
#%# family=auto
#%# capabilities=autoconf
=cut
. $MUNIN_LIBDIR/plugins/plugin.sh
IPLIST=$ips
if [ "$1" = "autoconf" ]; then
echo yes
exit 0
fi
if [ "$1" = "config" ]; then
echo 'graph_title Ipvs connections per second'
echo 'graph_args --base 1000 -l 0 '
echo 'graph_vlabel Connections'
echo 'graph_scale no'
echo 'graph_category loadbalancer'
echo 'graph_info Indicate the number of connections per second.'
for IP in $IPLIST; do
NM=`echo $IP | md5sum | cut -d - -f1 | sed 's/ //g' | cut -b 5-9`
echo "a$NM.label $IP Connections"
echo "a$NM.type GAUGE"
echo "a$NM.min 0"
done
exit 0
fi
F1=`mktemp`
ipvsadm -l -n --rate| nl > $F1
for IP in $IPLIST; do
COUNT=`cat $F1 | grep -e TCP -e UDP | grep $IP | awk '{print $4}'`
NM=`echo $IP | md5sum | cut -d - -f1 | sed 's/ //g' | cut -b 5-9`
echo a$NM.value $COUNT
done
# Remove temp file
rm -f $F1