超时统计shell

CURRDAY=`date +%Y%m%d`


timeout_count=`cat ejbtran.log|grep -v INFO | awk -f timeout.awk|wc -l`
echo $timeout_count
timeout_count=`expr $timeout_count - 0`


total_count=`cat ejbtran.log|grep -v INFO |wc -l`
total_count=`expr $total_count - 0`


last_timeout_count=`cat .timeout_count|awk -F"," -v t=$CURRDAY '$1 == t{print $2}'`
if [ "${last_timeout_count}" = "" ]; then 
last_timeout_count=0
echo "${CURRDAY},0" > .timeout_count
else
echo "not null"
fi
echo "last_timeout_count=${last_timeout_count}"
timeout_count="${timeout_count}"
echo "timeout_count=${timeout_count}"


isSms=`expr $timeout_count - $last_timeout_count`
echo "差异数="$isSms

if [ "${timeout_count}" -gt "${last_timeout_count}" ]; then 
echo "${CURRDAY},${timeout_count}" > .timeout_count
fi

if [ "${isSms}" -gt "3" ]; then 
msg="OCS 接口超时提醒,当日累计超时${timeout_count}笔,上次计数${last_timeout_count}笔,总交易数${total_count},成功率${rate}%"
echo $msg
#send_sms "00" $msg
else
last_rate=`echo "scale=4;($total_count-$last_timeout_count)/$total_count*100"|bc`
echo "与上次记录相同${last_timeout_count},总交易数${total_count},成功率${last_rate}"

fi



timeout.awk内容:

BEGIN {
FS="\t"
}
{
timeout_sec=$(NF-1)
if(timeout_sec>5){
printf("%s\t%s\t%s\t%s\t%s\t%s\n" ,$1,$(NF-5),$(NF-4),$(NF-3),$(NF-2),$(NF-1))
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值