如果我的系统 CPU 使用率达到特定阈值,如何设置警报/警报?

如果我的系统 CPU 使用率达到特定阈值,如何设置警报/警报?

我写了一个shell脚本来监控系统CPU使用率和内存使用率。我需要知道如何向邮件发送通知,告知我的系统达到特定阈值(例如:90%)。

我的代码:

#! /bin/bash
printf "Date\t\t\tMemory\t\tDisk\t\tCPU\n"
end=$((SECONDS+30))
while [ $SECONDS -lt $end ]; do
CURRENTDATE=`date +"%Y-%m-%d %T"`
MEMORY=$(free -m | awk 'NR==2{printf " \t%.2f%%\t\t", $3*100/$2 }')
DISK=$(df -h | awk '$NF=="/"{printf "%s\t\t", $5}')
CPU=$(top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}')
echo  ${CURRENTDATE} "$MEMORY$DISK$CPU"

done

答案1

您可能应该使用一些监控解决方案(Nagios、Zabbix FTW!)。但如果您确实想使用自定义脚本,则可以使用mail程序。

echo "Current CPU USAGE $CPU" | mail -s "This is subject like: CPU WARNING" [email protected]

您还可以使用ssmpt.我没有测试过,但有一篇关于它的简单文章https://www.howtogeek.com/51819/how-to-setup-email-alerts-on-linux-using-gmail/

相关内容