Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14035
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 19:54
文章分类

全部博文(9)

文章存档

2016年(9)

我的朋友

分类: 系统运维

2016-12-30 09:26:51

在esxi环境下,通过vsphere查看虚拟机性能实时图你会看到这样的

对于应用的人他们是看不懂,你要转成他们理解的,从这些图上你需要换算。当然快捷方式就是进系统,输入监控命令,但他们次数多了,给他们写了个脚本,但该脚本磁盘io监控只适合本地环境,而且还在修改中,其余参数都是正常获取没问题的。另外脚本输出格式是照搬网上一个脚本,脚本中作者是caishzh,感谢该兄弟或姐妹。
#!/bin/bash
#author:zhangyh
export LANG=en_US
export PATH=/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
while true;do
ipaddr=`ifconfig -a|sed -n 2p|awk -F "[: ]" '{print $13}'`
runtime=`uptime|cut -c 13-|awk -F "," '{print $1}'`
memarr=(`free -m|grep '/cache'|sed 's/-\/+ buffers\/cache://'`)
#memarr=(`free -m|sed -n '\/cache:/p'|sed 's/-\/+ buffers\/cache://'`)
#memarr=(`free -m|grep '/cache'|cut -c 20-`)
#memarr=(`free -m|awk 'NR==3 {print $3,$4}'`)
memused=$((100*memarr[0]/(memarr[0]+memarr[1])))
ipconnarr=(`netstat -n|grep ^tcp|sed 's/:[0-9]* //g'|awk '{print $5,$6}'`)
#ipconnstate=(`netstat -n|grep ^tcp|sed 's/:[0-9]* //g'`)|awk '{print $6}'`)
cpuarr1=(`cat /proc/stat|sed -n '1p'|sed 's/cpu *//'`)
cpuidl1=${cpuarr1[3]}
cpuarrlen1=${#cpuarr1}
cputotal1=0
for cpurun in ${cpuarr1[@]}
do
 cputotal1=$((cpurun + cputotal1))
done
#netarr=(`cat /proc/net/dev|grep eth|awk '{print $2,$10}'`)
ioarr=(`iostat -d -x -k 1 1|grep 'sd[a-z]\>'`)
ethrunstat1=(`cat /proc/net/dev|grep eth|sed 's/:/ /'|awk '{print $2,$10}'`)
recbytes1=`echo ${ethrunstat1[@]}|awk '{print $1}'`
tranbytes1=`echo ${ethrunstat1[@]}|awk '{print $2}'`
sleep 1
cpuarr2=(`cat /proc/stat|sed -n '1p'|sed 's/cpu *//'`)
cpuidl2=${cpuarr2[3]}
cpuarrlen2=${#cpuarr1}
cputotal2=0
for cputime in ${cpuarr2[@]}
do
 cputotal2=$((cputotal2+cputime))
done
cputotal=$((cputotal2-cputotal1))
cpubus=$((cputotal2+cpuidl1-cputotal1-cpuidl2))
cpuused=$((100*cpubus/cputotal))
ethrunstat2=(`cat /proc/net/dev|grep eth|sed 's/:/ /'|awk '{print $2,$10}'`)
recbytes2=`echo ${ethrunstat2[@]}|awk '{print $1}'`
tranbytes2=`echo ${ethrunstat2[@]}|awk '{print $2}'`
recpers=$(((recbytes2-recbytes1)/1024))
tranpers=$(((tranbytes2-tranbytes1)/1024))
iors=${ioarr[3]}
iows=${ioarr[4]}
iorss=${ioarr[5]}
iowss=${ioarr[6]}
clear
printf "%10s\t%20s\n" "IPADDR [$ipaddr]"  "runingtime [$runtime]"
echo "============================================================="
printf "%10s\t%10s\n" "cpu%:[$cpuused]%" "mem%:[$memused]"
printf "%10s\t%10s\n" ethreciv\(KB\):${recpers}KB ethtran\(KB\):${tranpers}KB  
printf "%10s\t%10s\t%10s\t%10s\n" read/s:${iors} write/s:${iows} readkb/s:${iorss} writekb/s:${iowss}
done





阅读(511) | 评论(0) | 转发(0) |
0

上一篇:esxi一故障

下一篇:V7000鬼盘

给主人留下些什么吧!~~