当前位置:首页 > Ubuntu > 正文

Ubuntu告警通知设置(手把手教你配置系统监控与邮件告警)

在日常的服务器运维中,及时收到系统异常或资源使用过高的Ubuntu告警通知设置至关重要。本文将从零开始,教你如何在 Ubuntu 系统中配置简单的告警机制,包括 CPU、内存使用率过高时自动发送邮件通知。即使你是 Linux 小白,也能轻松上手!

Ubuntu告警通知设置(手把手教你配置系统监控与邮件告警) Ubuntu告警通知设置 系统监控告警 Linux邮件告警配置 Ubuntu系统运维 第1张

一、准备工作:安装必要工具

要实现告警通知,我们需要两个核心组件:

  • mailutils:用于通过命令行发送邮件。
  • ssmtppostfix:作为邮件传输代理(MTA)。

这里我们以 mailutils + ssmtp 为例,适合个人或小型服务器使用。

1. 安装 mailutils 和 ssmtp

sudo apt updatesudo apt install -y mailutils ssmtp  

二、配置 SSMTP 发送邮件

SSMTP 需要配置你的邮箱 SMTP 信息。以 Gmail 为例(其他邮箱如 QQ、163 类似):

1. 编辑 SSMTP 配置文件

sudo nano /etc/ssmtp/ssmtp.conf  

2. 添加以下内容(请替换为你自己的邮箱信息)

# 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 和内存使用率,并在超过阈值时发送邮件。

1. 创建脚本文件

sudo nano /usr/local/bin/system_alert.sh  

2. 写入以下脚本内容

#!/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  

3. 赋予执行权限

sudo chmod +x /usr/local/bin/system_alert.sh  

四、设置定时任务(Cron)

为了让脚本定期运行,我们使用 cron 定时任务,每 5 分钟检查一次。

1. 编辑当前用户的 crontab

crontab -e  

2. 在文件末尾添加以下行

*/5 * * * * /usr/local/bin/system_alert.sh  

保存并退出。现在系统会每 5 分钟自动检查一次资源使用情况,并在异常时发送邮件。

五、测试告警功能

你可以手动运行脚本测试是否能收到邮件:

/usr/local/bin/system_alert.sh  

如果一切配置正确,当 CPU 或内存超过设定阈值时,你将收到一封告警邮件。

总结

通过以上步骤,你已经成功完成了 Ubuntu告警通知设置。这种基于邮件的系统监控告警机制简单有效,非常适合个人开发者或小型项目使用。对于更复杂的场景,可考虑使用 Prometheus + Alertmanager 等专业监控方案。

掌握这些基础的Linux邮件告警配置技巧,能极大提升你的Ubuntu系统运维效率,确保服务器稳定运行。

如有疑问,欢迎在评论区留言交流!