作者 | 胡茜茜

背景介绍

转转目前有大量的 H5 页面。例如通过魔方后台发布的 H5 页面,以及在一些特定场景使用的 H5 页面。但是,单个活动页面少量的数据接口报错无法触发现有的报警系统。当页面出现部分元素 404、样式未加载完全时,监控无法感知。以上问题,如果不及时发现并处理、单纯依靠等待用户上报,极大程度上影响用户体验,甚至造成用户流失。
对于这些页面,人工无法实时且全面监控。基于以上,我们开始使用无头浏览器对 M 页进行实时监控。

技术介绍

项目主要用到的技术有两点:

项目介绍

实现一次监控步骤:

监控类型:

及时更新与实时监控:

同时,还可人工新建数据、填写周期。做到指定监控链接,设置特定的监控周期。
下图为整个项目的大致流程图

实现过程

实现过程基于链接为自动爬取或人工存入而做不同的处理。首先对自动爬取的活动链接做介绍,然后在此基础上介绍人工建立的链接。
获取活动数据源:爬取魔方后台
大致步骤为:

请求魔方后台接口:基于爬虫技术,利用 Requests 库,定义 Headers、Cookie 等基本信息,请求魔方后台数据接口。筛选出线上正在使用的活动链接,提取需要数据,将数据入库。至此,获取本次监控数据源就大功告成了。

设置任务
魔方活动的任务设置是在获取数据源成功后自动添加。步骤如下:

开始任务,触发监控
本项目会每 5 分钟扫描一次任务表,筛选出可执行并在有效期的任务,执行任务,触发监控。

监控
项目基于无头浏览器、使用 puppeteer 库进行监控。目前主要使用的监控类型如下:

下图展示监控到的一 CSS 资源 404 错误前后对比。

异常发邮件
当监控到异常时,发送邮件。收件人在加入任务时便已设定好。
1.资源请求状态码错误邮件,如下图:

2.数据接口错误邮件,如下图:

人工添加的活动监控

项目发展

本项目实现了对线上 M 的页实时监控,同时还可配合魔方后台进行回归测试。目前已监控到 7 个有效 BUG,
如下:
1.访问资源 404

项目后续发展方向


↙↙↙阅读原文可查看相关链接,并与作者交流