Add check_sip_peer_simultaneous_channels check
This commit is contained in:
parent
07d7c293ae
commit
e10aa41401
1 changed files with 75 additions and 0 deletions
75
check_sip_peer_simultaneous_channels
Executable file
75
check_sip_peer_simultaneous_channels
Executable file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function usage() {
|
||||||
|
[ -n "$1" ] && echo "$1" && echo
|
||||||
|
echo "Usage : $0 [-cX] [-wX] [-d] [peer]"
|
||||||
|
echo " -h Show this help message"
|
||||||
|
echo " -d Enable debug mode"
|
||||||
|
echo " -c[X] Specify critical number of simultaneous channels"
|
||||||
|
echo " -w[X] Specify warning number of simultaneous channels"
|
||||||
|
echo " [peer] Specify the peer name"
|
||||||
|
}
|
||||||
|
|
||||||
|
function debug() {
|
||||||
|
[ $DEBUG -eq 1 ] && echo -e "$( date "+%Y/%m/%d %H:%M:%S" ) - $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
CRITICAL=10
|
||||||
|
WARNING=8
|
||||||
|
PEER=""
|
||||||
|
DEBUG=0
|
||||||
|
|
||||||
|
for arg in $@
|
||||||
|
do
|
||||||
|
if [ $( echo $arg|egrep -c '^-[cwdh][0-9]*$' ) -gt 0 ]
|
||||||
|
then
|
||||||
|
a=$( echo $arg|sed 's/^-\([cwdh]\).*$/\1/' )
|
||||||
|
v=$( echo $arg|sed 's/^-[cwdh]//' )
|
||||||
|
case $a in
|
||||||
|
c)
|
||||||
|
CRITICAL=$v
|
||||||
|
;;
|
||||||
|
w)
|
||||||
|
WARNING=$v
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
DEBUG=1
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
PEER="$arg"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
[ -z "$PEER" ] && usage "You must specify peer name" && exit 1
|
||||||
|
|
||||||
|
debug "Parameters : Warning = $WARNING / Critical = $CRITICAL"
|
||||||
|
[ $WARNING -gt $CRITICAL ] && usage "Warning number of simultaneous channels must be lower than critical one" && exit 1
|
||||||
|
|
||||||
|
number=$( /usr/bin/sudo -u root /usr/sbin/rasterisk -rnx "core show channels concise"|cut -d'!' -f1|grep -Ec "^SIP/$PEER-" )
|
||||||
|
if [ ! -n "$number" ]
|
||||||
|
then
|
||||||
|
echo "UNKNOW - Fail to retreive number of simultaneous channels of SIP peer $PEER"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
debug "Peer $PEER simultaneous channels : $number"
|
||||||
|
|
||||||
|
if [ $number -gt $CRITICAL ]
|
||||||
|
then
|
||||||
|
st='CRITICAL'
|
||||||
|
ec=2
|
||||||
|
elif [ $number -gt $WARNING ]
|
||||||
|
then
|
||||||
|
st='WARNING'
|
||||||
|
ec=1
|
||||||
|
else
|
||||||
|
st=OK
|
||||||
|
ec=0
|
||||||
|
fi
|
||||||
|
echo "$st - $number simultaneous channels with SIP peer $PEER|'simultaneous channels':$number;$WARNING;$CRITICAL;0;$"
|
||||||
|
exit $ec
|
Loading…
Reference in a new issue