写了几篇前端监控的文章,感觉泛泛而谈,因为刚开始的布局太广,反而不能够分析出数据的价值。所以把代码重构了一下,借鉴了听云和Sentry的某些功能需求,针对某类数据进行详细的分析,以求达到有价值的分析结果,与大家共勉。

=====================================================================

前端监控系统 DEMO地址

=====================================================================

 

  背景:应工作要求,需要整理出前端项目的报错信息,尝试过很多统计工具,如: 腾讯bugly、听云、OneApm、还有一个 。 因为各种原因,如: 统计的日志无法正确分类,收费太高,存储数量有限制等等,都放弃使用了。作为一个前端工程师,看到这些统计工具之后,应该就能清楚这些监控系统的原理是怎样的。那不如我们自己来写一个吧。

  Bugly统计需要由APP开发工程师的参与,且日志杂乱,不可取.

  听云,OneApm均有成型的项目,日志分析全面,应该是大公司的首选,但是感觉有些功能比较鸡肋,也许是产品经理们想得比较深远,哈哈。均按流量收费,我想很多人还是不舍得花这个钱的。

  Sentry.io 不得不说,这款产品很棒,做得很精细,符合老外的风格,但美中不足的是,没有上边两家做的全面,主要是侧重点不同。js错误统计量为1万条,多则收费。

 


前端监控功能主要包含:

 

   JS Error 错误日志监控分析、用户行为分析、接口请求日志分析、接口报错日志分析、接口请求耗时分析、HTML加载性能分析

 

   PVUV日志分析、页面用户行为(喜好)统计分析

   好了,现在开始,一步一步搭建前端监控系统

 

  工欲善其事,必先利其器。一个监控系统开发,需要开发环境,部署环境,以及各种开发工具来提高开发效率。

那么就先从部署阿里云服务器来说吧,我知道,这一章对很多人来说是小儿科了,但是请允许我记录下来,我希望在文章完结的时候,整个历程是完整的 ^ _ ^ 。

进入正题。

一、购买阿里云服务器

  对于之前没有搞过服务器的前端来说,折腾一个能运行的服务器,还真是费了不少周折。

  实例类型: 入门级(共享) 2vCPU 4GB内存 带宽3M(默认1M带宽,慢得无法忍受,升级)

  安装运行环境:

  1. 系统: Ubuntu 16 64位 硬盘40G (默认)
  2. 安装 nvm , 运行前端项目可能会需要切换node版本,建议提前安装。
  3. 安装 JDK(Java运行环境),安装tomcat, 并配置环境变量
  4. 下载 Jenkins 的war包,在tomcat下运行, 搭建自动化部署系统。 工欲善其事必先利其器,因为会频繁的发布版本,所以这个建议先安装好
  5. 搭建Git 服务器,在自己的服务器上安装git, 管理更方便(当然可以直接用github)
  6. 安装mysql数据库, 以此来存数据日志,用于以后的分析

二、阿里云购买域名

  购买阿里云服务器之后,就获得了这个服务器对外的公网IP,通过这个IP和端口,我们就可以访问这台服务器上的服务。 可以无论上传还是访问总是通过ip有点太不专业了,为了安全,而且很多网站是禁止ip直接访问的,所以,我们需要又一个域名。

  申请域名:

  这个在阿里云上操作很简单,当然越好的域名就越贵。这里边有一点需要注意,以后有可能给这个域名购买https证书,阿里云上的审核比较严格,有些是无法审核通过的,所以可以先尝试买一个简单的,测试一下,省得花冤枉钱。

  域名审核通过后,配置DNS解析,就可以通过域名访问我们的服务器了

三、购买CA证书或者说是HTTPS证书

  现在很多网站都是走HTTPS安全协议,如果我们的服务器不支持安全协议,那么日志是无法被上传到我们的服务器上的。所以我们也需要给我们的服务器配置安全证书。

  有多种方式获取证书,有免费的,有收费的,我用的是阿里云上免费一年的。

 

  这样,我们的阿里云服务器就算搭建完成了,可以开始写前端日志的监控代码了。

  下一章:搭建前端监控系统(二)JS错误监控篇

 

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程