shell 写的响应时间监控程序

脚本的功能需求:

1、扫描tomcat指定日志扫描,1分钟内增长的请求量,扫描值响应时间

2、剔除无效请求


shell脚本 mon_iobs.sh:

#!/bin/bash
DATE=$(date +%Y%m%d)
ST_LINE=68637
STIME=$(date +%S.%N)
SH_DIR="/wls/logop/monitor_iobs/iobs_mon.properties"
LOG_DIS=`awk 'NR==1{print $3}' $SH_DIR`
ED_LINE=`wc -l /wls/apache/applogs/$LOG_DIS/access_log.$DATE.txt | awk '{print $
1}'`
NE_LINE=$[$ED_LINE-$ST_LINE]
MON_LOCK="/wls/logop/monitor_iobs/log/mon.lock"
TARGET="/wls/apache/applogs/$LOG_DIS/access_log.${DATE}.txt"
CACH_LOG="/wls/logop/monitor_iobs/log/cache.log"
URL=""
MON_URL=`awk 'NR==2{print $3}' $SH_DIR`
MON_PW=`awk 'NR==3{print $3}' $SH_DIR`
MON_ID=`awk 'NR==4{print $3}' $SH_DIR`
OP=`awk 'NR==5{print $3}' $SH_DIR`
AVG=0
#P_FLAG=`ps -ef|grep mon_iobs.sh|wc -l|awk '{if($1>1){tmp=1}else{tmp=0} print tm
p}'`
#echo $P_FLAG
if [ ! -e "$MON_LOCK" ]
 then
 touch $MON_LOCK
else 
 echo "sh is locked!"
 exit
fi
if [ $NE_LINE \< 0 ]
  then 
        echo "next day log start!"
        sed -i "3s/.*/ST_LINE=0/"  /wls/logop/monitor_iobs/mon_iobs.sh
        rm $MON_LOCK
        exit
fi
if [ $NE_LINE == 0 ]
  then 
        echo "no change for log!"
        echo "$(date +%d/%b/%Y:%H:%M:%S) 0"  > /wls/logop/monitor_iobs/log/cache.log
else
        tail -$NE_LINE $TARGET | awk '{if($11 = 200&&$9!~/f5check.jsp/&&$9!~/perfmon/) print $13}'  > $CACH_LOG
        VA_LINE=`wc -l $CACH_LOG | awk '{print $1}'`
        echo   An increase of $NE_LINE line ,Valuable `wc -l $CACH_LOG | awk '{print $1}'` line!
        if [ $VA_LINE == 0 ]
                then
                URL="$MON_URL?password=$MON_PW&id=$MON_ID&op=$OP&epoch=$(date +%s)&value=0"
                else
                AVG=`awk '{tsum+=$1} END {print tsum/NR}' $CACH_LOG`
                AVG=`echo $AVG|awk -F. '{if(substr($2,1,1)>=5) $1+=1;print $1}'`
                URL="$MON_URL?password=$MON_PW&id=$MON_ID&op=$OP&epoch=$(date +%s)&value=$AVG"
        fi
        echo  $URL
        curl $URL

fi
sed -i "3s/.*/ST_LINE=${ED_LINE}/"  /wls/logop/monitor_iobs/mon_iobs.sh

/usr/bin/java -jar /wls/logop/monitor_iobs/bin/iobsmoisval.jar  /wls/logop/monitor_iobs/bin/iobsmoisval.properties
rm $MON_LOCK
ETIME=$(date +%S.%N)
printf "$(date +%d/%b/%Y:%H:%M:%S) mon_iobs.sh costed : %.3fs\n" `echo  $ETIME-$STIME|bc`



配置文件iobs_mon.properties

disk = 
monurl = http://rsms-mon.paic.com.cn:9600/MonData/bizDataCollector
monpasswd = commonplatform
monid = 90709909
op = new


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值