目前市面上的前端监控系统,可能是记录资源加载时长、系统抛错、统计埋点、UV/PV...
对开发人员来讲就是嵌入监控js脚本,监控的前提是:该监控脚本能正常加载并执行
那么问题就来了,假如某个站点CDN、DNS出现异常,监控脚本彻底没机会加载(更不用说运行了)
站点Owner可能很长时间都不知道本身的网站挂了?!监控服务形同虚设...html
本文提到的监控改良,即是为解决此痛点前端
Q: 假如站点DNS出现问题,请求根本打不到站点,监控脚本没法加载,要怎么应对这种状况呢?A: 人肉运维啊,找我的天天盯着,5分钟刷下页面,看网站正不正常,不就好了嘛!
A: 咳,基本思路其实就是这样,不过把人肉运维改为Puppeteer,作个定时任务,每5分钟去跑一下监控站点,若是发现站点白屏则立刻警报(短信通知),能够算是监控的最终兜底策略git
系统具体设计思路,代码:https://github.com/zhentaoo/h... github
开发时截图(Atom默认主题+ZSH)mongodb
这里为了简单,我直接用了ThinkJS框架生成Restful API,你们有兴趣也能够看下使用方法,简单易上手npm
npm install -g thinkjs@2
thinkjs new hawk-eye
thinkjs controller home/monitor -r
thinkjs controller home/monitorerr -r
这里就不进行mongodb的安装教学了,若是不习惯命令行的同窗,推荐使用robomongo客户端api
关于Puppeteer,也已经研究、试水了一段时间,多数应用场景也都有考虑,并在github上写了些不成熟的项目和思路
接下来我可能会试水其余东西,或者用它搞点事
但愿各位看官能够结合本身的需求/业务场景,充分挖掘Puppeteer功能
有兴趣的话加群讨论,?restful