构建你自己的Web服务监控平台:Uptime Kuma从部署到告警配置

网站宕机了你可能都不知道,直到客户发来一句:“你的网站是不是打不开了?”

如果你管理着多个站点、API 服务、Docker 容器或远程服务器,实时掌握它们是否在线、延迟是否波动,就非常关键。
与其依赖第三方监控服务,不如自建一个轻量、可定制、界面友好且支持多种告警方式的监控系统

这正是 Uptime Kuma 的强项。它不仅开源免费,而且部署非常简单,几分钟就能运行,还支持 Telegram、企业微信、钉钉、邮件等多种告警。


一、什么是 Uptime Kuma?

Uptime Kuma 是一个基于 Node.js 的自托管可用性监控平台,被誉为 “开源版的 Uptime Robot”,但功能更丰富、更灵活。

✅ 核心功能包括:

  • HTTP(s)、TCP、Ping、DNS、推送监控等多协议支持
  • 丰富的图表界面(响应时间、宕机记录、可用率)
  • 多语言支持(含简体中文)
  • 支持多用户、多端同步访问
  • Telegram、邮箱、微信、钉钉等告警方式
  • Webhooks、自定义脚本、SSL证书监控

二、快速部署 Uptime Kuma(推荐 Docker 方式)

Uptime Kuma 的部署方式有两种:Docker(推荐) 和 Node.js。

✅ 使用 Docker 快速部署:

bash
docker run -d \
--restart=always \
--name uptime-kuma \
-p 3001:3001 \
-v /root/uptime-kuma:/app/data \
louislam/uptime-kuma

启动后访问 http://服务器IP:3001 进入Web界面初始化设置。

创建管理员账号 → 登录 → 即可添加你的第一个监控项目。


三、添加你的第一个监控项

点击【添加监控】,填写以下信息:

字段示例
类型HTTP(s) / TCP / Ping 等
名称我的官网
URL/IPhttps://yourdomain.com
检查间隔30 秒 / 1分钟 / 5分钟
超时时间默认5秒,根据站点性能调整
关键词匹配(可选)页面中必须包含指定文字

可以同时配置 SSL 证书有效性检查,非常适合检测 HTTPS 是否快过期。


四、配置告警通知(以 Telegram 为例)

✅ Telegram 告警设置步骤:

  1. 创建一个 Bot:@BotFather
  2. 获取 Token,并添加到 Kuma 通知设置中
  3. 发送 /start 给 Bot 后复制 Chat ID
  4. 在 Uptime Kuma 设置 → 通知 → Telegram → 填入 Token + Chat ID

之后任何站点宕机或恢复,都会自动推送通知到 Telegram。

📌 支持告警渠道还有:

  • 邮件SMTP(如QQ邮箱、Mailgun)
  • 企业微信机器人
  • 钉钉Webhook
  • Webhooks(自定义)
  • Bark(iOS通知)
  • Discord / Slack

五、常见监控场景推荐

监控类型示例
网站可访问性检测首页状态码+关键词匹配
接口服务监控检测 API 返回是否异常
端口可达性TCP 检测 SSH、数据库、Redis 等
SSL证书检查提前提醒证书到期
多节点 Ping比较不同地区对目标服务器延迟
本地服务存活使用推送模式(push monitor)检测脚本或定时心跳

六、进阶用法:Webhook + 自定义脚本

  • 当监控项宕机时,可触发你自己的 Webhook 脚本
  • 实现自动重启服务、打日志、发短信、触发 Ansible 脚本等自动化行为
  • 适用于高可用场景中,自动容灾处理

例如调用 Cloudflare API 更换解析记录、触发Docker重启容器。


七、部署建议与安全性说明

  • 建议部署在公网不暴露的端口(如 3001),通过反代或 Cloudflare Tunnel 加密访问
  • 开启密码登录,并定期更新后台账号密码
  • 可以配合 Traefik/Nginx 实现 HTTPS + 域名访问
  • 数据默认存储在容器挂载目录中,建议定期备份 /app/data 目录

监控不是“宕了之后再补救”,而是提前发现风险、及时响应故障的第一步。

Uptime Kuma 的轻量与灵活,让它既适合个人博客,也适用于中小企业级服务监控。如果你还在用 Excel 表格记录网站状态,是时候升级你的监控体系了。

实操指南知识库

7个你可能没用过但非常有用的 Linux 命令行神器

2025-3-31 11:13:44

实操指南

超时、丢包、卡顿?一文教你用 MTR 定位服务器网络问题

2025-4-1 11:30:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧