Sentry.init({
dsn,
integrations: [new Integrations.BrowserTracing()],
// eslint-disable-next-line
release: _SENTRY_RELEASES_, //版本号,参见webpack.config.js中的define定义
enabled: process.env.NODE_ENV !== 'development',
// Set tracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
// We recommend adjusting this value in production
tracesSampleRate: 0.8
});
Sentry安装使用记录
优点
接入Sentry
网上教程很多,这里就不在描述,记得找时间最近的教程;
推荐:Centos中安装Sentry
配置 .env
执行
ll -a
可以看到目录中有一个 .env 文件将 SENTRY_EVENT_RETENTION_DAYS=90 改为 SENTRY_EVENT_RETENTION_DAYS=7,一般保存7天事件数据即可,视自己情况而定。在文件最后可添加 “限制 Kafka 磁盘使用量” 的配置,新版 Sentry 使用的 Kafka 会大量的写入日志信息,特别容易导致磁盘跑满,具体限制额度根据自己的磁盘情况而定。具体可常见 Sentry disk cleanup [kafka]
编辑完成后,按
esc
退出编辑模式,然后按shift + :
输入wq
后回车。如果没有编辑可输入q
或q!
退出。Sentry配置nginx大小
1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf。
2.在http{}段中加入 client_max_body_size \20m****; 20m为允许最大上传的大小。
使用Sentry
接入项目
创建项目之后会有文件教程;
需要先安装:
下面是项目中使用示例,对于多页,可以写成一个通用的
js
,然后引入:(注意这里的版本号release号,如果需要上传源码一定要和后面的@sentry/cli或者@sentry/webpack-plugin里面的版本号对应,这样才能正确的解析到代码位置)修改语言,修改时区
修改项目报错通知时间
如果设置的是5分钟,我这边会显示不了错误,即使有进行异常上报,设置成1分钟就可以;
设置 APIKEY
非常重要的一步,配置的话,这 2 个必勾。涉及到后面上传 sourceMap 文件的权限
设置成功后可以看到一条
apikey
这是后面上传配置需要用到的;
结合@sentry/cli实现源码上传
安装
@sentry/cli
配置
.npmrc
文件,新增sentrycli_cdnurl
,不然大概率安装失败项目根目录新增
.sentryclirc
配置文件注意不能有空格,否则会报错,配置图文对应:
package.json
的script新增命令:"upload-sourcemap": "sh ./upload-sourcemap.sh",
即执行完
yarn run build
之后会继续执行upload-sourcemap
根目录新增
upload-sourcemap.sh
脚本这里是使用
sentry-cli
进行源码上传,注意编译之后的map
文件的位置,这里webpack
默认再dist
下面;版本号需要手动填写,也可以去SVN或者git提交的版本号;
执行完之后可以就可以看到版本了
@sentry/webpack-plugin上传
由于这样编译和上传
source-map
是分开的,需要手动填写版本号,不方便,现在介绍另外一种通过@sentry/webpack-plugin
来进行同步上传,不用担心拖慢编译速度,实际上传很快的,也就10秒左右.sentryclirc
文件内容不变,webpack-prod.js
(注意不是开发模式)文件新增以下内容:sentryConfig.js
修改release
:执行
npm run build
即可看到效果;主要要删除
.map
文件上传完,所以在package.json
的script
中的build
要加上rm -rf dist/js/*.map
删除map文件