`
wsql
  • 浏览: 11755807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

使用shell脚本进行服务器系统监控——系统负载监控(2)

 
阅读更多

#!/bin/ksh


SECS=30 # Defines the number of seconds for each sample
INTERVAL=10 # Defines the total number of sampling intervals
OS=$(uname) # Defines the UNIX flavor

###################################################
##### SETUP THE ENVIRONMENT FOR EACH OS HERE ######
###################################################

# These "F-numbers" point to the correct field in the
# command output for each UNIX flavor.

case $OS in
AIX|HP-UX|SunOS)
F1=2
F2=3
F3=4
F4=5
echo "/nThe Operating System is $OS/n"
;;
Linux)
F1=3
F2=4
F3=5
F4=6
echo "/nThe Operating System is $OS/n"
;;
*) echo "/nERROR: $OS is not a supported operating system/n"
echo "/n/t...EXITING.../n"
exit 1
;;
esac

###################################################
######## BEGIN GATHERING STATISTICS HERE ##########
###################################################

echo "Gathering CPU Statistics using sar.../n"
echo "There are $INTERVAL sampling periods with"
echo "each interval lasting $SECS seconds"
echo "/n...Please wait while gathering statistics.../n"

# This "sar" command take $INTERVAL samples, each lasting
# $SECS seconds. The average of this output is captured.

sar $SECS $INTERVAL | grep Average /
| awk '{print $'$F1', $'$F2', $'$F3', $'$F4'}' /
| while read FIRST SECOND THIRD FOURTH
do
# Based on the UNIX Flavor, tell the user the
# result of the statistics gathered.

case $OS in
AIX|HP-UX|SunOS)
echo "/nUser part is ${FIRST}%"
echo "System part is ${SECOND}%"
echo "I/O wait state is ${THIRD}%"
echo "Idle time is ${FOURTH}%/n"
;;
Linux)
echo "/nUser part is ${FIRST}%"
echo "Nice part is ${SECOND}%"
echo "System part is ${THIRD}%"
echo "Idle time is ${FOURTH}%/n"
;;
esac
done

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics