在日常的服务器运维中,及时收到系统异常或资源使用过高的Ubuntu告警通知设置至关重要。本文将从零开始,教你如何在 Ubuntu 系统中配置简单的告警机制,包括 CPU、内存使用率过高时自动发送邮件通知。即使你是 Linux 小白,也能轻松上手!
要实现告警通知,我们需要两个核心组件:
这里我们以 mailutils + ssmtp 为例,适合个人或小型服务器使用。
sudo apt updatesudo apt install -y mailutils ssmtp SSMTP 需要配置你的邮箱 SMTP 信息。以 Gmail 为例(其他邮箱如 QQ、163 类似):
sudo nano /etc/ssmtp/ssmtp.conf # Gmail 示例root=your_email@gmail.commailhub=smtp.gmail.com:587AuthUser=your_email@gmail.comAuthPass=your_app_password # 注意:不是登录密码,需开启两步验证后生成应用专用密码UseSTARTTLS=YESFromLineOverride=YES 提示:如果你使用的是 QQ 邮箱,SMTP 地址为 smtp.qq.com:587,且需要开启 SMTP 服务并获取授权码作为密码。 接下来,我们创建一个 Bash 脚本来监控 CPU 和内存使用率,并在超过阈值时发送邮件。
sudo nano /usr/local/bin/system_alert.sh #!/bin/bash# 配置EMAIL="your_email@example.com"CPU_THRESHOLD=80 # CPU 使用率阈值(%)MEM_THRESHOLD=85 # 内存使用率阈值(%)# 获取当前 CPU 使用率(排除空闲时间)CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}')# 获取内存使用率MEM_USAGE=$(free | awk 'NR==2{printf "%.0f", $3*100/$2}')# 判断是否超过阈值并发送邮件if (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) )); then echo "[告警] CPU 使用率过高!当前: ${CPU_USAGE}%" | \ mail -s "【Ubuntu系统告警】CPU 使用率过高" "$EMAIL"fiif (( $(echo "$MEM_USAGE > $MEM_THRESHOLD" | bc -l) )); then echo "[告警] 内存使用率过高!当前: ${MEM_USAGE}%" | \ mail -s "【Ubuntu系统告警】内存使用率过高" "$EMAIL"fi sudo chmod +x /usr/local/bin/system_alert.sh 为了让脚本定期运行,我们使用 cron 定时任务,每 5 分钟检查一次。
crontab -e */5 * * * * /usr/local/bin/system_alert.sh 保存并退出。现在系统会每 5 分钟自动检查一次资源使用情况,并在异常时发送邮件。
你可以手动运行脚本测试是否能收到邮件:
/usr/local/bin/system_alert.sh 如果一切配置正确,当 CPU 或内存超过设定阈值时,你将收到一封告警邮件。
通过以上步骤,你已经成功完成了 Ubuntu告警通知设置。这种基于邮件的系统监控告警机制简单有效,非常适合个人开发者或小型项目使用。对于更复杂的场景,可考虑使用 Prometheus + Alertmanager 等专业监控方案。
掌握这些基础的Linux邮件告警配置技巧,能极大提升你的Ubuntu系统运维效率,确保服务器稳定运行。
如有疑问,欢迎在评论区留言交流!
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126031.html