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
  • 相关阅读:
    跑酷游戏的一些bug总结(滥用FixedUpdate的坑)
    Unity在编辑器状态下清空控制台信息
    Unity脚本在层级面板中的执行顺序测试3
    IronPython使用
    RSA加密的测试demo
    常用加密算法学习
    c#读写ini文件
    Jrebel激活方法(转)
    ThreadLocal Memory Leak in Java web application
    Java Thread Local – How to use and code sample(转)
  • 原文地址:https://www.cnblogs.com/grimm/p/6738527.html
Copyright © 2011-2022 走看看