网站宕机了,你是想等用户投诉后才知道,还是想让系统在出问题第一时间通知你?Uptime Kuma 是一款开源的自托管网站监控工具,可以监控HTTP(s)、TCP、DNS、Steam游戏服务器等各种服务的在线状态,宕机时通过90多种渠道实时告警。界面美观、数据直观、配置简单,是个人开发者和小型团队的必备神器。
项目地址:https://github.com/louislam/uptime-kuma
超过85000颗星⭐
为什么需要网站监控?
很多开发者有过这样的经历:服务器在半夜宕机了,直到第二天早上用户发邮件投诉才知情。如果有一个工具能在网站不可访问时立即通知你,就能把故障响应时间从几小时缩短到几分钟。Uptime Kuma 就是来解决这个问题的。
主要功能:
多协议监控:支持HTTP(s)监控(支持关键字和JSON查询验证)、TCP端口监控、Ping监控、DNS记录监控、WebSocket监控、Steam游戏服务器监控、Docker容器监控等。
丰富的通知渠道:内置支持 Telegram、Discord、Gotify、Slack、Pushover、邮件(SMTP)等90多种通知服务,几乎涵盖了所有主流的IM和通知工具。
20秒检测间隔:默认每20秒检测一次,比大多数商业监控服务更频繁,能更快发现故障。
多语言支持:内置30多种语言界面,包括中文。
多状态页面:可以创建自定义的状态展示页面,适合对外展示服务可用性。
证书信息展示:自动检测SSL证书过期时间,提前告警。
2FA双因素认证:保护管理后台安全。
漂亮的可视化图表:每个监控项都有延迟和可用率图表,历史数据清晰可查。
安装方法(Docker方式,最简单):
mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -d
安装完成后访问 http://your-ip:3001 即可。
非Docker安装(需要Node.js 20+):
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
node server/server.js
推荐使用 PM2 后台运行:
npm install pm2 -g && pm2 install pm2-logrotate
pm2 start server/server.js –name uptime-kuma
使用教程:
第一步:首次设置
首次打开界面时,需要创建一个管理员账号。设置用户名和密码后即可进入主界面。
第二步:添加监控项
点击右上角的+号添加监控。选择监控类型:
HTTP(s):输入要监控的URL,支持关键字验证(页面包含某个文本即认为正常)。
TCP:监控某个端口是否开放。
Ping:通过ICMP ping检测服务器是否在线。
DNS:监控域名解析记录是否符合预期。
Push:适合内网机器,通过HTTP POST主动上报状态。
Docker容器:监控特定容器是否在运行。
第三步:配置通知
在设置-通知里添加通知渠道。以Telegram为例:
创建一个Telegram机器人(通过 @BotFather)
获取你的Chat ID
在Uptime Kuma中填入Token和Chat ID
Discord通知配置类似,在服务器设置中创建Webhook即可。
第四步:创建状态页面
在状态页面中可以创建一个公开的可用性展示页面,适合对外展示你服务的稳定性。可以绑定自定义域名,适合服务商展示SLA。
适用场景:
个人博客/网站:监控自己的网站是否正常,发现问题第一时间知道
SaaS服务:向客户提供可用性报告,提升信任度
游戏服务器:监控游戏服状态,玩家自助查看
内网服务:监控内网机器和服务的在线情况
开源协议:MIT
总结:Uptime Kuma 界面美观、功能全面、占用资源少,是目前最流行的自托管监控方案。Docker安装一条命令即可跑起来,配合Telegram或Discord通知,能真正做到随时掌握服务状态。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。








暂无评论内容