国庆最后两天使用 UptimeRobot 提供的 API 建立自己的公开服务状态页,结果不少人问我怎么做的……那就勉强写个辣鸡教程吧,你们凑合看╮(╯▽╰)╭
准备帐号
在 UptimeRobot 创建一个帐号,一个帐号可以添加 50 个免费监控项目,对于一般人来说都足够使用了。
创建好了之后添加监控项目,然后在 My Settings 里找到 Public Status Pages ,创建一个 For all the monitors 的 Pages (当然你愿意一个个选我也不介意),填写自定义 URL,然后把填写的域名 CNAME 到 (雾,这样就可以用官方的页面的,但是对于我这种 HSTS Preload 用户来说显然不行)stats.uptimerobot.com.
,完成!
准备文件
使用网站采集工具对 UptimeRobot 分配给你的 Standard URL (类似 https://stats.uptimerobot.com/Elw4jFLZ
这种)进行采集,自行修改各个样式表,js,进行本地化…… 好了好了我承认我已经给你们打包好了,别打我,哎呦……
本文中涉及的代码目前由 NeverBehave 继续维护(我大概也会偶尔插一脚),使用他的方案设置和本文有所不同,详情请参见 Github。
本文所述方案代码不再提供下载。
修改下载好的文件中第 33 行 var pageID = 为 Standard URL 域名后面那一串 ID
var pageID = 'Elw4jFLZ'; //修改 Elw4jFLZ 为你自己的那一段 ID var noPrefix = 'false' === 'true'; var pageNumber = parseInt('1', 10); var sortType = parseInt('1', 10); (function noop() {})(pageID, noPrefix, pageNumber, sortType);
同样的方法修改 index.php 中第 3 行,第 44 行,第 62 行(对其实第 44 行可以自动赋值的但是我懒不想改 23333)
设置 NGINX
向你的 NGINX 对应状态页的 conf 文件里加入以下内容
location / { try_files $uri $uri/ /index.php?uri=$uri&$args; } location ^~ /api/ { valid_referers *.lwl12.com; #防止别人盗用你的反代,把这里改成你自己的域名即可 if ($invalid_referer) { return 403; } proxy_redirect off; proxy_set_header Host "stats.uptimerobot.com"; proxy_set_header referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://stats.uptimerobot.com; }</code></pre>
添加监控项
在 UptimeRobot 后台添加监控项时 Friendly Name 需要遵循一定格式,格式为:项目名/分组名/分组顺序 (如果不懂这都对应了啥就去我的监控站比比看,原始名称,我魔改的监控页自动生成后的名称)
需要注意的是分组顺序从 0 (最前)开始
最后
然后解析域名到你设置好的服务器重启 NGINX 什么一些乱七八糟的事情不用我写了吧?
注意下,如果你只有一台服务器那就还是不要用这个方法了,毕竟如果状态页自己宕机了也挺尴尬的……
到这里你应该就可以拿你自己的状态页出去装逼了~ 首次添加监控项目的话整个页面需要 7 天的时间收集数据才能填♂满!
最后如果有什么问题请在评论区留言,虽然你留了我也不会回复你
那么,祝大家上班愉快~(被打),我也要去睡觉了=。=,困……
本文出自:
https://blog.lwl12.com/read/create-own-services-status-page.html
文章评论