什么是 Uptime Kuma?
Uptime Kuma 是一个开源的监控工具,类似于 Uptime Robot,但可以完全自托管。它能够监控网站、API、数据库等各种服务的可用性,并在服务异常时及时通知你。
作为 MES 运维人员,我一直在寻找简单可靠的监控方案,Uptime Kuma 完美满足了我的需求 - 轻量、美观、功能全面。
Docker 部署步骤
环境要求
已安装 Docker 和 Docker Compose
部署命令
# 创建数据目录
mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma
# 创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
volumes:
- ./data:/app/data
ports:
- "3001:3001"
restart: unless-stopped
EOF
# 启动服务
docker-compose up -d部署完成后,访问 http://服务器IP:3001即可进入初始化界面。
支持的监控协议
Uptime Kuma 支持丰富的监控协议:

1. HTTP(S) 监控
GET、POST、PUT、DELETE 等请求方法
自定义请求头和支持身份验证
关键字匹配检查(检查响应内容是否包含特定文本)
SSL 证书过期监控
2. TCP 端口监控
检查特定端口是否开放
支持自定义超时时间
可用于监控数据库、SSH 等服务
3. Ping 监控
ICMP ping 检测
监控网络设备的可达性
响应时间统计
4. DNS 监控
监控 DNS 解析是否正确
支持多种记录类型(A、AAAA、CNAME 等)
响应时间监控
5. Steam 游戏服务器监控
监控游戏服务器状态
玩家数量统计
6. Docker 容器监控
监控容器运行状态
自动发现本地 Docker 容器
推送通知功能
Uptime Kuma 支持多种通知方式:
Telegram:通过 Bot 发送通知
Discord:Webhook 方式推送
Slack:工作区通知
电子邮件:SMTP 配置
Webhook:自定义回调
Pushover:移动端推送
Gotify:自建推送服务
钉钉:工作通知
企业微信:群机器人
仪表盘功能
状态页面
Uptime Kuma 可以生成公开的状态页面,展示所有服务的监控状态:

数据统计
正常运行时间百分比:按月/年统计
平均响应时间:可视化图表展示
事件历史:详细的故障时间线
多服务对比:同时监控多个服务的性能表现

高级监控逻辑
代理支持:通过代理服务器进行监控检查
维护时段:设置计划维护时间,避免误报
依赖关系:配置服务间的依赖关系
认证支持:Basic Auth、Bearer Token 等认证方式
自定义状态码:定义哪些 HTTP 状态码被视为正常
实际使用案例
监控我的个人服务栈
在我的服务器环境中,我用 Uptime Kuma 监控:
云服务器ping(ICMP)
云Frps(TCP)
个人主页(HTTPS)
反代个人博客(HTTPS)
总结
Uptime Kuma 作为一个开源监控解决方案,具有以下优势:
✅ 部署简单:Docker 一键部署
✅ 功能全面:支持多种协议和通知方式
✅ 界面美观:现代化的响应式设计
✅ 资源占用低:轻量级,适合家庭服务器使用
✅ 完全自托管:数据掌握在自己手中
对于像我这样喜欢自建服务的用户来说,Uptime Kuma 是监控服务可用性的完美工具。无论是监控家庭实验室的服务,还是生产环境的关键应用,它都能提供可靠的监控能力。
如果你也在使用 Uptime Kuma,欢迎在评论区分享你的使用经验!