📅 最后更新于 2026-06-23

用 VPS 搭一个网站监控

Uptime Kuma 是轻量的开源网站监控工具,用 Docker 部署只需 512MB 内存。与其付费买 UptimeRobot 或 Better Uptime,不如用一台便宜 VPS 自己跑。

什么是 Uptime Kuma?

Uptime Kuma 是一个开源的网站和服务监控工具,可以:

部署后完全替代 UptimeRobot(免费版限制 50 个监控项),所有数据都在自己的 VPS 上。

需要什么配置?

最低

  • 1 vCPU
  • 512 MB 内存
  • 10 GB SSD
  • 适合:监控 20 个以内的网站或服务
  • 月费约 $2-3

推荐

  • 1 vCPU
  • 1 GB 内存
  • 20 GB SSD
  • 适合:50-100 个监控项,含状态页面
  • 月费约 $3-5

有余量

  • 1-2 vCPU
  • 2 GB 内存
  • 30 GB SSD
  • 适合:100+ 监控项 + 同时跑其他服务
  • 月费约 $5-10

Uptime Kuma 是资源占用最小的自托管工具之一。用 Node.js 写的单进程应用,内存占用通常在 100-300 MB,加上 SQLite 数据库,512 MB VPS 就能跑得很稳。

Docker Compose 部署(3 分钟)

1. 安装 Docker

apt update && apt upgrade -y
curl -fsSL https://get.docker.com | sh

2. 创建 docker-compose.yml

mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma

复制以下内容到 docker-compose.yml:

version: '3.8'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - kuma_data:/app/data
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  kuma_data:

3. 启动

docker compose up -d

访问 http://你的服务器IP:3001,创建管理员账号,然后就能添加监控项了。

4. 配置告警通知(可选但推荐)

进入「设置 → 通知」,添加至少一个通知渠道。Telegram 通知最简单:

  1. 在 Telegram 找 @BotFather 创建一个 Bot,拿到 Token
  2. 把 Bot 拉进一个群或频道
  3. 在 Uptime Kuma 的通知设置中选 Telegram,填入 Token 和 Chat ID

配置完成后,任何一个监控项出问题,都会即时推送到 Telegram。

监控什么?

Uptime Kuma 最常见的监控场景:

用哪家 VPS?

关键原则:监控 VPS 应该和被监控的服务不在同一台机器上。否则被监控的 VPS 宕机,监控也跟着挂了,起不到告警作用。
商家推荐配置月费适合场景
RackNerd 1GB KVM 活动款 $10-15/年 纯监控用途,不需要中国优化
InterServer 1 Slice (2GB) $3/月 监控 + 跑其他自托管服务
Hetzner CX22 (2GB) €3.79/月 欧洲方向,IP 稳定
Vultr 1GB Cloud Compute $6/月 全球多机房可选,按小时测试

选择建议

常见问题

常见问题

Uptime Kuma 和 UptimeRobot 有什么区别?
功能相近,核心区别:Uptime Kuma 免费且不限监控数量,数据在你自己 VPS 上;UptimeRobot 免费版限 50 个监控项、5 分钟检测间隔。自托管的代价是 VPS 月费($3-5),但换来了无限制监控和完全数据控制。
监控 VPS 可以和网站放在同一台 VPS 上吗?
技术上可以(512MB 内存足够),但不推荐。如果这台 VPS 宕机了,监控也跟着失效。监控应该在另一台独立的 VPS 上,最好是不同机房、不同商家。
1GB 流量够吗?
完全够。Uptime Kuma 每次 HTTP 检测只发一个 HEAD/GET 请求,几十字节的流量。即使每分钟检测 50 个网站,月流量也在 2-5 GB 以内。任何 VPS 的流量包都绰绰有余。
怎么备份 Uptime Kuma 的数据?
最简单的是备份 Docker 数据卷。Uptime Kuma 用 SQLite 存储所有数据,停掉容器后把 volume 目录打包就行。也可以设置定时任务用 rsync 同步到另一台 VPS。
Uptime Kuma 支持多用户吗?
支持。可以在设置中创建多个用户账号,给团队成员分别分配监控项权限。还支持 2FA(双因素认证)。