在运维工作中,确保关键服务(如 Web 服务器、数据库、SSH 等)持续运行至关重要。一旦服务意外停止,若不能及时发现并处理,可能导致业务中断甚至数据丢失。本文将手把手教你如何在 Ubuntu 系统中设置Ubuntu服务监控与系统告警设置,即使你是 Linux 新手也能轻松上手!
通过Linux服务状态的实时监控,你可以:

你需要一台运行 Ubuntu 20.04 或更高版本的服务器,并拥有 sudo 权限。本文以监控 Nginx 服务为例,你也可以替换为你自己的服务(如 mysql、redis、ssh 等)。
首先,我们编写一个简单的 Bash 脚本来检查服务是否正在运行。
#!/bin/bash# 监控的服务名称(可修改)SERVICE_NAME="nginx"# 检查服务状态if systemctl is-active --quiet $SERVICE_NAME; then echo "[$(date)] $SERVICE_NAME 正常运行" >> /var/log/service_monitor.logelse echo "[$(date)] 警告:$SERVICE_NAME 已停止!" >> /var/log/service_monitor.log # 发送告警通知(后续配置) /usr/local/bin/send_alert.sh "$SERVICE_NAME 服务已停止!"fi将上述脚本保存为 /usr/local/bin/monitor_service.sh,并赋予执行权限:
sudo chmod +x /usr/local/bin/monitor_service.sh我们可以使用邮件、Telegram、钉钉或企业微信等方式发送告警。这里以最简单的邮件通知为例(需系统已配置好 sendmail 或 postfix)。
创建告警脚本 /usr/local/bin/send_alert.sh:
#!/bin/bashALERT_MSG="$1"EMAIL="your_email@example.com" # 替换为你的邮箱# 发送邮件echo -e "Subject: [Ubuntu 告警] 服务异常\n\n$ALERT_MSG" | sendmail $EMAIL同样赋予执行权限:
sudo chmod +x /usr/local/bin/send_alert.sh注意:若未配置邮件服务,可使用 curl 调用第三方 Webhook(如钉钉机器人)实现通知,具体方法可参考对应平台文档。
使用 cron 每分钟执行一次监控脚本:
# 编辑当前用户的 cron 任务sudo crontab -e# 在文件末尾添加以下行(每分钟检查一次)* * * * * /usr/local/bin/monitor_service.sh保存并退出后,cron 将自动每分钟运行监控脚本。如果 Nginx 停止,你会收到一封告警邮件。
OnFailure 机制实现更精细的监控通过本文介绍的方法,你已经成功搭建了一个轻量级但实用的 Ubuntu服务监控 与 系统告警设置 系统。无论你是个人开发者还是小型团队,这套方案都能有效提升系统的稳定性与运维效率。记住,良好的监控是保障服务高可用的第一道防线!
关键词回顾:Ubuntu服务监控、系统告警设置、Linux服务状态、自动故障通知。
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126051.html