使用uptime-status搭建网站监控面板

uptime status是基于uptimerobot 的api调用的网站监控面板,uptimerobot是一家能够提供服务器定时监控服务的网站,可以利用其服务器监测你的网站响应状态

创建UptimeRobot 监控API

首先先到UptimeRobot官网注册一个免费账号:https://uptimerobot.com/

之后到他后台添加一个新监控:add new monitor

类型选择https,然后把自己的通知邮箱勾选上

把域名填上去就可以了,之后点击右下角create monitor

之后点击 My Settings--API Settings--Monitor-Specific API Keys   在monitor中输入你创建的monitor名字,然后点击创建API key

把获得的api key复制下来备用

安装uptime status面板

之后使用宝塔面板使用域名创建一个网站,创建方法参考文章:

使用宝塔面板搭建网站

创建完成后,在网站根目录下下载最新版的 uptime status包:https://github.com/yb/uptime-status/releases/latest

下载这个编译好的,不要下载源码

解压缩后编辑这个config.js文件,修改ApiKeys为自己之前复制的api

此时访问自己的网站就可以看到布置完成了

使用cloudflare workers反代创建自己的服务器接口

但由于最近 UptimeRobot 官方的接口经常抽风,表现为响应头中丢失 CROS,导致跨域出错~

就会出现你自己的网站上的监控一直在转圈,无法正常显示

在最新的1.5.1版本中,作者加入了自定义接口功能,使用cloudflare 的workers创建

 

进入cloudflare 点击workers-管理workers,然后点击创建workers

把原先脚本中内容删除,复制代码进去

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));
});

然后点击保存并部署,就可以获得对应的域名

把这个域名复制下来,进入网站编辑config.js文件

把它替换到这个ApiDomain中即可,之后再访问页面就可以正常显示监控状态了

示例:https://jiankong.strivefysfxyh.com/

 

 

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注