目前市面上有不少前端监控系统,主要给大家推荐github4.2Kstar的开源监控系统——Webfunny前端监控系统,webfunny监控的主要特点:1、轻量级:可以随时部署在任何地方,支持ESC部署和Docker部署,非常快捷方便;2、功能完善:不限制应用的流量、自定义日志存储时间,能够适应更多高并发的场景;3、针对性强:针对前端使用场景研发,辅助前端开发,容易上手;4、无风险:所有监控数据都可以回流,监控日志都存储在你们自己的数据库内,不依赖任何第三方;5、费用低:只需要花费少量的赞助,便可以使用一套完整的私有化部署系统;6、提供一对一定制化服务。webfunny前端一体化埋点系统,可按...
前端出现异常报错的时候,有前端帮后台背锅之前怎么快速优雅的"甩锅"?在做前端程序员的时候,我之前所在的公司后台可是有着完善的监控系统,他们都觉得自己的代码和监控都做得非常完善,但是前端的我做了监控结果后来看,事实并非如此。当然,你也许会说这是开发和测试不专业,这么明显的问题都没有发现,但是,我只能用一句话来解释:人非圣贤。与其追究是谁的责任,不如想办法解决问题。将线上的损失减少到较低的影响。如果作为前端你对项目做了监控,并且能实时监控到,出现问题的时候把报错截图发给后台小伙伴,你还需要跟他们争论是谁的锅吗?当然,如果是前端程序员自己的锅,那还是赶紧偷偷修改掉吧,在建立webfunny前端监控时...
搭建前端监控系统(七)之用户细查篇:用户细查具体要分析哪些数据,更容易帮助我们定位前端问题呢说完用户基本信息和页面平均加载时间,下面就要来说接口耗时正态分布。接口耗时同样能够反馈出用户当时的网络状态,同时他也能反馈出服务端接口的状态。比如,页面平均耗时表现良好,接口耗时表现差,则能反映出,当时的后端服务状态不是很好。还有完整的用户行为记录,以上是用户行为中的基本信息,接下来要说的是用户的完整行为链路,通过将页面访问、接口请求、代码报错、自定义行为等,按照时间先后顺序串联起来,可以达到复现用户错误的目的。其中,接口请求记录,除了会记录接口耗时,还需要记录接口的返回值,这样能够更加明确的定位数据问...
搭建前端监控系统(六)之接口性能分析篇这是搭建前端监控系统的第七章,主要是介绍如何监控前端接口的性能。后端小伙伴能够监控到的,也就是收到请求后(request)到得到处理结果即将返回(response)前的这一段时间,缺失了浏览器跟网关之间的耗时。而我们前端用户感受到的却是接口总耗时,如果前端不做前端接口的监控,那么将无法得知用户真正的使用体验。我们在webfunny前端监控系统上,同行监控不同项目,可以看到耗时5-10s的接口虽然只占了0.32%,但是也有1千多次呢,影响用户达到600+,这难道不是前端小伙伴应该关心的体验问题吗?为什么前端小伙伴应该关心接口性能,我们讲完了,开始进入正题,我...
前端程序员如何明确定位、排查前端生产问题?六、记录用户的页面截图即使你记录下所有的行为,但是你依然需要看到页面的样子,才能够分析出问题所在,那么我们在webfunny前端监控系统上,依然可以通过js截图来看看用户设备上的样子。七、分析用户的场外信息当用户所有的行为都被我们掌握之后,就能够复现出用户的行为,甚至能够复现出用户的问题,也许还需要一些场外信息才能明确定位问题,比如,用户的机型,地理位置,系统版本,当时的网络环境(这个不准确,我是依据用户当时加载页面的时间来判断,只能作为参考依据),前端问题产生的原因五花八门,只有把日志做全了,才能够明确的定位和解决问题。webfunny前端一体化埋点...
webfunny前端监控系统—纯私有化部署,可实现的功能介绍:前端监控功能一、PV/UV维度分析:1.pv/uv维度分析:主要包括了用户量、新用户量、IP数量、7天留存变化。2.使用体验维度:单个用户访问页面频次、卸载重装APP频次。3.健康状况维度:主要包括Js报错趋势、自定义异常发生趋势、静态资源加载报错趋势、接口请求报错报错趋势。4.健康评分:作为前端工程师在设计webfunny前端项目时,我增加了给每个错误的加了不同的权重,通过报错率给每个应用打分。webfunny前端一体化埋点,前端开发者可以根据需求和实际使用情况选择适合你的模型,满足多场景分析需求。上海服务前端监控联系方式目前市面...
webfunny前端监控系统—纯私有化部署,可实现的功能介绍前端监控功能三、Debug模式:根据userId,前端工程师可以随时随地连接线上用户(包括开发环境、测试环境、以及生产环境),webfunny前端监控系统会记录用户的所有行为,本地缓存信息(localStorage、sessionStorage、cookie)、控制台打印信息。同时webfunny还会录下用户的整个操作过程,支持回放。作为前端工程师我也曾经在谷歌调试模式、safari调试模式、安卓调试模式、charles代理模式、Postman模式等各种调试模式下疲于奔命,所以我在开发webfunny前端监控时、就决定开发这个Debu...
前端程序员如何定位前端线上问题?其实要想及时定位和解决前端线上问题,离不开对项目做好监控。那前端程序员想要搭建前端监控,要怎么做呢,介绍一款非常好用的前端业务日志监控工具—Webfunny,只需要简单几步,你就可以搭建一套属于自己的前端监控系统啦。对前端程序员来说这个webfunny前端监控工具很好上手,我们也已经服务了很多企业,他们在采购后搭建部署上非常快捷。关于Webfunny前端监控工具是一款轻量级前端异常监控和前端性能监控系统,致力于帮助前端工程师定位并解决各种线上问题,确保项目健康良好的运行。支持千万级别日PV量,能够满足用户的各种场景需求。同时,针对不同企业和用户,提供一对一的定制...
搭建前端监控系统(七)之用户细查篇二、利用多个维度来准确定位到具体的用户上面提到了用户的userId获取速度可能比较慢,或者根本不会有,那我们该怎么去把用户的行为记录查出来呢。其实,我们可以通过用户行为产生的时间,用户的ip地址,地理位置以及访问设备等信息的佐证,来找到具体的用户,在webfunny前端监控系统里,这块儿会详细展示出来。前端程序员通过其他维度的信息,可以锁定一些用户,即使在没有userId的情况下,我们依然可以通过内置ID查到用户的行为记录,帮助我们排查问题。其中如何通过IP地址查询地理位置,建议前端程序员可以使用node-ip2region这个库进行查询,挺好用的。webfu...
前端出现异常的时候,前端程序员如果发现是CDN报错的原因,这个时候为了避免出现替第三方公司背锅,因为做前端的都知道,这是很憋屈的一种线上Bug,还是替第三方公司背锅。如果是第三方的东西出了问题,上面领导永远都只怀疑是你的代码有bug,如果你没有有力的证据,即使你已经排查过了,领导也只会说一句“你再去好好排查一下你自己的代码”,这时候前端可能会很委屈、有一键盘呼他脸上的冲动。因为之前工作的时候出现过这种背锅的事情,所以在webfunny前端监控系统里加入了对静态资源的监控功能。前不久,阿里部分区域的出现了5分钟无法访问的情况。我们线上群里顿时就炸开了锅,让我赶紧排查问题。我打开了错误监控,发现只...
webfunny前端监控系统—纯私有化部署,可实现的功能介绍前端监控功能三、Debug模式:根据userId,前端工程师可以随时随地连接线上用户(包括开发环境、测试环境、以及生产环境),webfunny前端监控系统会记录用户的所有行为,本地缓存信息(localStorage、sessionStorage、cookie)、控制台打印信息。同时webfunny还会录下用户的整个操作过程,支持回放。作为前端工程师我也曾经在谷歌调试模式、safari调试模式、安卓调试模式、charles代理模式、Postman模式等各种调试模式下疲于奔命,所以我在开发webfunny前端监控时、就决定开发这个Debu...
前端程序员如何定位前端线上问题?其实要想及时定位和解决前端线上问题,离不开对项目做好监控。那前端程序员想要搭建前端监控,要怎么做呢,介绍一款非常好用的前端业务日志监控工具—Webfunny,只需要简单几步,你就可以搭建一套属于自己的前端监控系统啦。对前端程序员来说这个webfunny前端监控工具很好上手,我们也已经服务了很多企业,他们在采购后搭建部署上非常快捷。关于Webfunny前端监控工具是一款轻量级前端异常监控和前端性能监控系统,致力于帮助前端工程师定位并解决各种线上问题,确保项目健康良好的运行。支持千万级别日PV量,能够满足用户的各种场景需求。同时,针对不同企业和用户,提供一对一的定制...
搭建前端监控系统(七)之用户细查篇三、用户细查具体要分析哪些数据,更容易帮助我们定位前端问题呢首先是用户基本信息,既然是查询用户的行为记录,那么用户的基本信息肯定是必不可少。正常情况下,我们需要知道用户的标签、使用设备型号、系统版本、IP地址、所在地区、浏览器useragent等;详细的信息展示可以通过webfunny前端监控系统进行demo实操查看。其次是页面平均加载时间,这里可能有人会问了,既然是用户行为记录查询,为什么又需要查看页面平均加载时间呢?如大家所知,造成一个用户在我们的应用上不可用的情况,有很多种原因,其中网络速度是不可以忽略的因素。所以通过页面的平均加载时间我们可以判断用户当...
webfunny前端监控中自定义埋点和漏斗分析7.1、自定埋点:正常情况下,埋点功能应该由后端同学配合完成。在真实的开发过程中,我们免不了遇到需要做一些特殊的埋点,但是有时候又不容易得到后端同学帮助的情况,那么前端开发可以自己去完成埋点功能。如下:图表中展示埋点触发的次数,以及埋点触发的人数。7.2、漏斗分析:在增加自定义埋点的同时,Webfunny也增加了埋点步骤转化率统计:埋点1->埋点2的留存率分析。进一步强化自定义埋点功能。webfunny前端监控系统的用户细查功能:是深入分析每个用户,记录用户的所有行为。技术前端监控值得推荐webfunny整套前端监控监控系统的流程是比较简单的:手机...
搭建前端监控系统(四)接口请求异常监控篇如何监控前端接口请求:1、如何监控ajax请求如果作为前端开发者你用的jquery、zepto、或者自己封装的ajax方法,就可以用如下的方法进行监控排查。前端开发者在监控XMLHttpRequest对象的两个事件loadstart,loadend。但是监控的结果并不是像我们想象的那么容易理解,我们先看下ajaxLoadStart,ajaxLoadEnd的回调方法。一个页面上会有很多个请求,当一个页面发出多个请求的时候,ajaxLoadStart事件被监控到,但是却无法区分出来到底发送的是哪个请求,只返回了一个内容超多的事件对象,而且事件对象的内容几乎完...
搭建前端监控系统(五)消息队列处理并发,通过一个消息暴增引发的前端线上崩了的问题场景来说明:消息队列处理并发的重要性随着前端监控日志搜集的内容越来越多,终于由于公司公众号的一波推文,导致了日志的瞬间流量达到历史新高,以至于mysql无法处理如此多的连接,系统崩溃。当然,作为日志上传的服务器,这个是必然会发生的情况,只是早晚的问题。既然出现了并发问题,那么前端工程师们就着手来处理吧。日志上传如何缓解高并发的情况呢?我们分为三个小点来处理。webfunny前端一体化埋点系统,支持多场景搭建分析,更全的支持业务的多角度分析。重庆互联网前端监控管理前端出现异常只有一种情况是需要前端程序员自己背锅的,那...
搭建前端监控系统(六)之接口性能分析篇,如何监控前端接口的性能。二、单个接口分析很多时候,前端出现接口问题的肯定某一个接口出现异常,如果是大面积异常,前端同学的电话肯定被老板打爆了,也不需要监控了。那么针对单个接口我们应该分析哪些指标呢?超时接口数量、单个接口的平均耗时、影响用户数量、发生页面个数、可以准确定位到某个小时和某一分钟发生的情况。三、分析报警分析报警可以分为多个指标:超时接口数量、超时接口占比(百分比),影响用户数量。随着工作的不断深入,前端工程师应该走出舒适圈,关注更多维度的指标,不能再局限在狭义的前端后端了。webfunny前端一体化埋点,通过对业务活动的埋点分析,来实现业务的...
webfunny前端监控系统—纯私有化部署,可实现的功能介绍,前端监控第二个功能模块、Js报错维度分析:1.Javascript错误的分类与聚合:主要包括每天Js报错量汇总、每天自定义异常量汇总、每天错误总量、不同平台(ios、android、PC)发生数量、影响人数。2.Javascript错误详情解析:主要包括每小时的报错趋势、每分钟的报错趋势(准确定位发生时间)、压缩代码定位、sourceMap解析源码定位。前端应用需要被监控,因为前端是用户体验和项目问题的主要发源地,我们只有掌握实时的信息,才能够更准确、更及时的发现和定位线上问题。webfunny前端监控系统,可实现精细化分析每个报错...
搭建前端监控系统(七)之用户细查篇一、如何贯穿用户的整个行为链路?这个很好理解,贯穿用户的整个行为链路,就需要一个单一的key来标识这个用户。比较简单的就是使用UserId了,在通过webfunny前端监控系统「用户细查」的功能模块,每个用户我都给他传入一个userId就可以了串联起来了。但是这种方式有一个很容易被忽略的弊端:如果这个项目获取userId速度比较慢,或者压根不会有userId,那么用户的行为记录是不是会出现缺失呢?或者根本就无法关联呢?那我们该如何规避这种问题呢?webfunny是如何做到的呢?为了规避以上提出的几点问题,webfunny通过设置内置id,来对所有的用户进行区分...
前端监控系统搭建第三步之购买CA证书或者说是HTTPS证书现在很多网站都是走HTTPS安全协议,如果我们的服务器不支持安全协议,那么日志是无法被上传到我们的服务器上的。所以我们也需要给我们的服务器配置安全证书。有多种方式获取证书,有不收费的,有收费的,我的webfunny前端监控项目用的是阿里云上未收费版本一年的。PS:https证书可能也需要折腾一些时间,需要有耐心。这样,我们的阿里云服务器部署环境就算搭建完成了,可以开始写前端日志的监控代码了。webfunny埋点系统,支持自定义SDK创建,可根据自身业务需求定义事件,获取数据更加全且准确。山东前端监控承诺守信 搭建前端监控系统(...
前端出现异常的时候,前端程序员如何快速甩锅?特别是前端程序员发现前端报错的原因是接口报错,这时候如何把这个前端报错的问题优雅的甩给后端程序员。可能有些前端程序员会认为接口的报错应该由后台来关注,统计,并修复。确实如此,而且后台服务有了很多成熟完善的统计工具,完全能够应对大部分的异常情况,那么为什么还需要前端来解决接口问题呢。原因很简单,因为前端是bug的重要发现位置,报错发生时肯定会先找到前端程序员来解决,那么在前端帮后台背锅之前怎么快速优雅的"甩锅"呢?大家有没有想过,如果前端程序员都对自己的项目做了系统的监控、报错都能实时反馈展示,就不用担心甩锅的问题了。webfunny前端监控工具,就是...
前端技术优化方案,需要有着陆点,以下就是前端优化比较基本的两个着陆点。1.白屏时间:输入网址后回车-浏览器出现的元素。2.首屏时间:输入网址后回车-浏览器渲染完成耗时的过程包括:DNS查询、TCP连接、HTTP请求响应、HTML解析。减少DNS查询(时间极端,几乎可以忽略)、减少TCP连接次数(适量保持keep-alive,负载均衡)、减少HTTP请求数(合并静态资源请求,js合并,雪碧图,小图片转base64等等;合并接口请求)、压缩资源体积(webpack打包压缩静态资源,nginx开启gzip做合适程度的压缩)、缓存静态资源(使用CDN,静态资源开启cache-control,Nginx...
前端程序员如何明确定位、排查前端生产问题?四、记录用户的接口行为接口请求是一个前端项目涉及比较多的行为,接口的异常包括:后台报错,响应超时,网络环境较差,重复接口数据覆盖等等。这些错误也只有在真实的用户环境中才会发生,是典型的线上问题。通过webfunny前端监控系统可以记录下用户的请求时间,参数,响应时间,响应状态等等,可以具体分析出来接口对页面的影响。五、记录用户的点击行为用户经过一系列复杂的行为操作之后(主要是点击行为),页面的样子和保存的数据都经过了很多变化,此时此刻很容易发生数据错乱的现象,导致修复bug的时候无从入手,是复现用户行为中重要的一环。webfunny前端监控系统的功能:...
搭建前端监控系统(四)接口请求异常监控篇如何监控前端接口请求:1、如何监控ajax请求如果作为前端开发者你用的jquery、zepto、或者自己封装的ajax方法,就可以用如下的方法进行监控排查。前端开发者在监控XMLHttpRequest对象的两个事件loadstart,loadend。但是监控的结果并不是像我们想象的那么容易理解,我们先看下ajaxLoadStart,ajaxLoadEnd的回调方法。一个页面上会有很多个请求,当一个页面发出多个请求的时候,ajaxLoadStart事件被监控到,但是却无法区分出来到底发送的是哪个请求,只返回了一个内容超多的事件对象,而且事件对象的内容几乎完...
搭建前端监控系统(五)消息队列处理并发:1、增加日志上传的时间间隔前端程序员应该都知道,日志上传的时间间隔越长,用户在这个间隔内离开的几率就会越大,日志的漏传量就会增加,然后会导致日志的准确度降低。因为我们的探针是安插在浏览器内的,用户随时都有可能关掉,所以,理论上讲间隔越短越好,但这并不现实。所以这个需要在服务器的承受能力和日志的准确率之间做个权衡。由具体情况而定2、移除探针代码里冗余的参数,缩短参数名字的长度另外一点,每台服务器的硬盘有限,带宽有限,如果参数名字太长,参数内容冗余,对服务器的硬盘和带宽都是一种极大的浪费。虽然每条日志都不起眼,但是日志起量了以后,就是会是一笔非常庞大的开销。...
搭建前端监控系统(三)静态资源加载监控篇如何监控前端静态资源加载情况:2、利用performance.getEntries()方法,获取到所有加载成功的资源列表,在onload事件中遍历出所有页面资源整合部分,利用排除法,到所有整合部分中过滤掉成功的资源列表,即为加载失败的资源。此方法看似合理,也确实能够排查出加载失败的静态资源,但是检查的时机很难掌握,另外如果遇到异步加载的js也就歇菜了;3、添加一个Listener(error)来捕获前端的异常,也是我正在使用的方法,比较靠谱。但是这个方法会监控到很多的error,所以我们要从中筛选出静态资源加载报错的error。webfunny前端监控系...
前端监控系统搭建第二步之阿里云购买域名购买阿里云服务器之后,就获得了这个服务器对外的公网IP,通过这个IP和端口,我们就可以访问这台服务器上的服务。可是无论上传还是访问,总是通过ip有点太不专业了,为了安全,而且很多网站是禁止ip直接访问的,所以,我们需要有一个域名。申请域名:这个在阿里云上操作很简单,当然越好的域名就越贵。这里边有一点需要注意,以后有可能给这个域名购买https证书,阿里云上的审核比较严格,有些是无法审核通过的,所以可以先尝试买一个简单的,测试一下,省得花冤枉钱。域名需要经过购买,备案,准备资料,上传资料,审核,一系列步骤之后,才可以真正使用(步骤繁琐,建议要有耐心)。域名审...
webfunny整套前端监控监控系统的流程是比较简单的:手机端-用户访问页面会产生错误日志、产生的日志会存入浏览器缓存,浏览器本地缓存会定时向Node服务推送日志信息,NodeJs日志服务会分类处理后,存入到mysql数据库中,数据可视化系统会展示日志数据。webfunny前端监控用mysql数据库来存数据库,目前没有遇到卡死的情况。webfunny前端监控系统的数据库,采用了每日分表的模式,目前千万级别的日志量是没有问题的哦,请放心使用吧。Webfunny前端监控系统支持的项目有H5前端、PC前端、微信小程序、uni-APP。webfunny前端一体化埋点可实现漏斗分析,支持业务做更深度数据...
webfunny前端监控项目可实现:七、分析用户的场外信息当用户所有的行为都被前端开发者掌握之后,前端能够复现出用户的行为,甚至能够复现出用户的问题,也许还需要一些场外信息才能准确定位问题,比如,用户的机型,地理位置,系统版本,当时的网络环境(这个不准确,我做webfunny前端项目场景测试时,是依据用户当时初次加载页面的时间来判断,只能作为参考依据)前端线上问题产生的原因五花八门,只有把日志做全了,才能够准确的定位和解决前端问题、作好前端项目的监控。这是webfunny前端监控项目开发者排查线上问题的经验和实战,分享给所有的前端工程师们参考,当然理论有了,作为前端开发技术同学还是实操效果更好...
搭建前端监控系统(三)静态资源加载监控篇如何监控前端静态资源加载情况:2、利用performance.getEntries()方法,获取到所有加载成功的资源列表,在onload事件中遍历出所有页面资源整合部分,利用排除法,到所有整合部分中过滤掉成功的资源列表,即为加载失败的资源。此方法看似合理,也确实能够排查出加载失败的静态资源,但是检查的时机很难掌握,另外如果遇到异步加载的js也就歇菜了;3、添加一个Listener(error)来捕获前端的异常,也是我正在使用的方法,比较靠谱。但是这个方法会监控到很多的error,所以我们要从中筛选出静态资源加载报错的error。webfunny前端监控系...