10 分钟自建网站监控:Docker 部署 Uptime Kuma,盯住博客是否在线

原创记录

博客挂了自己往往是最后一个知道的。与其等读者来提醒,不如花 10 分钟用 Docker 自建一套监控:开源项目 Uptime Kuma(MIT 协议)界面清爽、部署简单,还能顺手盯住证书还有多久过期。

下面以监控本站 yuanyinglight.com 为例,从安装到看到「正常」状态走一遍。整套只监听本机端口,不对外网暴露。

你将得到什么

  • 一行 Docker 命令跑起监控面板
  • 每 60 秒探测一次博客是否返回 200
  • 可选的公开状态页,方便分享给同事或读者
  • 证书到期提醒(本站当前证书有效期到 2027-01-21)

环境要求

  • 一台已安装 Docker 的 Linux 机器(笔记本、家里 NAS、云主机都行)
  • 大约 100MB 磁盘 + 很少的内存
  • 能访问被监控网站的出网能力

官方仓库:github.com/louislam/uptime-kuma,当前演示使用的是 louislam/uptime-kuma:2 镜像(2.x 分支)。

第一步:Docker 启动

只绑定本机,避免面板被公网扫到:

docker volume create uptime-kuma

docker run -d \
  --name uptime-kuma \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma:/app/data \
  --restart unless-stopped \
  louislam/uptime-kuma:2

浏览器打开 http://127.0.0.1:3001。首次进入会先选数据库——个人自用选 SQLite 即可,省事;然后创建管理员账号(密码请设得足够强,下文截图里的账号仅为本地演示)。

关于页可以看到版本与运行信息:

Uptime Kuma 关于页面,显示版本与 SQLite
安装完成后的关于页(版本、数据库类型一目了然)

第二步:添加 HTTP 监控

点左侧「添加监控项」,按下面填:

  • 监控类型:HTTP(s)
  • 显示名称:远影归灯博客(随便起)
  • URL:https://yuanyinglight.com
  • 心跳间隔:60 秒
  • 方法:GET
添加 HTTP 监控项表单,填写博客 URL
添加监控:类型选 HTTP(s),URL 填博客地址

保存后,Kuma 会立刻发起第一次探测。正常时状态为「正常」,消息类似 200 - OK。

Uptime Kuma 仪表盘状态速览,博客监控显示正常
仪表盘「状态速览」:1 个正常,事件里记录 200 – OK

第三步:看延迟与证书

点进监控详情,可以看响应时间曲线、24 小时在线率,以及 TLS 证书剩余天数——对博客这种长期跑着的站点特别有用。

监控详情页:响应时间、在线率与证书有效期
详情页:平均延迟、在线率,以及证书还剩多少天

如果偶发 TLS 握手失败,多半是探测机到站点的网络抖动;把超时调到 30~48 秒、重试次数设 1~3 次即可,不必一失败就报警刷屏。

第四步(可选):公开状态页

在「状态页面」新建一页,把监控项拖进分组并发布。别人打开状态页就能看到服务是否正常,不必登录后台。

公开状态页显示所有服务运行正常
公开状态页:所有服务运行正常

状态页默认路径类似 /status/你的slug。若 Kuma 只绑了 127.0.0.1,外网访问需要自己再加反向代理,并务必加上访问控制或仅内网使用。

安全与运维建议

  • 不要把 3001 直接映射到 0.0.0.0。本教程用的是 127.0.0.1:3001,需要时用 SSH 隧道:ssh -L 3001:127.0.0.1:3001 user@你的机器。
  • 管理员密码用强密码;有条件再开双因素。
  • 通知通道(邮件、Telegram、Discord、Webhook 等)配好后,挂了才会第一时间知道。
  • 数据在 Docker volume uptime-kuma 里,备份 volume 等于备份历史与配置。

小结

Uptime Kuma 适合个人博客和小型站点:开源 MIT、界面友好、Docker 一键起。10 分钟内就能让「博客在不在线」这件事从凭感觉,变成面板上的绿点。

下一步可以:再加一条监控盯 www 跳转、把证书到期通知接到 Telegram,或者给常用的 API / 数据库端口也加探测。

项目地址再次放上,方便收藏:https://github.com/louislam/uptime-kuma

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容