凌晨3点,生产环境挂了,你却还在睡觉?
做运维的都懂,最怕的就是服务宕机无人知晓。商业监控工具动辄几千上万,Prometheus + Grafana 配置起来又太复杂。今天分享一个5分钟就能跑起来的监控工具——Uptime Kuma。
什么是 Uptime Kuma
Uptime Kuma 是一款开源的自托管监控工具,专门用来监控服务可用性。它的特点是部署简单、功能够用、界面友好。
核心功能:
- 支持 HTTP(s)、TCP、Ping、DNS、Docker 容器等多种监控
- 集成 90 多种通知方式(企业微信、钉钉、Telegram、邮件等)
- 自带状态页面,可以公开展示服务运行情况
- 数据存储在 SQLite,不依赖外部数据库
简单来说,它就是用来回答"我的服务还活着吗"这个问题。
快速部署
基础部署
一条 Docker 命令就能跑起来:
docker run -d --restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:2
浏览器访问 http://服务器IP:3001,首次打开会让你创建管理员账号。
生产环境配置
建议用 Nginx 做反向代理,配置 HTTPS:
location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
重要提示: 必须配置 WebSocket 支持,不然实时数据推送会失效。
实际使用场景
监控 API 接口
添加 HTTP(s) 监控器,填入接口地址,设置检测间隔(建议 60 秒)。可以配置期望的状态码、响应时间阈值、关键字匹配等。
比如监控一个订单查询接口,可以设置:
- 期望返回 200 状态码
- 响应时间超过 3 秒告警
- 返回内容包含 "success" 字段
监控 Docker 容器
如果服务跑在 Docker 里,可以直接监控容器状态:
docker run -d --restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
-v /var/run/docker.sock:/var/run/docker.sock \
--name uptime-kuma \
louislam/uptime-kuma:2
挂载 Docker Socket 后,选择"Docker 容器"监控类型,指定容器名称即可。
集成 CI/CD 流水线
Uptime Kuma 提供 Push 监控器,适合定时任务或部署流水线上报状态:
curl -X POST https://your-domain.com/api/push/xxxxx \
-d "status=up&msg=Deploy Success&ping=120"
在 Jenkins 或 GitLab CI 的部署脚本末尾加上这行,就能实时追踪发布状态。
几个实用技巧
数据持久化: 一定要用本地卷挂载,别用 NFS 等网络存储,SQLite 会出现数据库锁问题。
告警策略: 支持连续失败 N 次才触发告警,避免网络抖动造成误报。
状态页面: 可以创建公开的状态页面(类似 status.example.com),展示服务可用率和历史记录,提升用户信任度。
资源占用: 监控 50 个目标时,内存占用约 100MB,CPU 空闲时不到 5%,非常轻量。
适用场景
- 个人开发者监控自己的网站、博客、API
- 小团队快速搭建内部监控平台
- 运维工程师监控生产环境服务可用性
- DevOps 流程中的健康检查环节
局限性
说实话,Uptime Kuma 不是万能的:
- 不支持分布式监控(无法从多个地理位置探测)
- 没有复杂的指标分析和可视化(不是 Prometheus 的替代品)
- 告警规则比较简单,不支持复杂表达式
- 单实例建议监控目标不超过 500 个
它的定位就是轻量级的可用性监控,专注解决"服务是否在线"这个核心问题。
总结
Uptime Kuma 用最简单的方式解决了监控的基本需求。对于不需要复杂指标分析、只想快速搭建监控系统的场景,它是个不错的选择。
开源、免费、易用——这就是它的核心价值。
关注《云栈运维云原生》,持续分享运维实战经验!
项目地址
https://github.com/louislam/uptime-kuma
官方文档
https://github.com/louislam/uptime-kuma/wiki
在线演示
https://demo.uptime.kuma.pet
1024程序员节课程推荐
Java就业班 : https://yunpan.plus/t/412-1-1
Python大数据 : https://yunpan.plus/t/417-1-1
爬虫+JS逆向 : https://yunpan.plus/t/419-1-1
标签:#UptimeKuma #Github #服务监控 #Docker部署 #开源工具 #运维实战 #DevOps