zoukankan      html  css  js  c++  java
  • Linux之监控服务器内存、CPU、磁盘使用率shell脚本

    监控服务器内存、CPU、磁盘使用率脚本内容(包含邮件告警):

    #Memory
    totalMemory=$(free -m | awk -F '[ :]+' 'NR==2{print $2}')
    usedMemory=$(free -m | awk -F '[ :]+' 'NR==2{print $3}')
    freeMemory=$(free -m|awk  '{print $4}'|sed -n '3p')
    usedPerMemory=$(awk 'BEGIN{printf "%.0f",('$usedMemory'/'$totalMemory')*100}')
    freePerMemory=$(awk 'BEGIN{printf "%.0f",('$freeMemory'/'$totalMemory')*100}')
    logFile=/tmp/monitor.log
    #alerm date
    now_time=`date '+%Y-%m%d %H:%M:%S'`
    #Disk
    diskusAge=$(df -h | grep /dev/mapper/centos-root | awk -F '[ %]+' '{print $5}')
    
    #CPU
    cpuusAge=$(top -b -n 1 |grep Cpu|awk '{print $8}'|cut -f 1 -d'.')
    
    echo $cpuusAge
    
    
    # send mail
    function send_mail(){
            mail -s "test alerm" test@163.com < /tmp/monitor.log
    }
    
    
    if [[ "$usedPerMemory" > 90 ]] || [[ "$diskusAge" > 90 ]] || [[ "$cpuusAge" > 95 ]];then
    
                    echo "报警时间:${now_time}" > $logFile
                    echo "CPU usage:${cpuusAge}%" >> $logFile
                    echo "Memory usage:${usedPerMemory}%" >> $logFile
                    echo "Disk usage:${diskusAge}%" >> $logFile
                    send_mail
    fi
  • 相关阅读:
    使用 Sentry集中处理错误
    laravel实现多对多的分析
    windows下phpstorm的快捷键
    npm 升级
    squid----正向代理
    nginx----配置优化
    负载均衡----nginx
    负载均衡----HAproxy
    负载均衡----LVS
    mysql-8.0.12读写分离
  • 原文地址:https://www.cnblogs.com/youcong/p/13875181.html
Copyright © 2011-2022 走看看