云计算百科
云计算领域专业知识百科平台

Uptime Kuma 部署实战:极空间监控网站、SSL 与 TCP 端口,再配置远程访问

前言

监控这件事最容易踩的坑,不是“不会装”,而是装完以后就以为自己已经安心了。

Uptime Kuma 页面能打开,只代表监控工具本身跑起来;真正有用,还得继续做几件事:加监控项、确认探测正常、看清到底监控的是网站还是端口,再考虑自己不在家时怎么查看这套监控。

这几层如果混在一起,很容易出现一种假安全感:仪表盘是绿的,但真正关心的服务根本没被监控;或者监控本身正常,可一离开局域网就看不到页面。

所以这次不把 Uptime Kuma 写成“装上就能告别宕机焦虑”的万能工具,而是按实际操作把链路拆开:

极空间 SSH / Docker → Uptime Kuma → 3005 管理页面 → HTTP(s) + SSL 过期提醒 → TCP 端口监控 → cpolar → 3005 随机公网访问 → Uptime-Kuma 固定二级子域名。

这套流程更适合一种偏谨慎的运维习惯:

宁可多确认一次,也不要把“监控工具在线”误当成“所有业务都被监控好了”。

image-20260624151708919

1. Uptime Kuma 真正负责什么?

Uptime Kuma 是一套自托管的可用性监控工具。

它可以用来监测网站、API、端口、Ping、DNS 等服务是否可达,并在界面中查看状态和响应时间。文章里还介绍了 Docker、Steam、gRPC、MySQL、PostgreSQL、Redis,以及大量通知渠道等能力。

不过这次真正实际演示出来的内容很集中:

  • Uptime Kuma Docker 部署;
  • 创建登录账号;
  • HTTP(s) 网站监控;
  • SSL 证书过期提醒;
  • TCP 端口监控;
  • MySQL 3306;
  • Redis 6379;
  • cpolar 远程访问 Uptime Kuma 页面;
  • 固定二级子域名。

因此,更准确的定位是:

先把“服务现在到底通不通”这件事变得可见。

至于 90+ 通知渠道、资源占用、80k GitHub 星标、高可用、多用户权限等信息,可以帮助了解项目,但并不是这次环境里逐项测出来的结果。

2. 部署前先确认 SSH 和 Docker

2.1 SSH 连接极空间

先开启 SSH 服务,然后从 Windows PowerShell 或 Mac Terminal 登录:

ssh root@IP

如果还没有配置 SSH,可以参考对应的极空间 SSH 教程。

image-20260522154032880

2.2 检查 Docker

继续确认 Docker 是否可用:

docker -v
systemctl status -v

image-20251017103712618

这里的 systemctl status -v 按现有命令记录保留,不自行改写。

这一步的目的很简单:

容器环境先确认正常,再往上放监控工具。

3. 两种方式部署 Uptime Kuma

3.1 Docker Compose

先创建目录:

mkdir -p /docker/Uptime Kuma
chmod -R 777 /Uptime Kuma

这里有一个明显的路径写法需要照原记录保留:

  • mkdir -p /docker/Uptime Kuma
  • chmod -R 777 /Uptime Kuma

路径中包含空格,而且两条命令使用的目录也并不完全一致。这一版不擅自替换。

接着创建并编辑:

docker-compose.yml

vi docker-compose.yml

Compose 配置如下:

version: "3.8"

services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
ports:
"3005:3001"
volumes:
– ./data:/app/data
environment:
TZ=Asia/Shanghai

这里使用的是:

  • 镜像:louislam/uptime-kuma:2
  • 容器名:uptime-kuma
  • 重启策略:unless-stopped
  • 端口:3005:3001
  • 数据目录:./data:/app/data
  • 时区:Asia/Shanghai

然后启动:

docker-compose up -d

3.2 docker run

如果不使用 Compose,也可以直接执行:

docker run -d –restart=always -p 3005:3001 -v uptime-kuma:/app/data –name uptime-kuma louislam/uptime-kuma:1

image-20260624155749540

这里又出现一个需要保留的版本差异:

  • Compose 镜像:louislam/uptime-kuma:2
  • docker run 镜像:louislam/uptime-kuma:1

两种方式的镜像标签不同,本版不擅自统一。

部署完成以后,浏览器打开:

http://极空间IP:3005

image-20260624160113068

看到 Uptime Kuma 页面,只能说明监控平台已经跑起来。

真正的监控还没开始。

4. 先把 Uptime Kuma 本身管理好

常用容器管理命令如下:

# 查看容器状态
docker ps | grep uptime-kuma

# 查看日志
docker logs -f uptime-kuma

# 停止容器
docker stop uptime-kuma

# 启动容器
docker start uptime-kuma

# 重启容器
docker restart uptime-kuma

# 删除容器(数据不会丢失)
docker rm -f uptime-kuma

接着创建用户名和密码。

image-20260624161846347

登录以后进入 Uptime Kuma 主界面。

image-20260624161912238

到这里第一层结束:

Uptime Kuma 已经能正常启动、登录和管理。

接下来才是最重要的部分——建立真实监控项。

5. 先监控一个 Web 服务,再加 SSL 过期提醒

这次使用网站做 HTTP(s) 监控示例。

操作路径是:

  • 点击左上角“+ 添加监控项”;
  • 类型选择 HTTP(s);
  • URL 填入要监控的网址;
  • 高级设置中勾选“证书过期提醒”;
  • 剩余天数示例设为 7 天;
  • 心跳间隔建议设置为 60 秒。
  • 示例监控的是:

    首页

    image-20260625152632756

    保存以后,监控状态正常。

    image-20260625152554304

    这一层验证的其实是两件事:

    • 网站 HTTP(s) 可用性监控已经建立;
    • SSL 证书过期提醒选项已经配置。

    这并不等于“已经模拟过一次 SSL 真过期并收到通知”,因为这次没有做这样的故障演练。

    6. 网站能打开,不代表数据库端口也正常

    这是监控里很容易忽略的一点。

    一个 Web 页面还在线,不代表后端数据库或中间件一定正常。

    所以这次又增加了 TCP Port 监控。

    配置方式是:

  • 监控类型:TCP Port
  • Hostname:数据库服务器 IP
  • Port:
    • MySQL:3306
    • Redis:6379
  • image-20260625163410673

    保存以后,TCP 监控状态正常。

    image-20260625163428160

    到这里,Uptime Kuma 的监控范围已经不只是“一个网站有没有响应”,还加入了具体端口可达性。

    但要注意:

    TCP 端口可达,不等于数据库业务逻辑完全正常。

    它只能说明目标端口当前能够建立对应探测,这个边界不要写过头。

    7. cpolar 在这里到底解决哪一个问题?

    这篇有一个很容易混淆的地方。

    前面提到,当被监控服务在内网时,可以通过内网穿透让外部监控系统访问内部资源。

    但后面的实际 cpolar 配置,并不是在穿透某个“被监控的数据库或网站”,而是在穿透:

    Uptime Kuma 自己的 3005 管理页面。

    所以这次真正完成的是:

    人在外面也能打开 Uptime Kuma 监控面板。

    而不是“已经通过 cpolar 把所有内网目标逐个暴露出来让 Uptime Kuma 探测”。

    这个区别很重要。

    8. 安装 cpolar

    执行安装命令:

    sudo curl https://get.cpolar.sh | sh

    image-20250725104019896

    安装完成后查看服务状态:

    sudo systemctl status cpolar

    22e5adfaf290a17fc3384bb296055259

    cpolar 服务起来以后,通过主机 IP + 9200 进入 Web 管理界面。

    显示文字使用:

    http://ip:9200

    Markdown 链接目标则是:

    http://localhost:9200/

    这两种记录不一致,因此继续按现有内容保留,不自行统一。

    8a6698b1bf26d64ba3645827fbfb1c29

    登录以后即可为 Uptime Kuma 建立公网入口。

    9. 先用随机域名验证 3005

    进入【隧道管理 → 创建隧道】,配置如下:

    • 隧道名称:Uptime-Kuma
    • 协议:http
    • 本地地址:3005
    • 域名类型:随机域名
    • 地区:China Top

    image-20260625173144872

    创建以后,在在线隧道列表中可以看到生成的公网地址。

    image-20260625173157680

    换到其他电脑或移动端访问。

    image-20260625173211002

    页面能够正常打开。

    这一步真正能确认的是:

    Uptime Kuma 的 3005 管理页面已经可以通过公网地址访问。

    先确认随机地址能通,再处理固定域名,会比一开始就把两件事揉在一起更容易排查。

    10. 长期使用时,再换固定二级子域名

    随机地址适合测试,但作为长期监控面板入口,固定地址更方便。

    进入 cpolar 预留功能。

    image-20250918151358733

    地区选择:

    china Top

    这次使用的二级子域名是:

    Uptime-Kuma

    image-20260625175040592

    然后回到 cpolar Web UI,在隧道列表中找到对应隧道并编辑。

    image-20260625175105766

    修改为:

    • 域名类型:二级子域名
    • Sub Domain:填写保留成功的二级子域名
    • 地区:China Top

    点击更新。

    image-20260625175139722

    最后使用固定公网地址访问。

    image-20260625175201605

    页面能够正常打开。

    image-20260625175225992

    到这里,固定远程监控面板入口配置完成。

    总结

    Uptime Kuma 真正解决的,不是“从此不会宕机”。

    它解决的是:

    服务出了问题以后,你能不能更早看到。

    而这次实际跑通的是一条很明确的链:

    极空间 → Docker → Uptime Kuma → 3005 → HTTP(s) 监控 → SSL 过期提醒 → TCP Port → MySQL 3306 / Redis 6379 → cpolar → 随机公网监控面板 → Uptime-Kuma 固定二级子域名。

    能够确认的操作包括:

    • ssh root@IP
    • Docker 环境检查
    • Docker Compose 部署
    • louislam/uptime-kuma:2
    • docker run 部署
    • louislam/uptime-kuma:1
    • 3005:3001
    • ./data:/app/data
    • uptime-kuma:/app/data
    • TZ=Asia/Shanghai
    • 创建用户名密码
    • HTTP(s) 网站监控
    • https://www.cpolar.com
    • SSL 证书过期提醒
    • 7 天
    • 60 秒心跳
    • TCP Port
    • MySQL 3306
    • Redis 6379
    • 安装 cpolar
    • 9200 Web UI
    • 隧道名 Uptime-Kuma
    • 本地地址 3005
    • China Top
    • china Top
    • Sub Domain
    • 固定二级子域名 Uptime-Kuma

    这篇没有强行编“凌晨被用户叫醒”的第一人称事故。

    更适合它的是一种踩坑共情型的运维视角:监控最大的坑,不是没有工具,而是把不同层次的“正常”混成一件事。

    监控平台在线 ≠ 被监控服务一定正常。 TCP 端口可达 ≠ 数据库业务一定正常。 公网能打开 Uptime Kuma ≠ 所有内网监控目标都已经被穿透。 配置了 SSL 过期提醒 ≠ 已经实际演练过一次证书过期告警。

    把这些边界分清楚,才比“2026 最强监控神器”“7×24 小时完全守护”“彻底告别宕机焦虑”更接近真正有用的监控经验。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Uptime Kuma 部署实战:极空间监控网站、SSL 与 TCP 端口,再配置远程访问
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!