sourcemap 上传到sentry异常监控系统的配置记录

栏目: 服务器 · 发布时间: 6年前

内容简介:前端异常监控和性能监控基本是web开发的标配了,很多公司都开发自己的异常监控和页面性能监控系统,基于sentry的基础配置就不多说了,本文的目的就是怎么将sourcemap上传到sentry服务中去,让技术人员在分析异常的时,更加方便。

sourcemap 上传到sentry异常监控系统的配置记录

前端异常监控和性能监控基本是web开发的标配了,很多公司都开发自己的异常监控和页面性能监控系统, sentry 是个不错的开源的性能监控平台,功能丰富,还能和gitlab ,钉钉等各个平台进行结合,将异常监控上报到gitlab或与钉钉机器人结合,这对于一般公司来说,够用了,这对于线上前端出现的异常能够实时的发现,修复。

基于sentry的基础配置就不多说了,本文的目的就是怎么将sourcemap上传到sentry服务中去,让技术人员在分析异常的时,更加方便。

将js的sourcemap文件上传到sentry 有如下三种方法,1. realases API , 2. sentry-cli 3,  sentry-webpack-plugin 都可以达到我们的目的。

现在我们来通过第三种方式来实现sourcemaps文件上传到sentry服务中。我以vue-cli3的配置来一步步实现配置。

配置

1.安装sentry-webpack-plugin插件

首先安装sentry-webpack-plugin插件,命令如下

npm install @sentry/webpack-plugin --save-dev

2.配置.sentryclirc文件

安装好sentry-webpack-plugin之后,接下来在项目根目录下新建文件 .sentryclirc   该文件的配置如下所示

[defaults]
url = https://sentry.vipkid.com.cn/
org = vipkid
project = student-pk
 
[auth]
token = e30673956815499a8bb23769.........

现在说明没每个配置参数的含义

urlsentry上报的网址

org项目所在的组织

project项目名称

tokenapi token

那么怎么查看这些信息呢?假如公司搭建的项目查看界面如下所示。

sourcemap 上传到sentry异常监控系统的配置记录
某一个sentry监控项目

上图说明的url ,org project对应的位置。token 的查找是 点击自己的账户入口选择api, 就能查到自己对应的token ,一定要有 project:write 的权限 。

3.打包配置调用sentry-webpack-plugin插件

1.在vue-cli3中,我们想要添加webpack配置,1.需要在根目录下添加 vue.config.js  来进行配置 。配置如下

const gitSha = require('child_process').execSync('git rev-parse HEAD').toString().trim() //这个是获取提交版本的记录
const SentryPlugin = require('@sentry/webpack-plugin');
  
process.env.RELEASE_VERSION = gitSha //将记录赋值给RELEASE_VERSION
  
//webpack配置
module.exports = {
   chainWebpack: config => {
      if (NODE_ENV === 'production') {
       config.plugin("sentry").use(SentryPlugin, [{
        ignore: ['node_modules'],
        include: './dist', //上传dist文件的js
        configFile: './.sentryclirc', //配置文件地址
        release: process.env.RELEASE_VERSION, //版本号
        deleteAfterCompile: true,
        urlPrefix: 'https://s.xx.com/fe-static/learning/student-pk' //cdn js的代码路径前缀
       }])
      }
   }
}

2.在引入sentry的文件中将版本号(RELEASE_VERSION)的配置 添加进去,student-pk 项目在main.js中引入了sentry,如下所示。

Raven.config('https://571a68f8698a1f750@sentry.vipkid.com.cn/207', {
    release: process.env.RELEASE_VERSION //版本号与vue.config.js的一致
 })
  .addPlugin(RavenVue, Vue)
  .install()

这样我们的往sentry上sourcemap的配置基本配置完毕,但是由于打包的时候也生成了sourcemap,这些资源是不上传到cdn上的,这个我们可以在打包完成之后删除对应目录下的.map文件,这样我们的sourcemaps上传配置就完成了。

测试配置

我们在项目中的某个文件下的mounted方法添加 this.testSentry() (testSentry方法并没有定义) 代码如下所示。

mounted () {
    if (this.$route.query.back_url) { // web--来源于web页面
      localStorage.setItem('sourceSort', 'web')
      this.backUrl = this.$route.query.back_url
      localStorage.setItem('backUrl', this.backUrl)
    }
    this.testSentry() // this.testSentry()并没有定义
    if (!this.$route.query.back_url && !this.$route.query.result) { // pad--来源于pad
      localStorage.setItem('sourceSort', 'pad')
    }
  //.......
}

然后运行该代码,查看异常监控平台,效果如下

这样我们的sourcemap配置成功。


以上所述就是小编给大家介绍的《sourcemap 上传到sentry异常监控系统的配置记录》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Software Design 中文版 01

Software Design 中文版 01

[日] 技术评论社 / 人民邮电出版社 / 2014-3 / 39.00

《Software Design》是日本主流的计算机技术读物,旨在帮助程序员更实时、深入地了解前沿技术,扩大视野,提升技能。内容涵盖多平台软件开发技巧、云技术应用、大数据分析、网络通信技术、深度互联时代下的移动开发、虚拟化、人工智能等最前沿实践性讲解。以人脑思维模式,激发计算机操控的无限可能;以软件开发技巧,挖掘系统与硬件的最大价值。 《Software Design 中文版 01》的主题为......一起来看看 《Software Design 中文版 01》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具