您的位置:首页 > 运维架构 > Shell

shell脚本监控cpu/内存使用率

2017-12-12 17:56 706 查看
该脚本检测cpu和内存的使用情况,只需要调整memorySetting、cpuSetting、userEmail要发邮件报警的email地址即可

如果没有配置发邮件参数的哥们,已配置了的,直接飞到代码区:

1.vim /etc/mail.rc

2.找到以下内容

set from=yangxingyi@duoduofenqi.com #来自什么

set smtp=smtp.exmail.qq.com #根据您的邮箱发件服务器填写,我这位是TX的企业邮箱

set smtp-auth-user=yangxingyi@duoduofenqi.com #邮箱用户名

set smtp-auth-password=您的密码 #注意是发邮件密码,有的邮箱服务商登陆密码和发件密码不一样的哦

set smtp-auth=login

**配置完成后可以直接echo ‘test content’ |mail -s ‘test title’ yangxingyi@duoduofenqi.com

如果收到邮件,说明您邮件配置是ok的,否则就是有见没配置好哦,重新检查用户名密码,smtp有没有填错!!!**

如果您觉得有用的话直接搬走就行了,不用联系我!!!

#/bin/sh
#auth yangxingyi 2017-12-12 17:50
#email openweixin666@126.com
#this script  check cpu used rate and memory used rate
userEmail="269754243@qq.com openweixin666@126.com"
webIp="www101.200.***.***"
memorySetting="80"
cpuSetting="80"
#check memory used rate
totalMemory=$(free -m|awk  '{print $2}'|sed -n '2p')
usedMemory=$(free -m|awk  '{print $3}'|sed -n '3p')
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}')
if [ $usedPerMemory -ge $memorySetting  ]
then
minfo="totalMemory:$totalMemory MB,used:$usedMemory MB,free:$freeMemory MB,usedPercent:$usedPerMemory%,freePrecent:$freePerMemory%"
echo "$(date) $minfo used memory was gt $memorySetting% !" >> /sh/log_hard_disk_check
echo " $minfo {$webIp}!" | mail -s "{$webIp} used memory was high!"  $userEmail
fi

#check cpu used rate
cpuUsed=$(top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'|awk -F '.' '{print $1}')
if [ $cpuUsed -gt $cpuSetting ]
then
echo  "$(date) cpu used $cpuUsed% "
echo  "$(date) cpu used $cpuUsed%"|mail -s "$webIp cpu used $cpuUsed%" $userEmail
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: