【开源项目】网站宕机几小时才发现?这个开源监控工具让我睡上了安稳觉
前言
我最近有个需求,一直想找一款能监控服务器和网站可用性的工具。说实话,之前踩过不少坑——网站半夜宕机,第二天早上才发现,访客流失一大半,搜索引擎排名也跟着受影响。试过一些在线监控服务,要么免费额度太少,要么通知不够及时,总感觉不踏实。
直到我发现了 Uptime Kuma 这个开源项目,目前(2026-04)在 GitHub 已经拿到 85k+ 的 Star,热度非常高。不得不说这玩意儿是真的香。今天就跟大家分享一下我的使用体验,顺手写个部署教程。
Uptime Kuma 是什么
简单来说,Uptime Kuma 就是一个自托管的服务器监控工具,用来监控网站、API、服务器端口等各种服务的可用性。它是开源的、免费的,而且界面颜值相当高。
主要功能:
- 支持 HTTP(s)、TCP、Ping、DNS、WebSocket、Docker 容器等多种监控类型
- 20 秒级别的检测间隔,够快了吧
- 官方号称 90+ 种通知服务(其中部分通过 Apprise 集成,不同渠道的配置难度差异挺大,尤其是国内的一些服务)
- 可以创建公开的状态页面,给用户展示服务状态
- 自动监控 SSL 证书过期时间
- 支持 2FA 双因素认证
- 还有,支持中文界面)
对比 Uptime Robot 这类在线服务,Uptime Kuma 的优势在于完全私有化部署,监控数据保存在你自己的服务器,可自主控制访问和备份。
为什么需要它
说个真实的场景:
我之前维护一个小博客,就我自己的那个techaser.top,用的是最便宜的 VPS,偶尔会遇到服务器负载过高或者内存不足导致网站打不开的情况。由于 VPS 性能和稳定性都一般,每次出问题都是等用户反馈才发现,这就很被动了。
有了 Uptime Kuma 之后,我可以:
- 监控博客首页是否正常响应
- 监控 VPS 的 SSH 端口是否可达
- 配置 Telegram 告警,服务器一有问题立刻收到通知
- 给自己的服务创建一个状态页面,有问题直接丢链接给用户看
说白了,这玩意儿就是让你从被动救火变成主动防御。不管是个人项目还是团队使用都非常合适。
部署前的准备
服务器选择
既然是自托管,首先你得有一台服务器。像腾讯云和阿里云的轻量、雨云(https://www.rainyun.com,注册可填 techaser 这个code拿新人折扣)这类便宜的轻量机或者小厂vps都可以。
配置方面,Uptime Kuma 非常轻量:
- CPU 1 核 1-2 核
- 内存 512MB 1GB+
- 硬盘 5GB 10GB+
- 系统 Ubuntu 20.04+ / Debian 11+ 主流 Linux 发行版
个人使用的话,1C1G 轻量机完全够用。如果要监控很多服务或者跑数据库,可以适当提高配置。
小贴士:如果想免备案、直接用 IP 访问,选香港节点;有备案的话选国内节点速度更快。
Docker 部署教程
Uptime Kuma 支持多种安装方式,我个人最推荐 Docker 一键部署,省心省力,环境也干净。(中国大陆的服务器需要配置镜像,所以建议用香港的。如果你买了雨云的服务器就直接在服务器管理页面-重装系统/软件里面装docker)
步骤 1:SSH 连接服务器
ssh root@你的服务器IP
步骤 2:安装 Docker(如果还没装)
# Ubuntu / Debian
curl -fsSL https://get.docker.com | sh
# 安装 Docker Compose
apt install docker-compose -y
验证安装:
docker --version
docker-compose --version
步骤 3:一键启动 Uptime Kuma
直接运行以下命令即可:
docker run -d \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:2
参数说明:
- --restart=always:容器开机自动启动,服务器重启也不怕
- -p 3001:3001:把容器内部 3001 端口映射到主机
- -v uptime-kuma:/app/data:数据持久化,删除容器不会丢数据
- --name uptime-kuma:给容器起个名字,方便管理
步骤 4:访问 Web 界面
浏览器打开:http://你的服务器IP:3001
大厂的服务器记得放行端口。
首次访问需要配置一些东西。
首先是数据库配置,监控的东西少建议直接选择sqlite。

然后设置管理员账户:
然后就完事了。

添加第一个监控项
登录后,点击右上角的 添加监控项 来添加监控项。
配置示例
以监控一个网站为例:
- Monitor Type:HTTP(s)
- Friendly Name:我的个人博客
- URL:https://example.com
- Heartbeat Interval:60 秒(默认,可根据需要调整)
- Max Retries:3(连续 3 次失败才触发告警)
配置告警通知
监控配置好了还不够,还得有告警才能发挥作用。点击左侧菜单 "设置" → "通知设置",添加通知渠道。
这里以 Telegram 为例:
- 先在 Telegram 创建机器人,获取 Bot Token
- 在 Uptime Kuma 通知设置中添加 Telegram 通知
- 填入 Bot Token 和你的 Chat ID
- 点击测试,确认能收到消息
配置完成后,当被监控的服务出现问题,你就能第一时间收到通知了。
使用体验
用了一段时间,Uptime Kuma 给我最深的印象是省心:
1. 部署太简单了
一条 Docker 命令就跑起来了,比我想象中简单太多。官方文档也很清晰,遇到问题搜一下基本都能解决。
2. 界面好看,操作直观
深色模式下那个 Ping 图表确实漂亮,响应时间、在线率一目了然。作为一个颜狗,这种 UI 设计真的很对胃口。
3. 通知及时
配置好 Telegram 告警后,服务器出问题基本能在 1 分钟内收到消息。相比之前等用户反馈,这种主动监控的体验完全不一样。
4. 状态页很实用
给博客加了一个公开状态页,有问题直接丢链接给读者,比挨个回复"网站是不是挂了"要轻松很多。
优缺点分析
优点:
- 完全开源免费,没有监控数量限制
- Docker 部署简单,官方维护的镜像很稳定
- 支持 90+ 种通知渠道,选择余地大
- 界面好看,深色模式好评
- 数据完全私有化,不用担心隐私问题
- 社区活跃,更新频繁(作者 Louis Lam 一直在维护)
缺点:
- 如果监控目标在大陆地区,通知渠道配置起来稍微麻烦(比如企业微信需要企业账号)
- 默认不支持分布式监控,多节点部署需要额外配置
- 状态页的定制化程度有限,想要完全自定义风格可能需要魔改
总结
如果你也在找一款简单、好看、功能全的服务器监控工具,Uptime Kuma 绝对值得一试。尤其是对于个人开发者或者小团队来说,完全可以替代那些收费的在线监控服务。
部署也就一条命令的事,何不动手试试?
参考链接
GitHub 仓库:https://github.com/louislam/uptime-kuma
官方文档:https://uptimekuma.net/
如果部署过程中遇到问题,欢迎在评论区留言,看到了会尽量解答。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)