如果CPU使用率持续高于一定数量,则发送警报电子邮件

在Linux / Unix服务器中,如果CPU使用率超过阈值,则需要发送电子邮件警报。 提出一种通过cron选项卡和shell脚本来实现的方法。

这可以通过以下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分钟的时间。

 */5 * * * * cd /full/path/to/script/; ./cpu_monitor.sh;