zoukankan      html  css  js  c++  java
  • 利用shell监控cpu、磁盘、内存使用率

    利用shell监控cpu、磁盘、内存使用率,达到警报阈值发邮件进行通知

    并配合任务计划,即可及时获取报警信息

    #!/bin/bash
    ##############################################
    #Author: Liuzhengwei - 1135960569@qq.com
    #QQ:1135960569
    #Last modified: 2017-04-19 21:50
    #Filename: jiankong.sh
    #Description: 
    ##############################################
    #获取cpu使用率
    cpuUsage=`top -n 1 | awk -F ‘[ %]+‘ ‘NR==3 {print $2}‘`
    #获取磁盘使用率
    data_name="/dev/vda1"
    diskUsage=`df -h | grep $data_name | awk -F ‘[ %]+‘ ‘{print $5}‘`
    logFile=/tmp/jiankong.log
    #获取内存情况
    mem_total=`free -m | awk -F ‘[ :]+‘ ‘NR==2{print $2}‘`
    mem_used=`free -m | awk -F ‘[ :]+‘ ‘NR==3{print $3}‘`
    #统计内存使用率
    mem_used_persent=`awk ‘BEGIN{printf "%.0f
    ",(‘$mem_used‘/‘$mem_total‘)*100}‘`
    #获取报警时间
    now_time=`date ‘+%F %T‘`
    function send_mail(){
            mail -s "监控报警" 1135960569@qq.com < /tmp/jiankong.log
    }
    function check(){
            if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
                    echo "报警时间:${now_time}" > $logFile
                    echo "CPU使用率:${cpuUsage}% --> 磁盘使用率:${diskUsage}% --> 内存使用率:${mem_used_persent}%" >> $logFile
                    send_mail
            fi
    }
    function main(){
            check
    }
    main
  • 相关阅读:
    15款经典图表软件推荐 创建最漂亮的图表
    CSS+JS打造的自适应宽度的滑动门和选项卡
    兼容多浏览器的加入收藏代码
    指针与引用深层次的区别
    反编译winform资源文件
    程序创业必过三关
    自动ping博客服务程序
    C#批量加水印程序
    C#应用程序随机启动
    失败降临是命中注定
  • 原文地址:https://www.cnblogs.com/grimm/p/6738527.html
Copyright © 2011-2022 走看看