在日常的服务器运维中,及时发现系统异常至关重要。本文将带你从零开始,使用简单的 Shell 脚本在 Debian 系统上实现一个基础但实用的监控告警脚本。无论你是刚接触 Linux 的新手,还是有一定经验的运维人员,都能轻松上手。

当你的 Debian 服务器出现 CPU 过载、内存不足、磁盘空间告急或关键服务宕机时,如果没有及时通知,可能导致业务中断甚至数据丢失。通过编写一个系统监控脚本,我们可以自动检测这些异常,并通过邮件、短信或其他方式发送告警,实现自动化运维脚本的核心功能。
在开始之前,请确保你的 Debian 系统已安装以下工具:
mailutils 或 ssmtp(用于发送邮件告警)bc(用于浮点数计算)以 root 用户或具有 sudo 权限的用户登录系统,执行以下命令安装依赖:
sudo apt updatesudo apt install -y mailutils bc我们将创建一个脚本,监控以下三项指标:
在任意目录(例如 /opt/scripts/)下创建脚本文件:
sudo mkdir -p /opt/scriptscd /opt/scriptssudo nano monitor_alert.sh将以下代码粘贴进去(注意替换你的邮箱地址):
#!/bin/bash# 配置项EMAIL="your_email@example.com"CPU_THRESHOLD=80MEM_THRESHOLD=85DISK_THRESHOLD=90# 获取当前时间CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")# 获取 CPU 使用率(排除空闲时间)CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}')# 获取内存使用率MEM_USAGE=$(free | awk 'NR==2{printf "%.2f", $3*100/$2}')# 获取根分区磁盘使用率DISK_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')ALERT_MSG=""# 检查 CPUif (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) )); then ALERT_MSG+="[警告] CPU 使用率过高: ${CPU_USAGE}%\n"fi# 检查内存if (( $(echo "$MEM_USAGE > $MEM_THRESHOLD" | bc -l) )); then ALERT_MSG+="[警告] 内存使用率过高: ${MEM_USAGE}%\n"fi# 检查磁盘if [ "$DISK_USAGE" -gt "$DISK_THRESHOLD" ]; then ALERT_MSG+="[警告] 磁盘空间不足: ${DISK_USAGE}% 已使用\n"fi# 如果有告警,发送邮件if [ -n "$ALERT_MSG" ]; then echo -e "主机: $(hostname)\n时间: $CURRENT_TIME\n\n$ALERT_MSG" | \ mail -s "【Debian服务器告警】$(hostname) 异常通知" "$EMAIL" echo "[$CURRENT_TIME] 告警已发送"else echo "[$CURRENT_TIME] 系统状态正常"fi保存脚本后,赋予执行权限:
sudo chmod +x /opt/scripts/monitor_alert.sh手动运行一次测试:
sudo /opt/scripts/monitor_alert.sh如果系统资源正常,终端会输出“系统状态正常”;如果有异常且邮箱配置正确,你将收到一封告警邮件。
为了让脚本每5分钟自动运行一次,我们使用 crontab:
sudo crontab -e在打开的编辑器中添加以下行:
*/5 * * * * /opt/scripts/monitor_alert.sh >> /var/log/monitor.log 2>&1这表示每5分钟执行一次脚本,并将日志记录到 /var/log/monitor.log 中,便于后续排查问题。
通过以上步骤,你已经成功部署了一个轻量级但高效的 Debian监控告警脚本。它不仅能帮你实时掌握服务器健康状况,还能在关键时刻发出预警,是每个 Linux 运维人员必备的 自动化运维脚本 工具之一。
你可以根据实际需求扩展此脚本,例如增加对特定服务(如 Nginx、MySQL)的进程监控,或集成到更复杂的告警平台(如 Prometheus + Alertmanager)。但无论如何,打好基础是迈向高级运维的第一步!
关键词回顾:Debian监控告警脚本、系统监控脚本、Linux服务器告警、自动化运维脚本
本文由主机测评网于2025-12-21发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251211198.html