服务器应用进程性能监控Shell脚本

http://club.topsage.com/forum-119-6.html大家论坛技术中心

  1. #!/bin/bash
  2. #根据研发需求,写的服务器游戏进程性能监控脚本。
  3. . ~/.keychain/`hostname`-sh
  4. trap 'echo;exit 0' 2 15
  5. DATE0=`date +%Y%m%d-%H%M`
  6. DATE1=`date +%F`
  7. DATE2=`date -d "1day ago" +%F`
  8. IP_ALL="iplist"
  9. LDIR="~/monitor_log"
  10. IP=`perl -nae'print "$F[0]/n" if $_ =~ /groupname1|groupname2/ && $_ !~ /#/' $IP_ALL`
  11. echo -e "*************$DATE0************/n/n" >>$LDIR/$DATE1.log
  12. for i in $IP;do
  13.       export i;
  14.       name=`perl -nae'print "$F[1]/n" if $_ =~ //b$ENV{i}/b/' $IP_ALL`
  15.       echo -e "###$name($i)--$DATE0###/n"
  16.       ssh $i "renshu=/`netstat -napl | egrep '3731|3732|3734|3735|3736'| grep -i estab|wc -l/`
  17.               cpu=/$(echo /$(echo 100-/$(mpstat |egrep -v 'CPU|^$|Linux'|awk '{print /$(NF-1)}')|bc)%)
  18.               mem=/$(echo /$(free |grep Mem|awk '{{a=/$3//$2*100}printf /"%2.2f/n/",a}')%)
  19.               export cpu_count=/`grep processor /proc/cpuinfo|wc -l/`
  20.               svr_cpu=/$(top -b -n 2 -d 1|perl -ne'if (/$_ =~ /Cpu|Server|World|ShareMemory|Login/){/$svr_top .= /$_;/$cpu_top = /$svr_top;}END{ /$svr_top =~ s/^Cpu.*%st/n//s;print /$svr_top;if(/$cpu_top =~ /^Cpu.*Cpu.*/s+(/d+/./d+)%id.*$/gs){/$cpu_total = 100 - /$1;print /"/$cpu_total/n/"}}'|perl -ane'/$sum += /$cpu_svr;/$cpu_svr= /$F[8] / /$ENV{/"cpu_count/"};printf /"%-20s/t%-10s/n/",/"/$F[-1]:/",/$cpu_svr;END{printf /"%-20s/t%-10s/n/",/"Total:/",/$sum}'|perl -ane'unless (/$_ =~ /^(/d+/./d+).*/){push @perf,/$_;}else{/$cpu_top = /$1;}END{print @perf;printf /"%-20s/t%-10s/n/",/"CPU_Used:/",/"/$cpu_top/"}')
  21.               process_memory=/`ps aux|egrep -v 'grep|sed' |egrep -i 'server|world|ShareMemory|login'|egrep -v 'gmserver|root|Login..*'|
  22.              sed 's%-loadscriptonce%Server%'|awk '{printf /"%-10s %10s/n/",/$NF,/$4/"%/"}'|sed 's%./%%'/`
  23. ##process_memory=/$(ps -eo args,rss|grep -v grep |egrep -w '/./ShareMemory/>|/./Login/>|/./Server/>|/./World/>'|awk '{printf /"%-10s %10s/n/",/$1,/$NF/1024}')
  24.              echo -e /"Online: /t/$renshu/nCPU-used:/n/$svr_cpu/n/nMEM-used:/t/$mem/n/nProcesses-in-MEM:/n/$process_memory/n/n/""
  25. done>>$LDIR/$DATE1.log
  26. exit 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值