xenserver虚拟机实时性能查看方法
程序员文章站
2022-06-27 14:46:37
登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的)
#!/bin/bash
#...
登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的)
#!/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
[root@xen-host01 ~]# sh /opt/tools/real_time_status.sh
默认以流出流量(第四列)排序,显示前6名。
如果要以其它列排序,直接在脚本后接列号;如果要显示更多的虚拟机,在列号后接要显示的数量。
如下命令以io读请求数排序(第五列),显示前10名:
[root@xen-host01 ~]# sh /opt/tools/real_time_status.sh 5 10
注:
默认没有显示虚拟机的cpu使用率,如果要显示,请编辑脚本,将如下两行的注释(#)去掉,保存退出,再执行脚本即可。
xentop官方使用说明:
how to use the xenserver xentop utility