怎样定位前端线上问题,一直以来,都是很头疼的问题,因为它发生于用户的一系列操作之后。错误的原因可能源于机型,网络环境,接口请求,复杂的操作行为等等,在我们想要去解决的时候很难复现出来,自然也就无法解决。 当然,这些问题并非不能克服,让我们来一起看看如何去监控并定位线上的问题吧。

  背景:市面上的前端监控系统有很多,功能齐全,种类繁多,不管你用或是不用,它都在那里,密密麻麻。往往我需要的功能都在别人家的监控系统里,手动无奈,罢了,怎么才能拥有一个私人定制的前端监控系统呢?做一个自带前端监控系统的前端工程狮是一种怎样的体验呢?

  这是搭建前端监控系统的第二章,主要是讲如何对js错误进行监控,跟着我一步步做,你也能搭建出一个属于自己的前端监控系统。

  如果感觉有帮助,或者有兴趣,请关注 or Star Me 。

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

  本文由 www.webfunny.cn 前端监控提供;只需要简单几步就可以搭建一套属于自己的前端监控系统,快来试试吧 ^ _ ^。

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

  前端监控功能主要包含:  JS错误日志监控分析、静态资源请求报错统计、用户行为检索、接口请求报错统计、HTML加载性能分析、PVUV日志分析

   好了,现在开始,按照上边的顺序,一步一步搭建前端监控系统。工欲善其事,必先利其器。一个监控系统开发,需要开发环境,部署环境,以及各种开发工具来提高开发效率,那么就先从部署阿里云服务器来说吧,阿里云服务器的部署过程比较漫长,可能不是一天两天能搞得定的,需要有耐心。进入正题。

一、购买阿里云服务器(本地部署类似)

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

  服务器类型: 入门级(共享) 2vCPU 4GB内存 带宽2M(个人建议2vCpu 2GB内存足矣)

  安装运行环境:

  1. 系统: Ubuntu 16 64位 硬盘40G (默认)
  2. 安装 nvm安装使用教程 , 运行前端项目可能会需要切换node版本,建议提前安装。
  3. 安装 PM2安装使用教程, 运行node服务应该都知道这个,它是个node服务进程管理器。
  4. 安装 JDK(Java运行环境),安装tomcat, 并配置环境变量,这个网上教程一大堆。
  5. 安装 Jenkins安装教程,下载 Jenkins 的war包,在tomcat下运行, 搭建自动化部署系统。 工欲善其事必先利其器,因为会频繁的发布版本,所以这个建议先安装好。
  6. 安装 Mysql数据库安装教程, 存储数据日志,用于以后的分析。
  7. 安装 Nginx安装教程,nginx服务器用来做转发,反向代理,以及跨域处理等等。

二、阿里云购买域名

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

  申请域名:

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

  域名需要经过购买,备案,准备资料,上传资料,审核,一系列步骤之后,才可以真正使用(步骤繁琐,建议要有耐心)。

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

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

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

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

  PS: https证书可能也需要折腾一些时间,需要有耐心。

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

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

前端性能监控系统 & 前端数据分析系统的更多相关文章

  1. 前端性能监控方案window.performance 调研(转)

    1. 业界案例 目前前端性能监控系统大致为分两类:以GA为代表的代码监控和以webpagetest为代表的工具监控. 代码监控依托于js代码并部署到需监控的页面,手动计算时间差或者使用浏览器的的API ...

  2. 前端性能监控系统ShowSlow

    作者:zhanhailiang 日期:2014-11-14 1. 简单介绍 ShowSlow是开源的前端性能监控系统,提供了下面功能: 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具 ...

  3. Performance — 前端性能监控利器

    Performance是一个做前端性能监控离不开的API,最好在页面完全加载完成之后再使用,因为很多值必须在页面完全加载之后才能得到.最简单的办法是在window.onload事件中读取各种数据. 大 ...

  4. Performance --- 前端性能监控

    阅读目录 一:什么是Performance? 二:使用 performance.timing 来计算值 三:前端性能如何优化? 四:Performance中方法 五:使用performane编写小工具 ...

  5. [转] Performance — 前端性能监控利器

    timing (PerformanceTiming) 从输入url到用户可以使用页面的全过程时间统计,会返回一个PerformanceTiming对象,单位均为毫秒 按触发顺序排列所有属性:(更详细标 ...

  6. 前端性能监控之performance

    如果我们想要对一个网页进行性能监控,那么使用window.performance是一个比较好的选择. 我们通过window.performance可以获取到用户访问一个页面的每个阶段的精确时间,从而对 ...

  7. 使用performance进行前端性能监控

    该文章仅作为自己的总结 1.performance.timing对象 navigationStart:当前浏览器窗口的前一个网页关闭,发生unload事件时的Unix毫秒时间戳.如果没有前一个网页,则 ...

  8. 前端性能监控:window.performance

    window.performance 是W3C性能小组引入的新的API,目前IE9以上的浏览器都支持.一个performance对象的完整结构如下图所示: memory字段代表JavaScript对内 ...

  9. 《转》前端性能优化----yahoo前端性能团队总结的35条黄金定律

    除了自己总结:1. 减少http请求,2.压缩并优化js/css/image 3.尽量静态页面,从简原则 4.代码规范(详见:个人知识体系思维导图) 从yahoo 新学到的: 网页内容 减少http请 ...

随机推荐

  1. 查看Linux内核版本之lsb_release

    lsb_release命令LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息,可通过yum -y install redhat-lsb命 ...

  2. hibernate框架学习笔记7:HQL查询、Criteria查询简介

    HQL查询:hibernate独有的查询语言 适用于不复杂的多表查询 示例: 实体类: package domain; public class Customer { private Long cus ...

  3. 20155227 实现mypwd

    20155227 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 课堂学习笔记 实现mypwd 在 ...

  4. DNS协议(一)

    在互联网上要想与另外一台主机通信,要知道对方的IP地址,但是IP地址是很难记忆的, 比如百度的一台服务器的IP地址为115.239.210.27,我们在浏览器中输入http://115.239.210 ...

  5. Flask 学习 四 数据库

    class Role(db.Model): __tablename__='roles' id = db.Column(db.Integer,primary_key=True) name = db.Co ...

  6. 【iOS】字号问题

    一,ps和pt转换 px:相对长度单位.像素(Pixel).(PS字体) pt:绝对长度单位.点(Point).(iOS字体) 公式如下: pt=(px/96)*72. 二,字体间转换 1in = 2 ...

  7. LoadRunner录制手机APP教程

    1.     开启fiddler 2.     打开HP Virtual User Generator,新建->Web (HTTP/HTML)>创建 3.     点击开始录制: (1) ...

  8. MySQL/MariaDB中游标的使用

    本文目录:1.游标说明2.使用游标3.游标使用示例 1.游标说明 游标,有些地方也称为光标.它的作用是在一个结果集中逐条逐条地获取记录行并操作它们. 例如: 其中select是游标所操作的结果集,游标 ...

  9. C语言学习(二)

    今天在程序员面试题中,碰到一个有意思的题目:数组a[N],存放了1至N-1个数,其中某个数重复一次,现在要求找出重复的数字且程序时间复杂度必须为O(N).乍一看,如果不计时间复杂度和空间复杂度程序比较 ...

  10. groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration

    参考链接:http://www.cnblogs.com/rightmin/p/4945797.html 1.引入groovy的jar包 2.引入groovy编译插件 3.遇到问题 Plugin exe ...