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/