只需要一个域名,就能拥有基于uptimerobot API的站点监控面板 - 资源荟萃 - LINUX DO

同步来源:树洞剪藏 源站剪藏 ID:75 原文地址:https://linux.do/t/topic/48464
只需要一个域名,就能拥有基于uptimerobot API的站点监控面板 - 资源荟萃 - LINUX DO
跳到主要内容
只需要一个域名,就能拥有基于 uptimerobot API 的站点监控面板
资源荟萃
话题
我的帖子
关于
友链
文档
更多
外部链接
Status
Connect
Channel
Telegram
Shared Chat
类别
开发调优
资源荟萃
文档共建
跳蚤市场
前沿快讯
福利羊毛
搞七捻三
运营反馈
深海幽域
所有类别
标签
抽奖
公告
精华神帖
快问快答
人工智能
所有标签
消息
收件箱
频道
常规频道
直接消息
聊天
真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《常见问题解答》
只需要一个域名,就能拥有基于 uptimerobot API 的站点监控面板
资源荟萃
1.5k
浏览量
63
赞
11
链接
22
用户
6
2
2
4月 6 日
30 / 30
8月 4 日
8月 4 日
前排围观支持一下 感谢分享大佬厉害啊 有点厉害支持~~
906051999 文化宣导员
3 4月 6 日 #1
感谢 JIeJaitt 佬的指路: 【求助】如何榨干 render 免费的部署 - #8,来自 JIeJaitt 27
教程参考自: https://mari0er.club/post/monitor.html/ 14
使用的开源项目: GitHub - imsyy/site-status: 📺 一个基于 UptimeRobot API 的在线状态面板 | 站点监测 | 状态检测 | An online status panel based on the UptimeRobot API | UptimeRobot, status, site 69
监控面板有很多种,我之前就分享过两个,今天这个是使用 Uptime Robot 服务的。
原教程在部署过程中有一些坑,我踩完后把经验分享一下。
注册 Uptime Robot 账号
UptimeRobot
Sign-up | UptimeRobot 37
Get up to 50 website, port or heartbeat monitors for free. When something happens, be alerted via email, SMS, Telegram, Slack or many more ways.
只需要邮箱验证即可
添加站点监控
New Monitor
可以看到支持 Http (s)、关键字、端口、Ping 等监控方式,根据需求自行进行选择
image 911×1107 58.6 KB
获取 API Keys
新站点没有找到入口,我们需要点击最上方的横幅,跳转到旧 UI
image 787×36 5.99 KB
旧站点: https://old.uptimerobot.com/ 6
鼠标移到右上角账号头像处,选择下拉栏里的 My Settings
滑到最下方,找到 API Settings
Specific API 针对单一的 Monitor,Read-Only API 就是针对整个账号。这里直接生成 Read-Only Key 就行。记下来,之后要用
fork 面板项目并修改配置
听说这个二开面板更加好看。点击 fork,到你的账号下
GitHub - imsyy/site-status: 📺 一个基于 UptimeRobot API 的在线状态面板 | 站点监测 | 状态检测 | An online status panel based on the UptimeRobot API | UptimeRobot, status, site 69
编辑 .env 配置文件
VITE_API_KEY = 刚刚记下的 Read-Only Key
提交编辑
通过 cloudflare worker 部署面板
主页选择 Workers 和 Pages
创建应用
选择 pages 并连接之前 fork 的项目
image 874×805 28.2 KB
按照下图 保存并部署,这里注意, 构建输出目录需要更改为 dist
image 932×1210 34.3 KB
修改自定义域
部署成功后就可以换自己的域名了
image 965×290 11.9 KB
输入自己的域名加前缀,自动就会把 CNAME 添加到域名的 DNS 解析中
然后我又去 DNS 中把解析的小黄云给关了
代理 uptimerobot
听过存在 API 跨域问题,所以需要用 worker 代理一下
创建一个 worker 脚本:uptimerobot
编辑代码:
const handleRequest = async ({ request }) => { let url = new URL(request.url); let response = await fetch( 'https://api.uptimerobot.com' + url.pathname, request); response = new Response(response.body, response); response.headers. set ( 'Access-Control-Allow-Origin' , '' ); response.headers. set ( 'Access-Control-Allow-Methods' , '' ); response.headers. set ( 'Access-Control-Allow-Credentials' , 'true' ); response.headers. set ( 'Access-Control-Allow-Headers' , 'Content-Type,Access-Token' ); response.headers. set ( 'Access-Control-Expose-Headers' , '*' ); return response; }
addEventListener( 'fetch' , ( event ) => { event .respondWith(handleRequest( event )); });
部署后应该可以直接用得到的 dev 域名作为代理 url
但是我还是习惯性的去弄了一个 dns 解析 + worker 路由
添加一条 DNS A 记录,前缀我写了 uptimerobot,IP 从 http://ip.flares.cloud/ 19 或者 https://stock.hostmonit.com/CloudFlareYes 9 选一个延迟低的
点击 workers 路由,添加路由,输入 uptimerobot. 域名/* ,worker 选刚刚创建的 uptimerobot
配置代理
回到你之前 fork 的项目仓库,编辑.env 文件
VITE_GLOBAL_API = “ https://uptimerobot. 域名 /v2/getMonitors 4 ” # 第三方反代
提交
这时你会发现在 cf worker 中的面板应用自动重新部署了
image 913×489 19.4 KB
测试 API 和 代理 url
API 是实时请求更新的,可以通过 post 请求看看返回值
curl -X POST https://api.uptimerobot.com/v2/getMonitors?api_key=你的Read-Only Key
这里你也可以把 https://api.uptimerobot.com 换成你之前的代理域名测试一下 9
1 个回复
heart
+1
clap
42
回复
1.5k
浏览量
63
赞
11
链接
22
用户
6
2
2
北门清燕 88268459 海纳百川
4月 6 日 #2
必须收藏 1 个回复
2 回复
906051999 文化宣导员 北门清燕 4月 6 日 #3
十分钟就能复刻 1 个回复
2 回复
王 Loong 海纳百川
4月 6 日 #4
点赞,收藏
2 回复
章北海 alertsc 文化宣导员
4月 6 日 #5
学习了。谢谢分享
1 回复
瓶幾¬_¬🛡️ vica 文化宣导员
4月 6 日 #6
马克之
1 回复
jihailanzhou 浴火重生
4月 6 日 #7
感谢分享
1 回复
类别 4月 6 日 更新
从 常规话题 到 软件分享
The Machine lym 海纳百川
4月 6 日 #9
不错 都不需要服务器了
1 回复
RJMayTau
4月 6 日 #10
感谢分享
1 回复
JIeJaitt 种子用户
4月 6 日 #11
话说大佬有没有那种可以分组的监控面板,这种都是挂在一个界面,服务多了看起来有点乱七八糟的 1 个回复
1 回复
Do oug 浴火重生
4月 6 日 #12
好东西
1 回复
906051999 文化宣导员 JIeJaitt 4月 6 日 #13
uk 就是分组的,始皇用的那个
1 回复
doke 海纳百川
4月 6 日 #14
收藏
1 回复
radio 龙行龘龘
4月 7 日 #15
太强了,省了一个服务器
回复
AVI Anissa 海纳百川
4月 7 日 #16
简直就是天才!
回复
1 个月后
Xiang xjfkkk 种子用户 906051999 5月 14 日 #17
image 1171×296 13.2 KB
请问这种情况怎么解决
1 个回复
open_mouth
1
回复
906051999 文化宣导员 Xiang 5月 14 日 #18
image 935×727 43.9 KB
github.com/imsyy/site-status
[BUG] 关于 vercel 部署问题 4
已打开 2024 年 1 月 6 日
已关闭 2024 年 1 月 11 日
jinghuashang
Error: No Output Directory named "build" found after the Build completed. You ca … n configure the Output Directory in your Project Settings. Learn More: https://vercel.link/missing-public-directory 报错如上,根据报错提示是如下 缺少公共目录 如果输出目录缺失、为空或无效(例如,它不是目录),则生成步骤 将导致错误。要解决此错误,您可以尝试以下步骤: 确保在项目设置中正确指定 了输出目录 如果输出目录正确,请检查构建命令(文档)或 根目录) 尝试在本地运行 build 命令,并确保在指定的输出目录中正确生成文件
1 个回复
回复
大帅哥 handsome 种子用户
5月 14 日 #19
感谢大佬
回复
AJiaJiShu 种子用户
5月 14 日 #20
大佬,我 uptimerobot 添加 A 记录,小黄云要开启吗?我用 cf 自带的 dev 没有报跨域,自定义域就跨域了 1 个回复
回复
玛卡巴子 linmo33 海纳百川
5月 14 日 #21
mark 监控面板
回复
YL YL_SYS
5月 14 日 #22
mark
回复
906051999 文化宣导员 AJiaJiShu 5月 14 日 #23
说实话我对这个小黄云并不是太了解,我一般不开 1 个回复
回复
AJiaJiShu 种子用户 906051999 5月 14 日 #24
好滴吧 我再研究研究,谢谢啦
回复
Xiang xjfkkk 种子用户
1 906051999 5月 14 日 #25
好像他那个网站自带 pages
IMG_20240514_144720 1080×1277 179 KB
还自带软件,不错不错
IMG_20240514_145739 1080×2213 185 KB
回复
iJohn 浴火重生
1 5月 17 日 #26
谢谢大佬。
关键步骤都在,简明扼要。已经搭建了一个。
1 回复
肥润 rugn 浴火重生
5月 17 日 #27
mark
回复
上次访问
有容 pama 大预言家
5月 22 日 #28
906051999:
编辑.env 文件
不建议直接编辑.env 文件,可在 CF 的 Workers - 设置 - 环境变量里面,配置环境变量然后重新部署。
Fork 的仓库可以安装 pull 插件 7 ,上游仓库更新后,即可自动更新。 1 个回复
2 回复
906051999 文化宣导员 有容 5月 22 日 #29
厉害,感谢指点
回复
2 个月后
sky 圆圆满满
8月 4 日 #30
牛逼
1 回复
分享
加入书签
举报
回复
已取消置顶
跟踪
由于您 阅读过此话题 ,您将看到新回复的数量。
推荐
相关
新话题和未读话题
话题列表,带有按钮的列标题可以排序。
话题
回复
浏览量
活动
第47届总统特朗普钦定的 Java 脚手架,让 Java 再次伟大!Ver 2.5.0 73 免打扰
资源荟萃
Java
688
11/10 00:00
2 小时
DeepLX已切换至 LINUX DO Connect 认证 deeplx.org 79 免打扰
资源荟萃
DeepLX
1.3k
06/14 16:04
18 小时
一个月全力打造,开源网站助您快速完成论文,集成 ChatGPT 实现真实文献引用 10 免打扰
资源荟萃
ChatGPT
564
02/10 13:47
19 小时
开个帖子,大家一起来推荐Mac 下非常好用的软件吧 21 免打扰
资源荟萃
精华神帖
330
09/09 00:00
19 小时
(重新开放)嗨,搞了个中转 136 免打扰
资源荟萃
人工智能 ChatGPT
839
04/15 18:16
1 天
有 105 个未读 话题 和 232 个新 话题,
或浏览 资源荟萃 中的其他话题
开始阅读 启用自动点赞
楼主
等级