监控系统

数据采集
sum_capa_all_1.2.sh
x=0
totMem=`vmstat | grep 'mem=' | awk -F\= '{ print $3 }' | awk -F\M '{print $1 }'`
totMem1=` echo "$totMem * 200 " | bc `
while true
do
    strDate=`date +"%Y%m%d"`
    strTime=`date +"%Y%m%d%H"`
    strRun=`vmstat 1 4 | tail -1 | awk '{ print " "$3" "$14" "$15 }' `
    
    backuprate=`df /dev/backuplv | awk 'NR==2{print $4}'`
    ecaprate=`df /dev/ecaplv | awk 'NR==2{print $4}'`
    
    echo $strTime" "$totMem1$strRun" "$backuprate" "$ecaprate >> /home/ecap/monitor/moni_data/capa_$strDate.txt

    sleep 56

    x=`expr $x + 1`
    if [ $x -gt 3000000 ]
    then
        break
    fi

done



数据入库
mach_moni_2.1.sh
if [ "$#" -ne 2 ]
then
    echo "Usage:mach_moni.sh areaid machid"
    exit 1
fi

yesday=`TZ=aaa20 date +%Y"|"%m"|"%d`
yesday_y=`echo $yesday|awk -F'|' '{print $1}'`
yesday_m=`echo $yesday|awk -F'|' '{print $2}'`
yesday_d=`echo $yesday|awk -F'|' '{print $3}'`

rm /home/ecapdb/monitor/moni_data/$1$2_mach_hour_$yesday_y$yesday_m$yesday_d.txt

if [ -f /home/db2inst1/sqllib/db2profile ]; then
   . /home/db2inst1/sqllib/db2profile
fi

db2 catalog tcpip node GDB remote 96.0.42.57 server 50000
db2 catalog db gmonidb at node GDB
db2 connect to gmonidb user ecapdb using ecapdb

area_id=$1
mach_id=$2
moni_date=$yesday_y$yesday_m$yesday_d
    
hh="00"
x=0
while true
do
    if [ x -lt 10 ]
    then
       hh="0"$x
    else
       hh=$x
    fi

    moni_hour=$hh
    memcpu_rate=`grep $yesday_y$yesday_m$yesday_d$hh /home/ecap/monitor/moni_data/capa_$yesday_y$yesday_m$yesday_d.txt | awk 'BEGIN{allMem=0;useMem=0;memRate=0;cpuRate=0;num=0;allCpu=0;} { allMem=allMem+$2;useMem=useMem+$3;num=num+1;allCpu=allCpu+$4+$5;} END{ if (allMem>0) { memRate=useMem*100/allMem;cpuRate=allCpu/num;} print memRate"|"cpuRate}'`
    mem_rate=`echo $memcpu_rate|awk -F'|' '{print $1}'`
    cpu_rate=`echo $memcpu_rate|awk -F'|' '{print $2}'`
    
    bk_rate=`grep $yesday_y$yesday_m$yesday_d$hh /home/ecap/monitor/moni_data/capa_$yesday_y$yesday_m$yesday_d.txt|tail -1|awk '{ print $6}'`
    ecap_rate=`grep $yesday_y$yesday_m$yesday_d$hh /home/ecap/monitor/moni_data/capa_$yesday_y$yesday_m$yesday_d.txt|tail -1|awk '{ print $7}'`
    
    tran_num=`cat /usr/IBM/HTTPServer/logs/access.$yesday_y.$yesday_m.$yesday_d.log|grep $1":"$hh |wc -l`
    fresh_num=`grep LinkageTX /usr/IBM/HTTPServer/logs/access.$yesday_y.$yesday_m.$yesday_d.log|grep $1":"$hh |wc -l`
    click_num=`grep TxRunAction /usr/IBM/HTTPServer/logs/access.$yesday_y.$yesday_m.$yesday_d.log|grep $1":"$hh |wc -l`
    db_connect=0
    
    echo $area_id"|"$mach_id"|"$moni_date"|"$hh"|"$memcpu_rate"|"$bk_rate"|"$ecap_rate"|"$tran_num"|"$fresh_num"|"$click_num"|"$db_connect >> /home/ecapdb/monitor/moni_data/$1$2_mach_hour_$moni_date.txt

    db2 "insert into t_mach_moni values('"$area_id"','"$mach_id"','"$moni_date"','"$moni_hour"','"$mem_rate"','"$cpu_rate"','"$bk_rate"','"$ecap_rate"',"$tran_num","$fresh_num","$click_num","$db_connect",'','','')"

    x=`expr $x + 1`
    if [ $x -gt 23 ]
    then
        break
    fi

done

echo "操作成功"


自动任务

crontab -e


30 1 * * * /home/ecapdb/monitor/bin/mach_moni_2.1.sh

56 17 * * * /home/ecapdb/monitor/bin/mach_moni_2.1.sh aa bb

猜你喜欢

转载自microjava.iteye.com/blog/1670554