在 Koyeb 上搭建 Uptime Kuma 来监测站点、服务和节点
在 Koyeb 上搭建 Uptime Kuma 来监测站点、服务和节点
雨天狂奔在 Koyeb 上搭建 Uptime Kuma 来监测站点、服务和节点
项目资源
这个项目原作者是 louislam
大佬,仓库地址:点此直达,docker 镜像:点此直达
项目部署方式有多种,主要有:VPS-docker 方式、VPS- 非 docker 方式、PaaS 平台 docker 镜像方式等
大家可以先去仓库看看作者的文档,了解基本原理,顺便给作者点个 star!
搭建好的 DEMO:Serv00 状态监测
部署平台
本文不再赘述 VPS 部署方式,作者的文档已经写的非常情况
这里主要探讨通过如何通过 PaaS 平台拉取 docker 镜像的方式部署
我这里使用的平台是 Koyeb
,其他支持 docker 的平台比如 Northflank
也是同样的原理
推荐使用 koyeb
来部署,因为 koyeb 官方提供了非常便捷的一键部署
部署过程中所需要填写的 变量名
都已经自动生成,只需填入 变量值
koyeb 官网:https://www.koyeb.com/
koyeb 一键部署项目:GitHub - koyeb/example-uptime-kuma
部署步骤
一、先申请一个免费的 S3 存储桶
S3存储桶
是为了存储项目的数据库,避免服务重启后设置项丢失
koyeb 官方推荐的 S3 是 Backblaze
,点击直达
但我个人并不推荐这个,由于未知原因,Backblaze
并未按预期存储任何数据,我就经历了数据丢失、设置全无的情况,重新配置监控项目是很麻烦的事情
这里我推荐使用 CF
家的 R2
存储桶服务,免费用户 10G
容量,足够了
进入 CF 官网【点击直达】,创建一个 R2 存储桶
[!IMPORTANT]
将这里的存储桶名称、地理位置记录复制下来保存,比如——名称:uptime,位置:APAC
然后回到 R2概述
界面,点击右侧的 管理 R2 API 令牌
,创建一个管理令牌
按下图选择,完成后点击创建
[!IMPORTANT]
重点:然后会生成一些数据,将以下数据保存下来备用
二、一键部署到 Koyeb
首先登录你的 koyeb,然后 点此一键部署
[!WARNING]
koyeb 新号部署服务容易触发风控并封号,建议号注册满 1 周以上再部署服务
选择免费实例
最重要的 Environment variables
环境变量设置,一共有 7 个变量,按以下说明填写:
- LITESTREAM_ACCESS_KEY_ID=对应 R2 存储桶的
访问密钥 ID
- LITESTREAM_BUCKET=对应 R2 存储桶的
存储桶名称
,比我的是 uptime - LITESTREAM_PATH=uptime 项目再存储桶中的存储路径,可以自定义,比如
koyeb
- LITESTREAM_REGION=对应 R2 存储桶的区域,我选的是亚太地区,即
APAC
- LITESTREAM_SECRET_ACCESS_KEY=对应 R2 存储桶的
机密访问密钥
- LITESTREAM_URL=对应 R2 存储桶的
S3 客户端终结点
,以https://
开头 - UPTIME_KUMA_PORT=开放的端口,就填
8000
不要乱改
设置完成后,点击创建,等待部署完成,得到 koyeb 分配的一个网址,格式为:xxxx-xxxx-xxxx.koyeb.app
点击进入,即可访问项目管理面板,第一个访问面板并创建的账号就是管理员账号
项目设置
设置部分不再详细描述,简单截几张图,根据自己的需要去设置就可以了。
添加好监控项后,进入状态页面设置,点击右上角 状态页面
设置完成后,得到一个公开的网址:Serv00 状态监测,任何人都可以访问这个网址
如果你的站点、服务或 API 掉线了,通过 TG 机器人你可以第一时间获得通知
其他还有很多设置项,你可以自己去摸索
[!TIPS]
koyeb 免费版不支持绑定自定义域名,我们有三种方式来绑定域名:
1、在 cf 后台设置cname
解析记录;
2、用cf worker
搭建一个反代服务
绑定自定义域,关于 worker 搭建反代可以在油管搜索;
3、通过项目后台设置里自带的cloudflared
选项进行设置:
在 CF 后台创建一个 argo 隧道,协议选http
,服务填http://localhost:8000
,将获取的token
填入到项目的cloudflared
设置项里并启动它。