linux下bash脚本收集CPU和内存使用率超过阀值发送报警邮件到邮箱

2018/9/25 11:46:00

  #!/bin/bash
  #author Merci
  #客户端资源使用情况收集
  ####检测mailx
  MAILXISEXIST=`rpm -qa | grep 'mailx'`
  if [ ! $MAILXISEXIST ]
  then
  yum install mailx -y
  fi
  
  ####CPU使用情况###
  
  UsedCpuInfo=`sar -u 1 5 | grep 'Average' | awk '{print $3}'`
  CpuUsedRate=`awk 'BEGIN{printf "%.0f\n",'${UsedCpuInfo}'}'`
  #echo ${CpuUsedRate}
  if [ "$CpuUsedRate" -gt 80 ]
  then
  echo "Cpu used rate Exceed threshold !!! $CpuUsedRate" | mailx -s "Cpu Excessive!" shevechco@qq.com
  fi

  #####内存使用情况
  MemTotalInfo=`cat /proc/meminfo | grep 'MemTotal' | awk '{print $2}'`
  #echo ${MemTotalInfo}
  MemFreeInfo=`cat /proc/meminfo | grep 'MemFree' | awk '{print $2}'`
  #echo ${MemFreeInfo}
  MemUsedInfo=`expr ${MemTotalInfo} - ${MemFreeInfo}`
  #echo ${MemUsedInfo}
  MemUserdRate=`awk 'BEGIN{printf "%.0f\n",'${MemUsedInfo}'/'${MemTotalInfo}'*100}'`
  #echo ${MemUserdRate}
  if [ "$MemUserdRate" -gt 80 ]
  then
  echo "Memory used rate Exceed threshold !!! $MemUserdRate" | mailx -s "Memory Excessive!" shevechco@qq.com
  fi