在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;