找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

28

积分

0

好友

3

主题
发表于 2025-10-24 16:03:26 | 查看: 23| 回复: 0
212262296-e6205815-ad62-488c-83ec-a5b0d0689f7c.jpg

凌晨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

来自圈子: 云栈运维云原生
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-11-5 21:24 , Processed in 0.070561 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表