#!/bin/bash
#GetMqCurdepth()
#{
dismq=`dspmq`
status=`echo $dismq | cut -d ' ' -f2 | cut -d '(' -f2 | cut -d ')' -f1`
mq_name=`echo $dismq | cut -d '(' -f2 | cut -d ')' -f1`
if [ $status = 'Running' ]
then
echo -e " 33[32m MQ队列管理器$mq_name 运行状态正常 33[0m "
else
echo -e " 33[31m ERROR:MQ队列管理器$mq_name 运行状态异常 33[0m"
exit
fi
disql=`echo "dis ql(*)" | runmqsc $mq_name |grep "YTH" | awk -F"(" '{print $2}' | awk -F")" '{print $1}'`
for un in `seq 0 2`
do
for derth in $disql
do
lname=$derth
disderth=`echo "dis ql($derth) CURDEPTH" | runmqsc $mq_name`
sderth=`echo "dis ql($disderth) CURDEPTH" | runmqsc $mq_name | grep "CURDEPTH" | grep -v "dis" | cut -d '(' -f2 |cut -d ')' -f1`
abc=`echo $sderth | cut -d ']' -f6 | cut -d 'C' -f1 | awk '{gsub(/^s+|s+$/, "");print}'`
if [ $abc -gt 5 ]
then
eval $lname[$un]=$abc
fi
under=`expr $un + 1`
echo "$lname 第$under次深度扫描:$abc"
done
sleep 5
done
for th in $disql
do
eval 'length="${'"#$th[*]"'}"'
if [ $length -ge 2 ]
then
eval 'echo -e "tERROR:队列名称:$th 该队列三次深度值监控中有两次及以上深度值过大,分别为: 33[31m${'"$th[*]"'} 33[0m"'
fi
done
#}
#getdepth=$(GetMqCurdepth)
#echo -e "$getdepth n"