zoukankan      html  css  js  c++  java
  • 提取根分区磁盘占用率

    需求:

    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
  • 相关阅读:
    1451. Rearrange Words in a Sentence
    1450. Number of Students Doing Homework at a Given Time
    1452. People Whose List of Favorite Companies Is Not a Subset of Another List
    1447. Simplified Fractions
    1446. Consecutive Characters
    1448. Count Good Nodes in Binary Tree
    709. To Lower Case
    211. Add and Search Word
    918. Maximum Sum Circular Subarray
    lua 时间戳和时间互转
  • 原文地址:https://www.cnblogs.com/tianfen/p/7800118.html
Copyright © 2011-2022 走看看