Uptime Kuma 监控通知全攻略:Telegram、飞书、企业微信、PagerDuty 深度配置
Uptime Kuma 是一款轻量好用的开源监控工具,但很多用户在完成基础部署后便止步于此,并未充分利用其强大的通知体系和状态页定制能力。本文在基础部署的基础上,深入讲解如何配置多渠道告警通知、自定义状态页域名与 HTTPS、公开状态页嵌入,以及通过监控组对服务进行分类管理,帮助你将 Uptime Kuma 打造成一套真正生产可用的可观测平台。
环境要求
本教程推荐使用雨云服务器 rainyun-com作为部署环境。注册填优惠码2026off领 5 折优惠券,让监控服务的运营成本降到最低。
推荐配置:1 核 2GB 内存机型。Uptime Kuma 极其轻量,单实例监控 100 个以上节点仅需不到 200MB 内存,1 核 2GB 完全胜任,将余量留给未来拓展。
| 参数 | 推荐值 |
|---|---|
| CPU | 1 核 |
| 内存 | 2 GB |
| 磁盘 | 20 GB SSD |
| 系统 | Ubuntu 22.04 LTS / Debian 12 |
前置准备
- Docker 与 Docker Compose 已安装:
curl-fsSLhttps://get.docker.com|bashdocker--version域名已解析:准备两个子域名,分别用于 Uptime Kuma 管理后台和公开状态页(如
monitor.example.com和status.example.com)。Nginx Proxy Manager 或 Traefik 已部署:用于处理 HTTPS 证书自动申请与反向代理。
Telegram Bot Token(可选):若使用 Telegram 通知渠道,需提前通过 @BotFather 创建 Bot。
部署步骤
第一步:Docker Compose 部署 Uptime Kuma
# /opt/uptime-kuma/docker-compose.ymlversion:"3.8"services:uptime-kuma:image:louislam/uptime-kuma:latestcontainer_name:uptime-kumarestart:unless-stoppedports:-"3001:3001"volumes:-./data:/app/dataenvironment:-UPTIME_KUMA_PORT=3001启动服务:
mkdir-p/opt/uptime-kumacd/opt/uptime-kumadockercompose up-d浏览器访问http://服务器IP:3001,完成初始账号注册。
第二步:配置反向代理与 HTTPS
以 Nginx Proxy Manager 为例,添加代理主机:
- Domain Names:
monitor.example.com - Scheme:
http,Forward Hostname:uptime-kuma,Forward Port:3001 - SSL:勾选 “Request a new SSL Certificate”,勾选 “Force SSL”
状态页同理,单独配置status.example.com代理到同一后端(Uptime Kuma 内置状态页服务)。
核心功能
通知渠道配置
进入 Uptime Kuma 后台 →Settings→Notifications→Setup Notification。
Telegram 通知配置
在 Telegram 与 Bot 的对话中发送任意消息,然后访问:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
获取chat_id。Uptime Kuma 中选择类型为Telegram,填入:
- Bot Token:BotFather 给的 Token
- Chat ID:你的 chat_id(群组 ID 为负数)
点击Test,验证能收到测试消息后保存。
飞书通知配置
飞书使用 Webhook 机器人方式接入:
在飞书群中添加"自定义机器人",复制 Webhook URL(格式:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx)。Uptime Kuma 中选择类型为Feishu(或Lark),填入 Webhook URL。
若飞书机器人开启了签名校验,还需填入 Secret Key,Uptime Kuma 会自动处理 HMAC-SHA256 签名。
发送的告警消息格式示例:
[DOWN] 🔴 服务名称 - HTTP 502 持续时间: 3 分钟 URL: https://your-service.com 时间: 2026-05-23 14:32:10企业微信通知配置
企业微信支持两种接入方式:
方式一:企业微信群机器人(推荐)
- 在企业微信群中 → 添加群机器人 → 复制 Webhook URL。
- Uptime Kuma 选择WeCom类型,填入 Webhook URL,类型选择群机器人。
方式二:企业微信应用推送
需要企业微信管理员权限,配置相对复杂,适合需要推送到个人账号的场景:
企业 ID (CorpID): wx1234567890abcdef 应用密钥 (CorpSecret): your_corp_secret 应用 ID (AgentID): 1000001 接收成员: @all 或指定用户名PagerDuty 通知配置
PagerDuty 适合需要值班轮转和升级策略的企业场景:
在 PagerDuty 控制台创建Service→ 选择集成类型Uptime Kuma(或通用 Events API v2)→ 复制Integration Key。
Uptime Kuma 选择PagerDuty类型,填入:
- Integration Key:从 PagerDuty 复制的 Key
- Auto Resolve:建议开启,服务恢复时自动关闭 PagerDuty 告警
配置 PagerDuty 端的值班计划和升级策略,实现告警 5 分钟未处理自动升级。
进阶配置
状态页自定义域名与 HTTPS
Uptime Kuma 内置多状态页支持,每个状态页可配置独立域名:
后台 →Status Pages→New Status Page→ 填写页面名称和 Slug(如
public)。在Custom Domain字段填入
status.example.com。在 DNS 提供商处将
status.example.com解析到服务器 IP。在 Nginx Proxy Manager 中为
status.example.com配置反向代理,指向uptime-kuma:3001,并申请 SSL 证书。Uptime Kuma 会识别请求的
Host头,自动展示对应状态页。
公开状态页嵌入
状态页支持通过<iframe>嵌入到你的官网或文档站:
<iframesrc="https://status.example.com"width="100%"height="600"frameborder="0"scrolling="auto"></iframe>若只需嵌入摘要徽章,可使用 Uptime Kuma 提供的徽章 API:
 监控组分类管理
Uptime Kuma 支持通过Tags(标签)对监控项进行分组,并在状态页上按组展示:
后台 →Tags→ 创建标签(如:
生产环境、数据库、API 服务、CDN)。编辑每个监控项,在Tags字段添加对应标签。
在状态页配置中,将监控项按标签分组展示,用户可清晰看到各类服务的健康状态。
告警静默策略
在版本 1.22+ 中,Uptime Kuma 支持维护窗口(Maintenance):
- 后台 →Maintenance→New Maintenance。
- 配置维护时间段(支持一次性和循环计划)。
- 将需要静默的监控项关联到该维护窗口,维护期间不发送告警通知。
心跳监控(Push 模式)
除 HTTP/TCP/Ping 等主动探测模式外,Uptime Kuma 还支持心跳(Heartbeat)模式,适合监控定时任务:
- 新建监控 → 类型选Push。
- 复制生成的 Push URL(格式:
https://monitor.example.com/api/push/xxxxxx?status=up&msg=OK)。 - 在 Cron 任务末尾添加 curl 调用:
02* * * /path/to/backup.sh&&curl-fsS"https://monitor.example.com/api/push/xxxxxx?status=up&msg=OK&ping=">/dev/null若任务失败(curl 未被调用),Uptime Kuma 在超时后自动标记为 DOWN 并触发告警。
常见问题
Q:配置了通知渠道,但收不到告警,如何排查?
A:先点击通知配置页的Test按钮,确认通知渠道本身可用。若测试成功但真实告警不发送,检查监控项的Notification字段是否关联了对应渠道。同时确认Heartbeat Interval和Retries配置,避免因重试机制导致的延迟。
Q:飞书机器人 Webhook 提示"sign error"。
A:飞书机器人开启签名校验后,Webhook 请求需携带时间戳和签名。确认 Uptime Kuma 版本 ≥ 1.20,旧版本可能不支持飞书签名。升级命令:
dockerpull louislam/uptime-kuma:latestdockercompose up-dQ:状态页自定义域名配置后显示 404。
A:确认以下三点:① DNS 已正确解析;② Nginx Proxy Manager 代理指向正确端口;③ Uptime Kuma 状态页的Custom Domain字段填写的是不带协议头的纯域名(status.example.com,非https://status.example.com)。
Q:监控数量超过 50 个后,页面响应变慢。
A:可通过限制 SQLite 的 WAL 模式优化:
dockerexec-ituptime-kuma sqlite3 /app/data/kuma.db"PRAGMA journal_mode=WAL;"若监控量持续增长,建议升级到 2 核 4GB 机型。
Uptime Kuma 的价值不仅在于监控本身,更在于及时、精准的告警通知和专业的状态页展示。选用雨云服务器 rainyun-com1 核 2GB 机型即可流畅运行完整监控栈,优惠码2026off助你以最低成本搭建起生产级可观测体系,让团队在故障发生的第一时间收到通知、快速响应。