您的位置:首页 > 运维架构

cpu运行状态监控脚本

2012-07-27 19:19 417 查看
watchCpu.sh

==========

#!/bin/bash

sleepTime=60

logfile=cpu_yjk.log

if [ -f "$logfile" ];

then

rm cpu_yjk.log

fi

exec 1>$logfile

processName="watchCpu.sh"

title="load"

coretitle=`mpstat | grep -o -e '%.*'`

#print title

printf "%s," `date +%Y-%m-%d_%H:%M:%S`

printf "%6s," $title

printf "%12s(ave/max/min/mdev)," $coretitle

printf "%12s(ave/max/min/mdev)," $processName

printf "\n"

while true

do

load=`uptime | awk -F: '{print $NF}'|awk -F, '{print $1}'`

corevalue=`mpstat -P ALL|grep -v -i ALL|grep -o -e '[0-9][0-9]*\..*\.[0-9]*[0-9]$'|awk -v col=9 -f cal.awk`

processValue=`ps aux |grep $processName|grep -v grep|awk '{print $3}'|awk -v col=1 -f cal.awk`

#print value

printf "%s," `date +%Y-%m-%d_%H:%M:%S`

printf "%6.2f," $load

printf "%30s," $corevalue

printf "%30s," $processValue

printf "\n"

sleep $sleepTime

done

=============================================================================

cal.awk

========

BEGIN {

for(i=1;i<=col;i++){

sum[i] = 0;

squsum[i] = 0;

max[i] = 0;

min[i] = 1000000;

}

}

{

for(j=1;j<=col;j++) {

tmp = $j

sum[j] += tmp

squsum[j] += tmp*tmp

if(max[j]<tmp)

max[j] = tmp

if(min[j]>tmp)

min[j] = tmp

}

}

END {

for(k=1;k<=col;k++) {

ave = sum[k]/NR

mdev = sqrt(squsum[k]/NR-ave*ave)

printf("%.2f/%.2f/%.2f/%.2f "), ave,max[k],min[k],mdev

}

}

==========================================================================

output.log

=========

2012-07-27_18:45:23, load, %user(ave/max/min/mdev), %nice(ave/max/min/mdev), %sys(ave/max/min/mdev), %iowait(ave/max/min/mdev), %irq(ave/max/min/mdev), %soft(ave/max/min/mdev), %steal(ave/max/min/mdev), %idle(ave/max/min/mdev),
intr/s(ave/max/min/mdev), watchCpu.sh(ave/max/min/mdev),

2012-07-27_18:45:23, 0.02, 21.11/23.12/20.07/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.39/1208.74/35.19/442.41, 0.00/0.00/0.00/0.00,

2012-07-27_18:46:23, 0.15, 21.11/23.12/20.07/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.38/1208.68/35.19/442.39, 0.00/0.00/0.00/0.00,

2012-07-27_18:47:23, 0.41, 21.11/23.12/20.07/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.37/1208.62/35.19/442.37, 0.00/0.00/0.00/0.00,

2012-07-27_18:48:23, 0.15, 21.11/23.12/20.07/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.35/1208.56/35.19/442.35, 0.00/0.00/0.00/0.00,

2012-07-27_18:49:23, 0.14, 21.11/23.12/20.07/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.34/1208.50/35.19/442.32, 0.00/0.00/0.00/0.00,

2012-07-27_18:50:23, 0.10, 21.11/23.11/20.06/0.94, 0.00/0.00/0.00/0.00, 2.46/2.67/2.32/0.10, 0.42/1.99/0.05/0.63, 0.04/0.19/0.00/0.07, 1.93/2.26/1.47/0.27, 0.00/0.00/0.00/0.00, 73.89/74.95/72.18/0.76,
297.33/1208.45/35.19/442.31, 0.00/0.00/0.00/0.00,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: