基于Sentry打造前端性能监控平台

3,835 阅读2分钟

为什么要搭建前端性能监控平台?

1.研发人员并不能避免百分百没有bug,以及测试同学也不能覆盖整个项目。

2.如果等待用户反馈,时间周期长,不易复现,增加额外的沟通成本,领导也不高兴。

上线的项目我们也要对他进行个兜底原则,至少在一定范围内我们知道它内部发生了什么,什么时候,什么地方,怎样的方式。

我们的期望: 用户踩了雷,我们要同步的知道问题,第一时间排掉。

自己去写一个这样的监控系统不是很难,但是需要时间,也需要调试,对于小团队来说,时间就是成本,现成的开源项目sentry反馈都不错,所以优选还是他。(工作久了,觉得精力有限,这些活用开源的就好,免费,又好用不香吗)。

搭建sentry两种方式。

1:商业版, 优点:省事,只需要配置就好了,有限额(花钱可以解决)

2:开源版 优点:一劳永逸,不用向sentry

好评: 商业版和开源版功能讲都差不多,这也是sentry社区意思 会尽量保证商业版本和开源版本一致

这里是个例子主动抛出了异常,后面开启sourcemap 精准定位,邮件通知,基本无缝衔接

能看到调用栈,以及上下文,用户的环境,ip地址,浏览器环境,应有尽有

image.png

image.png

image.png

image.png

安装方式:(docker安装)

安装docker

$ curl -sSL https://get.daocloud.io/docker | sh

安装 docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这里注意版本需要1.28.0

检查是否安装成功
docker  -v

docker-compose -v

随便找个目录下

git clone https://github.com/getsentry/onpremise.git

$ cd onpremise
$ ./install.sh

过程很漫长,最后会让你输入一个管理员账户

docker-compose up -d  //启动


然后访问http://localhost:9000 (服务器的话就是你ip)

这里sentry默认端口是9000,不建议修改默认端口,注意其他进程别占用

接下来设置邮件服务

当前目录应该还在onpremise下

vim sentry/config.yml

image.png

这里用的是QQ

mail.username 你的邮箱

mail.password 授权码

use-tls 开启

mail.from 'admin<你邮箱>'

这里admin前缀 就是发邮件时你的发件名字 自己可以修改 后面的跟着邮箱

!! smtp中的密码不是你邮箱的真实密码,而是你邮箱安全设置的smtp授权码

docker-compose stop  //停止

docker-compose up -d  //再次启动

邮件服务搭建完毕 !!!

image.png

点击头像可以测试下

基本搭建就完成了 接下来会说一些在react umi中项目中应用 先更到这里