shell案例(8):利用监控工具vmstat实现监控

  • 脚本基本要求

1 监控工具vmstat
2 此脚本针对于linux系统
3 要求显示出用户进程执行消耗cpu的时间(user_time--us)
4 要求显示出系统进程消耗cpu的时间(system_time sy)
5 要求显示空闲时间
6 要求显示等待IO时间

vmstat 1 3
信息以百分比表示
US--->如果这个比较高,长期超过50%,说明用户进程消耗的cpu时间多,
sy--->sys的值过高,这个不好的信息
ID
wa--->wa值过高,磁盘的问题。

 

 1 #!/bin/bash
 2 #author:zhiping.wang
 3 
 4 #=================================
 5 PWDDIR=`pwd`
 6 Check_OS=`uname`
 7 Cpu_info=`vmstat 1 2 >$PWDDTR/info.log`
 8 Us_info=`cat $PWDDTR/info.log| awk '{print $13}'|tail -1`
 9 Sy_info=`cat $PWDDTR/info.log| awk '{print $14}'|tail -1`
10 Id_info=`cat $PWDDTR/info.log| awk '{print $15}'|tail -1`
11 Wa_info=`cat $PWDDTR/info.log| awk '{print $16}'|tail -1`
12 
13 #=================================
14 Check_error()
15 {
16     if [ $? -ne 0 ]
17     then
18         echo "$1 error" >$PWDDIR/cpuerror.log
19         return 1
20 
21     fi
22 }
23 #=================================
24 Check_tools()
25 {
26     which vmstat >/dev/null 2>&1
27     Check_error vmstat
28     if [ Check_OS == "Linux" ]
29     then
30         Cpu_info_zy
31     else
32         echo "os is not Linux" >>$PWDDIR/cpuerror.log
33         return 1
34     fi
35     
36 }
37 
38 Cpu_info_zy()
39 {
40     echo "Cpu_sus:$Us_info"
41     echo "Cpu_sy:$Sy_info"
42     echo "Cpu_ID:$Id_info"
43     echo "Cpu_wa:$Wa_info"
44 }
45 
46 Main()
47 {
48 Check_tools
49     if [ $? -eq 1 ]
50     then
51         echo "error"
52         exit 1
53     fi
54 }    
55 
56 Main

 

posted @ 2017-02-20 23:34  小王同学-TT  阅读(434)  评论(0)    收藏  举报