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

sug*_*nan 7 unix linux shell crontab

在Linux/Unix服务器中,当CPU使用率超过阈值时,需要发送电子邮件警报.提出一种通过cron选项卡和shell脚本执行此操作的方法.

sug*_*nan 5

这可以通过以下 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
Run Code Online (Sandbox Code Playgroud)

邮件内容.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>
Run Code Online (Sandbox Code Playgroud)

这里脚本将每 1 秒获取一次 CPU 理想百分比。并且将采取5个样品。然后该理想百分比的平均值将传递给变量CPU。当理想低于 20% 的邮件将被发送。

我们可以设置持续时间为 5 分钟的 cron。

*/5 * * * * cd /full/path/to/script/; ./cpu_monitor.sh;
Run Code Online (Sandbox Code Playgroud)