在Linux / Unix服务器中,当CPU使用率超过阈值时,需要发送电子邮件警报。提出一种通过cron tab和shell脚本来实现它的方法。
答案 0 :(得分:4)
这可以通过以下shell脚本和频繁的cron作业来完成。
cpu_monitor.sh
CPU=$(sar 1 5 | grep "Average" | sed 's/^.* //')
if [ $CPU -lt 20 ]
then
cat mail_content.html | /usr/lib/sendmail -t
else
echo "Normal"
fi
mail_content.html
From: donotreply@sample.com
To: info@sample.com
Subject: Subject of the mail
Mime-Version: 1.0
Content-Type: text/html
<h1>CPU usage increased heigh</h1>
此处脚本将每1秒采用CPU理想百分比。并将采集5个样本。然后,理想百分比的平均值将传递给变量CPU
。当理想值低于20%时,邮件将被发送出去。
我们可以设置持续5分钟的cron。
*/5 * * * * cd /full/path/to/script/; ./cpu_monitor.sh;