科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件使用shell脚本进行服务器系统监控——系统负载监控(2)

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

采用KSH脚本对负载监控。增强sar功能,该脚本可以用于AIX/HP-UX/SUN/LINUX等平台 。

作者:徐建明 来源:CSDN 2008年2月5日

关键字: 负载监控 服务器 shell脚本 Linux

  • 评论
  • 分享微博
  • 分享邮件

#!/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

 

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章