前言

我最近有个需求,一直想找一款能监控服务器和网站可用性的工具。说实话,之前踩过不少坑——网站半夜宕机,第二天早上才发现,访客流失一大半,搜索引擎排名也跟着受影响。试过一些在线监控服务,要么免费额度太少,要么通知不够及时,总感觉不踏实。

直到我发现了 Uptime Kuma 这个开源项目,目前(2026-04)在 GitHub 已经拿到 85k+ 的 Star,热度非常高。不得不说这玩意儿是真的香。今天就跟大家分享一下我的使用体验,顺手写个部署教程。

Uptime Kuma 是什么

简单来说,Uptime Kuma 就是一个自托管的服务器监控工具,用来监控网站、API、服务器端口等各种服务的可用性。它是开源的、免费的,而且界面颜值相当高。

主要功能:

  • 支持 HTTP(s)、TCP、Ping、DNS、WebSocket、Docker 容器等多种监控类型
  • 20 秒级别的检测间隔,够快了吧
  • 官方号称 90+ 种通知服务(其中部分通过 Apprise 集成,不同渠道的配置难度差异挺大,尤其是国内的一些服务)
  • 可以创建公开的状态页面,给用户展示服务状态
  • 自动监控 SSL 证书过期时间
  • 支持 2FA 双因素认证
  • 还有,支持中文界面)

对比 Uptime Robot 这类在线服务,Uptime Kuma 的优势在于完全私有化部署,监控数据保存在你自己的服务器,可自主控制访问和备份。

为什么需要它

说个真实的场景:

我之前维护一个小博客,就我自己的那个techaser.top,用的是最便宜的 VPS,偶尔会遇到服务器负载过高或者内存不足导致网站打不开的情况。由于 VPS 性能和稳定性都一般,每次出问题都是等用户反馈才发现,这就很被动了。

有了 Uptime Kuma 之后,我可以:

  • 监控博客首页是否正常响应
  • 监控 VPS 的 SSH 端口是否可达
  • 配置 Telegram 告警,服务器一有问题立刻收到通知
  • 给自己的服务创建一个状态页面,有问题直接丢链接给用户看

说白了,这玩意儿就是让你从被动救火变成主动防御。不管是个人项目还是团队使用都非常合适。

部署前的准备

服务器选择

既然是自托管,首先你得有一台服务器。像腾讯云和阿里云的轻量、雨云(https://www.rainyun.com,注册可填 techaser 这个code拿新人折扣)这类便宜的轻量机或者小厂vps都可以。

配置方面,Uptime Kuma 非常轻量:

  • CPU 1 核 1-2 核
  • 内存 512MB 1GB+
  • 硬盘 5GB 10GB+
  • 系统 Ubuntu 20.04+ / Debian 11+ 主流 Linux 发行版

个人使用的话,1C1G 轻量机完全够用。如果要监控很多服务或者跑数据库,可以适当提高配置。

小贴士:如果想免备案、直接用 IP 访问,选香港节点;有备案的话选国内节点速度更快。

Docker 部署教程

Uptime Kuma 支持多种安装方式,我个人最推荐 Docker 一键部署,省心省力,环境也干净。(中国大陆的服务器需要配置镜像,所以建议用香港的。如果你买了雨云的服务器就直接在服务器管理页面-重装系统/软件里面装docker)

步骤 1:SSH 连接服务器

ssh root@你的服务器IP

步骤 2:安装 Docker(如果还没装)

# Ubuntu / Debian

curl -fsSL https://get.docker.com | sh

# 安装 Docker Compose

apt install docker-compose -y

验证安装:

docker --version

docker-compose --version

步骤 3:一键启动 Uptime Kuma

直接运行以下命令即可:

docker run -d \

  --restart=always \

  -p 3001:3001 \

  -v uptime-kuma:/app/data \

  --name uptime-kuma \

  louislam/uptime-kuma:2

参数说明:

  • --restart=always:容器开机自动启动,服务器重启也不怕
  • -p 3001:3001:把容器内部 3001 端口映射到主机
  • -v uptime-kuma:/app/data:数据持久化,删除容器不会丢数据
  • --name uptime-kuma:给容器起个名字,方便管理

步骤 4:访问 Web 界面

浏览器打开:http://你的服务器IP:3001

大厂的服务器记得放行端口。

首次访问需要配置一些东西。

首先是数据库配置,监控的东西少建议直接选择sqlite

 然后设置管理员账户:

 然后就完事了。

添加第一个监控项

登录后,点击右上角的 添加监控项 来添加监控项。

配置示例

以监控一个网站为例:

  • Monitor Type:HTTP(s)
  • Friendly Name:我的个人博客
  • URL:https://example.com
  • Heartbeat Interval:60 秒(默认,可根据需要调整)
  • Max Retries:3(连续 3 次失败才触发告警)

配置告警通知

监控配置好了还不够,还得有告警才能发挥作用。点击左侧菜单 "设置" → "通知设置",添加通知渠道。

这里以 Telegram 为例:

  • 先在 Telegram 创建机器人,获取 Bot Token
  • 在 Uptime Kuma 通知设置中添加 Telegram 通知
  • 填入 Bot Token 和你的 Chat ID
  • 点击测试,确认能收到消息

配置完成后,当被监控的服务出现问题,你就能第一时间收到通知了。

使用体验

用了一段时间,Uptime Kuma 给我最深的印象是省心:

1. 部署太简单了

一条 Docker 命令就跑起来了,比我想象中简单太多。官方文档也很清晰,遇到问题搜一下基本都能解决。

2. 界面好看,操作直观

深色模式下那个 Ping 图表确实漂亮,响应时间、在线率一目了然。作为一个颜狗,这种 UI 设计真的很对胃口。

3. 通知及时

配置好 Telegram 告警后,服务器出问题基本能在 1 分钟内收到消息。相比之前等用户反馈,这种主动监控的体验完全不一样。

4. 状态页很实用

给博客加了一个公开状态页,有问题直接丢链接给读者,比挨个回复"网站是不是挂了"要轻松很多。

优缺点分析

优点:

  • 完全开源免费,没有监控数量限制
  • Docker 部署简单,官方维护的镜像很稳定
  • 支持 90+ 种通知渠道,选择余地大
  • 界面好看,深色模式好评
  • 数据完全私有化,不用担心隐私问题
  • 社区活跃,更新频繁(作者 Louis Lam 一直在维护)

缺点:

  • 如果监控目标在大陆地区,通知渠道配置起来稍微麻烦(比如企业微信需要企业账号)
  • 默认不支持分布式监控,多节点部署需要额外配置
  • 状态页的定制化程度有限,想要完全自定义风格可能需要魔改

总结

如果你也在找一款简单、好看、功能全的服务器监控工具,Uptime Kuma 绝对值得一试。尤其是对于个人开发者或者小团队来说,完全可以替代那些收费的在线监控服务。

部署也就一条命令的事,何不动手试试?

参考链接

GitHub 仓库:https://github.com/louislam/uptime-kuma

官方文档:https://uptimekuma.net/

如果部署过程中遇到问题,欢迎在评论区留言,看到了会尽量解答。

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐