louislam/uptime-kuma 是一款开源的自托管监控工具,85,123 Stars,使用 Node.js 开发。它可以监控网站、API、服务器的在线状态,并在服务下线时及时通知,堪称开源版的 Uptime Robot。相比商业监控服务,Uptime Kuma 完全免费,数据私有化,适合个人开发者和小型团队。
平台特色
Uptime Kuma 功能丰富,监控能力强大,同时保持了简洁的界面设计。
主要特点:
- 多种监控类型:HTTP(s) / TCP / HTTP(s) 关键字 / Ping / DNS / Docker 容器 / 游戏服务器
- 精美的状态页面:自动生成公开监控状态页,展示所有服务的可用性
- 丰富的通知渠道:支持 Telegram、Discord、Slack、邮件、钉钉、企业微信、Pushover 等 90+ 种通知方式
- 响应时间图表:记录每次检测的响应时间,生成历史趋势图
- 证书监控:自动监控 SSL 证书到期时间,提前告警
- Docker 监控:直接监控容器状态,无需在容器内安装 Agent
- 中文界面:原生支持中文
- 权限管理:支持多用户和角色权限控制
安装步骤
方式一:Docker 部署(推荐)
# 创建数据目录
mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma
# 运行容器
docker run -d \
--name uptime-kuma \
-p 3001:3001 \
-v /opt/uptime-kuma/data:/app/data \
--restart unless-stopped \
louislam/uptime-kuma:latest
# 访问 http://服务器IP:3001 开始设置
方式二:Docker Compose 部署
version: "3.3"
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
volumes:
- ./uptime-kuma-data:/app/data
ports:
- "3001:3001"
restart: unless-stopped
方式三:Node.js 直接安装
# 克隆仓库
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
# 安装依赖
npm run setup
# 启动
npm run start-server
# 或使用 PM2
pm2 start server/server.js --name uptime-kuma
使用方法
第一步:创建管理员账号
首次访问时按提示创建管理员用户名和密码。
第二步:添加监控项
点击”新增监控”按钮,配置监控参数:
监控名称:我的博客
监控类型:HTTP(s)
监控地址:https://example.com
监控间隔:60 秒
超时时间:30 秒
关键字检查:(可选)填入页面中必须存在的文字
第三步:配置告警通知
进入”设置 → 通知”页面,添加通知渠道。以 Telegram 为例:
1. 在 Telegram 中搜索 @BotFather,创建机器人,获取 Token
2. 在设置中添加通知,选择 Telegram
3. 填入 Bot Token 和你的 Chat ID
4. 测试通知是否正常
第四步:生成状态页
进入”状态页”选项卡,点击创建。状态页会自动汇总所有监控项的可用性,以美观的方式展示给用户或客户。
常用监控配置示例:
# HTTP 监控(带 SSL 证书检查)
类型: HTTP(s)
URL: https://yoursite.com
间隔: 5 分钟
SSL 证书到期提醒: 提前 7/30 天
# Docker 容器监控
类型: Docker Container
Docker Socket: /var/run/docker.sock
容器名称: my-nginx
# Ping 监控
类型: Ping
主机: 8.8.8.8
适用场景
- 个人网站监控:监控博客、作品集等小网站的在线状态
- API 服务监控:实时掌握后端 API 的可用性和响应时间
- 服务器监控:监控 VPS、游戏服务器等在线状态
- 客户服务:为客户生成专属状态页,展示服务质量
- SSL 证书管理:防止证书过期导致服务中断
开源协议
Uptime Kuma 采用 MIT 开源许可证,完全免费,支持私有化部署。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








暂无评论内容