码迷,mamicode.com
首页 > 其他好文 > 详细

提取根分区磁盘占用率

时间:2017-11-07 19:38:39      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:安装   gcc   tar.gz   wget   gre   exit   信息保存   cpu   -o   

需求:

1、编写sysmon.sh脚本
(1)使用df命令提取出根分区的磁盘占用率,赋值给变量DUG。
(2)使用mpstat命令提取CPU使用率(需安装sysstat软件包),赋值给变量CUG。
(3)使用free命令提取出内存使用率,赋值给变量MUG。
(4)判断上述监控项目是否超标,将需要告警的信息保存到/tmp/alert.txt文件。
(5)判断/tmp/alert.txt文件是否存在,若存在则作为告警邮件发送。

  

 参考脚本:

#!/bin/bash
#脚本练习1

#第一步、使用df命令提取出根分区的磁盘占用率,赋值给变量DUG
DUG=`df -h |awk NR==2{print}|awk {print $5}|awk -F % {print $1}`

#第二步、使用mpstat命令提取CPU使用率(需安装sysstat软件包),赋值给变量CUG
#(1)安装sysstat
yum install wget make gcc gcc-c++ glibc libstdc++-devel mailx -y
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-11.0.0.tar.gz
tar -xvf sysstat-11.0.0.tar.gz
cd sysstat-11.0.0/
./configure
make
make install
mpstat -V

#判断sysstat软件是否安装成功
if [ $? = 0 ];then
echo "恭喜你sysstat 软件安装成功!"
else
exit
fi

#(2)提取CPU使用率
CUG=`mpstat|grep all|awk {print $3}`

#第三步、使用free命令提取出内存使用率,赋值给变量MUG
MUG=`free -m|grep Mem|awk {print $3}`

#第四步、判断上述监控项目是否超标,将需要告警的信息保存到/tmp/alert.txt文件
#1.定义阈值
if [ $DUG > 80 ];then
echo "at `date`磁盘占用率已经达到${DUG}%,请及时清理" > /tmp/alert.txt
elif [ $CUG > 50 ];then
echo "at `date`CPU使用率达到${DUG}%,请及时查看" >> /tmp/alert.txt
#第五步、判断/tmp/alert.txt文件是否存在,若存在则作为告警邮件发送
if [ -e /tmp/alert.txt ];then
mail -s 系统问题 1557034472@qq.com < /tmp/alert.txt
echo ‘‘ >/tmp/alert.txt #清空告警文件
fi

 

提取根分区磁盘占用率

标签:安装   gcc   tar.gz   wget   gre   exit   信息保存   cpu   -o   

原文地址:http://www.cnblogs.com/tianfen/p/7800118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!