只需要一个域名,就能拥有基于uptimerobot API的站点监控面板

感谢 JIeJaitt 佬的指路:【求助】如何榨干render免费的部署 - #8,来自 JIeJaitt
教程参考自:https://mari0er.club/post/monitor.html/
使用的开源项目:GitHub - imsyy/site-status: 📺 一个基于 UptimeRobot API 的在线状态面板 | 站点监测 | 状态检测 | An online status panel based on the UptimeRobot API | UptimeRobot, status, site

监控面板有很多种,我之前就分享过两个,今天这个是使用 Uptime Robot服务的。
原教程在部署过程中有一些坑,我踩完后把经验分享一下。

注册 Uptime Robot 账号

只需要邮箱验证即可

添加站点监控

  • New Monitor
  • 可以看到支持Http(s)、关键字、端口、Ping等监控方式,根据需求自行进行选择

获取API Keys

  • 新站点没有找到入口,我们需要点击最上方的横幅,跳转到旧UI
    image
  • 旧站点:https://old.uptimerobot.com/
  • 鼠标移到右上角账号头像处,选择下拉栏里的 My Settings
  • 滑到最下方,找到 API Settings
    Specific API针对单一的Monitor,Read-Only API就是针对整个账号。这里直接生成Read-Only Key就行。记下来,之后要用

fork面板项目并修改配置

通过cloudflare worker部署面板

修改自定义域

  • 部署成功后就可以换自己的域名了
  • 输入自己的域名加前缀,自动就会把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/ 或者 https://stock.hostmonit.com/CloudFlareYes 选一个延迟低的
  • 点击workers路由,添加路由,输入 uptimerobot. 域名/* ,worker选刚刚创建的uptimerobot

配置代理

测试 API 和 代理url

API 是实时请求更新的,可以通过post请求看看返回值

curl -X POST  https://api.uptimerobot.com/v2/getMonitors?api_key=你的Read-Only Key

这里你也可以把https://api.uptimerobot.com换成你之前的代理域名测试一下

42 Likes

必须收藏

2 Likes

十分钟就能复刻 :wink:

2 Likes

点赞,收藏

2 Likes

学习了。谢谢分享

1 Like

马克之

1 Like

感谢分享

1 Like

常规话题软件分享

1 Like

不错 都不需要服务器了 :+1:

1 Like

感谢分享

1 Like

话说大佬有没有那种可以分组的监控面板,这种都是挂在一个界面,服务多了看起来有点乱七八糟的

1 Like

好东西

1 Like

uk就是分组的,始皇用的那个

1 Like

收藏

1 Like

太强了,省了一个服务器

简直就是天才!


请问这种情况怎么解决

1 Like

感谢大佬

大佬,我uptimerobot添加 A记录,小黄云要开启吗?我用 cf 自带的 dev 没有报跨域,自定义域就跨域了