整体大致可以分四个阶段:信息采集、存储、分析、监控。采集阶段:收集异常日志,先在本地做一定的处理,采取一定的方案上报到服务器。存储阶段:后端接收前端上报的异常日志,经过一定处理,按照一定的存储方案存储。分析阶段:分为机器自动分析和人工分析。机器自动分析,通过预设的条件和算法,对存储的日志信息进行统计和筛选,发现问题,触发报警。人工分析,通过提供一个可视化的数据面板,让系统用户可以看到具体的日志数据,根据信息,发现异常问题根源。报警阶段:分为告警和预警。告警按照一定的级别自动报警,通过设定的渠道,按照一定的触发规则进行。预警则在异常发生前,提前预判,给出警告。性能监控:使用ResourceTimingAPI和PerformanceTimingAPI,可以计算许多重要的指标,比如页面性能统计的起始点时间、首屏时间等。异常监控:前端捕获异常分为全局捕获和局部捕获。局部捕获作为补充,对某些特殊情况进行捕获,但分散,不利于管理。所以,我会选择全局捕获的方式,即通过全局的接口,将捕获代码集中写在一个地方。具体在实现项目中,我应该会采用badjs-report,它重写了进行上报异常,无需编写任何捕获错误的代码。前端线上的用户操作行为十分复杂,部分问题可能隐藏在用户多次操作之后。好用的前端监控和前端性能监控工具
二、前端数据分类:2.2 性能相关的数据白屏时间:用户从打开页面开始到页面开始有东西呈现为止,这过程中占用的时间就是白屏时间首屏时间:用户浏览器首屏内所有内容都呈现出来所花费的时间用户可选择操作时间:用户可以进行正常的点击、输入等操作页面总下载时间:页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间自定义的时间点:对于开发人员来说,完全可以自定义一些时间点,例如:某个组件 init 完成的时间、某个重要模块加载的时间等等2.3 点击相关的数据页面总点击量人均点击量:对于导航类的网页,这项指标是非常重要的流出 url:同样,导航类的网页,直接了解网页导流的去向点击时间:用户的所有点击行为,在时间上的分布,反映了用户点击操作的习惯点击时间:同上,但是只统计用户的次点击,如果该时间偏大,是否就表明页面很卡导致用户长时间不能点击呢?点击热力图:根据用户点击的位置,我们可以画出整个页面的点击热力图,可以很直观地了解到页面的热点区域好用的前端监控和前端行为分析平台Webfunny专注于微信小程序、H5前端、PC前端线上应用实时监控,实时监控前端网页、前端数据分析。
前端程序员如何明确定位、排查前端生产问题?比如在分析错误详情时,遇到线上用户进过了复杂的链接跳转而发生了错误;用户调用的接口发生了异常或者超时;线上的用户反馈异常根本就跟实际情况不符等等。这些非直观型的问题该如何解决?这时候前端工程师就需要用户的行为记录。三、记录用户的跳转行为(Demo)有些错误是前端页面经过复杂的跳转、回退之后才发生的,就算测试人员也很难测试出这种问题,因为线上的用户的任何行为都有可能出现。往往我们知道的只是他在后面停留的页面发生了错误。如此,我们通过webfunny前端监控系统来记录下用户的跳转日志,就能够复现出用户的行为,从而复现BUG来解决。
前端出现异常的时候,前端程序员如果发现是CDN报错的原因,这个时候为了避免出现替第三方公司背锅,因为做前端的都知道,这是很憋屈的一种线上Bug,还是替第三方公司背锅。如果是第三方的东西出了问题,上面领导永远都只怀疑是你的代码有bug,如果你没有有力的证据,即使你已经排查过了,领导也只会说一句“你再去好好排查一下你自己的代码”,这时候前端可能会很委屈、有一键盘呼他脸上的冲动。因为之前工作的时候出现过这种背锅的事情,所以在webfunny前端监控系统里加入了对静态资源的监控功能。前不久,阿里部分区域的出现了5分钟无法访问的情况。我们线上群里顿时就炸开了锅,让我赶紧排查问题。我打开了错误监控,发现只有静态资源报错陡然飙升。在群里轻轻的说了一句,是CDN有问题,果然不一会儿,CDN就发了公告了。这一刻作为前端程序员我是一次感觉拥有前端监控系统,是多么的重要,再也不用替三方公司背锅了。webfunny强大的线上调试功能,让前端工程师可以随时连接线上用户。
前端程序员如何明确定位、排查前端生产问题?六、记录用户的页面截图即使你记录下所有的行为,但是你依然需要看到页面的样子,才能够分析出问题所在,那么我们在webfunny前端监控系统上,依然可以通过js截图来看看用户设备上的样子。七、分析用户的场外信息当用户所有的行为都被我们掌握之后,就能够复现出用户的行为,甚至能够复现出用户的问题,也许还需要一些场外信息才能明确定位问题,比如,用户的机型,地理位置,系统版本,当时的网络环境(这个不准确,我是依据用户当时加载页面的时间来判断,只能作为参考依据),前端问题产生的原因五花八门,只有把日志做全了,才能够明确的定位和解决问题。webfunny前端一体化埋点,前端开发者可以根据需求和实际使用情况选择适合你的模型,满足多场景分析需求。如何搭建前端监控和css文件加载错误监控
webfunny埋点系统丰盛数据收集,真实还原用户行为轨迹,了解产品真实使用情况,数据驱动产品迭代。好用的前端监控和前端性能监控工具
搭建前端监控系统(三)之静态资源加载监控篇如何监控前端静态资源加载情况:正常情况下,html页面中主要包含的静态资源有:js文件、css文件、图片文件,这些文件加载失败将直接对页面造成影响甚至瘫痪,所以前端同学需要把他们统计出来。不太确定是否需要把所有静态资源文件的加载信息都统计下来,既然加载成功了,页面正常了,应该就没有统计的必要了,所以只统计加载出错的情况。先说一下前端监控方法:1、使用script标签的回调方法,在网络上搜索过,看到有人说可以用onerror方法监控报错的情况,但是经过试验后,发现并没有监控到报错情况,至少在静态资源跨域加载的时候是无法获取的。好用的前端监控和前端性能监控工具
上海观纵科技有限公司主营品牌有webfunny,walkingfunny,argus,发展规模团队不断壮大,该公司服务型的公司。公司致力于为客户提供安全、质量有保证的良好产品及服务,是一家有限责任公司企业。公司始终坚持客户需求优先的原则,致力于提供高质量的webfunny前端监控,webfunny前端埋点,全链路应用性能监控,Argus-IT运维监控。观纵科技将以真诚的服务、创新的理念、***的产品,为彼此赢得全新的未来!