提取根分区磁盘占用率

Posted 卡布奇洛_菠萝蜜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提取根分区磁盘占用率相关的知识,希望对你有一定的参考价值。

需求:

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

 

以上是关于提取根分区磁盘占用率的主要内容,如果未能解决你的问题,请参考以下文章

监控cpu 内存 根分区使用率

shell脚本3

记录一次根分区磁盘使用率超过80%

开放系统监控shell脚本

python 怎么采集磁盘利用率

Linux shell磁盘监控