监控服务基于uptimerobot实现,他们家是专门做监控服务的。免费版能提供50个服务5分钟间隔的监控服务,足够使用了。

监控核心功能

第一步,去uptimerobot官网注册账号,然后进入后台设置需要检测的服务。常用的几种类型都支持,例如http,ping,port…监测网站的话选择http就行了。然后选择导航栏的status pages创建一个页面,聚合这些监控服务。创建好了之后可以点击小眼睛图标看到uptimerobot帮你创建的监控页面了。
image-1659243714387
官方提供的监控页面免费版不支持自定义域名访问。如果不建议使用这个页面和url的可以到此为止了,建议的继续往下折腾。

监控页面

监控页面基于github项目https://github.com/yb/uptime-status
在nginx默认文件夹/var/share/nginx/html下创建文件夹uptime-status,将所有文件都放到这个文件夹下面。
然后根据https://github.com/yb/uptime-status里面的文档改好配置文件就行了,这里就不重复写了。

需要注意的是,它这里index.html页面引用的静态资源默认是根路径下的,需要改成当前路径,放在网站路径/uptime-status下面才不会出错。
修改index.html,检查静态资源引用,确保所有路径都是./开头。

nginx代理,和主站一体化

在nginx配置文件新增

location ~ /uptime-status/ {
     root '/usr/share/nginx/html/';
}

最后重启nginx,访问监控页面https://www.summerpond.cn/uptime-status/index.html