cszer

分类存档: 虚拟化

xenserver虚拟机实时性能查看

IN:虚拟化   Tags:    评论: 6   阅读:1,144 views

登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# Program:
#       Real-time Performance
# History:
#	2014/09/29	caishunzhi First release
 
DIR="/opt/tools"
HOSTNAME=`/bin/hostname`
SORT=${1:-4}
NUM=${2:-6}
 
function get_performance()
{
	#cpu
	>/tmp/xentopcpu_
	#/usr/sbin/xentop -i2 -d1 -b -f >/tmp/xentopcpu_
	#CPU=`awk -F'[-r]' '{print $NF}' /tmp/xentopcpu_ |grep -v VBD_WR |awk 'BEGIN{sum=0}{sum+=$2}END{print sum}'`
 
	#traffic and io
	/usr/sbin/xentop -i1 -d1 -b -f |grep -v VBD_WR >/tmp/xentop_1
	TX1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$9}END{print sum}'`
	RX1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$10}END{print sum}'`
	VDB_RD1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$13}END{print sum}'`
	VDB_WR1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$14}END{print sum}'`
	sleep 1
	/usr/sbin/xentop -i1 -d1 -b -f |grep -v VBD_WR >/tmp/xentop_2
	TX2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$9}END{print sum}'`
	RX2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$10}END{print sum}'`
	VDB_RD2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$13}END{print sum}'`
	VDB_WR2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$14}END{print sum}'`
 
	date1=`stat /tmp/xentop_1 |grep Modify |awk '{print $2,$3}'`
	date2=`stat /tmp/xentop_2 |grep Modify |awk '{print $2,$3}'`
	start=`date +%s -d "$date1"`
	end=`date +%s -d "$date2"`
 
	let sleep=end-start
 
	#VM Performance Output
	awk '{print $1}' /tmp/xentop_1 >/tmp/vmname_
	awk -F'[-r]' '{print $NF}' /tmp/xentop_1 >/tmp/xentop_11
	awk -F'[-r]' '{print $NF}' /tmp/xentop_2 >/tmp/xentop_22
	awk -F'[-r]' '{print $NF}' /tmp/xentopcpu_ |sed '1,/NAME/d' |awk '{print $2}' >/tmp/xentop_33
	printf "\n%50s %6s %12s %12s %6s %6s\n" NAME CPU 'NETin(KB)' 'NETout(KB)' IOr IOw 
	paste /tmp/vmname_ /tmp/xentop_11 /tmp/xentop_22 /tmp/xentop_33 |awk -v n=$sleep '{printf "%50s %6s %12d %12d %6d %6d\n",$1,$NF,($27-$10)/n,($28-$11)/n,($31-$14)/n,($32-$15)/n}' |sort -k"$SORT" -rn |head -"$NUM"
}
 
while true;
do 
	get_performance
done

继续阅读 »

11-19
2014