banner
约 1,200 字
4 分钟

Uptime Kuma 监控教程:给自己的服务请个保安

摘要

Uptime Kuma 是开源自托管监控面板,网站挂了立刻通知你。本教程介绍 Docker 官方推荐的安装方式、HTTP/TCP/DNS 等监控项配置与重试策略、Telegram/邮件/Webhook 通知渠道、对外状态页功能,以及独立部署与升级注意事项。

Uptime Kuma 监控教程:给自己的服务请个保安

网站半夜挂了,你第二天才知道?Uptime Kuma 是开源的自托管监控面板:定时探测你的网站/端口/接口,挂了立刻通过邮件、Telegram、企业微信等通知你,界面还很好看。本教程依据 Uptime Kuma 官方 GitHub 仓库文档整理。

一、安装(Docker 官方推荐)

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

浏览器打开 http://服务器IP:3001,首次访问创建管理员账号即可。(也可以下载可执行文件直接运行,或用 Compose 编排。)

注意 :1 是当前稳定大版本标签,官方文档明确建议不要用 latest 以免大版本升级带来数据兼容问题。

二、添加监控项

登录后点「添加监控项」,常用类型:

类型

适用场景

HTTP(s)

网站、API 可用性,可校验关键字/状态码

HTTP(s) - 关键词

页面内容包含/不包含某字符串

TCP 端口

数据库、SSH 等非 HTTP 服务

Ping

基础连通性

DNS

域名解析是否正确

Docker 容器

直接监控本机容器状态

核心配置:

  • 心跳间隔:默认 60 秒探测一次,个人服务 60-120 秒足够

  • 重试次数:建议 2-3 次,避免网络抖动造成误报

  • 证书过期提醒:HTTP 监控自带,提前 N 天提醒你续证书

三、通知渠道

设置 → 通知,支持的渠道超过 90 种,常用的有:

  • Telegram:找 @BotFather 建个 Bot 拿到 token,Kuma 里填 token 和聊天 ID,一分钟后消息就到手机

  • 邮件(SMTP):填邮箱服务商的 SMTP 信息

  • 企业微信/钉钉/飞书:用群机器人的 Webhook 地址

  • Webhook:任何自定义接口都能接

通知可以按监控项单独配置,也可以配置"应用后启用到所有监控项"。

四、状态页

Uptime Kuma 可以生成公开的状态页(类似 status.github.com):

  1. 左侧「状态页」→ 新建

  2. 勾选要展示的监控项

  3. 发给用户/朋友一个只读链接,含最近的心跳记录和响应时间图表

配合 Cloudflare Tunnel(本站有教程)可以把状态页发布成 status.你的域名.com

五、监控自己要注意的事

  • Kuma 部署在被监控的同一台服务器上意义有限——服务器整个挂了它也跟着挂。理想部署:一台独立的小 VPS 或家里设备监控外部服务器

  • 探测间隔别调太短,过密的心跳既浪费也是对目标服务器的压力

  • 定期升级:docker pull louislam/uptime-kuma:1 && 重建容器,数据在卷里不会丢

六、总结

需求

做法

装起来

一条 docker run,端口 3001

监控网站

HTTP(s) 监控项

挂了通知

Telegram/邮件/Webhook

对外展示

状态页功能

数据持久化

挂载 volume

十五分钟搭好,换来"服务挂了 1 分钟内手机响"的安心感——自托管玩家的第一课,值得先上这一节。

END