sentry搭建错误监控系统(二)

2,322 阅读2分钟

上次没有看到源码的问题解决了。之前没有看到源码,是因为本地跑的,后面我用docker起个服务,发现可以定位到源码,开森~

image

一、上报的规则

1、服务端设置报警的规则

可以在project setting ->alert里面去设置 image

2、 客户端设置

这是Sentry客户端的一些api。我们用configureScope这个来试下 image 在客户端设置

Sentry.configureScope((scope) => {
    scope.setUser({email: 'nanlan.yj@foxmail.com'});
    scope.setExtra('character_name', 'Mighty Fighter');
});

构建之后,会看到刚刚设置的用户和extra Data

image

image

此外还有setTag、setExtra、setLevel的方法,具体可以参考 传送门 (ps:withScope和configureScope的区别在于作用域不同

image

这段话大概意思就是congfigure-scope,当前scope改变的话,其他的也会改变。而with-scope相当于创建一个当前scope的副本,并且与原先的完全隔离直到函数调用完成

二、区分环境

process.env.NODE_ENV === "production" && Sentry.init({
    release: 'v1.0.6',
    dsn: 'https://f36c12db53d94e21b3eeecdf890dfcc4@o384506.ingest.sentry.io/5227797',
    environment: 'staging',
    debug: true,
    // beforeBreadcrumb(breadcrumb, hint) {
    //     console.log(breadcrumb)
    //     return breadcrumb.category === 'ui.click' ? null : breadcrumb;
    //   },
});

可以看到刚刚设置的环境,你可以提出实际需求,设置localrelase image 当然还可以在project settingenvironment中管理

image 更多关于Sentry.init的配置参数,传送门

三、创建发布并关联提交

1、首先在 Integration里面安装github

在设置->Integration->安装 github image

配置你的github地址 image

2、创建发布并关联提交

官网传送门

  • CLI 创建发布并提交

在自己的项目录下创建xx.sh的文件

#!/bin/bash  

export SENTRY_AUTH_TOKEN=
export SENTRY_ORG=
export VERSION=v1.0.6
# 创建一个发布,可以new多个
sentry-cli releases new -p nanlan-blog  $VERSION
# 与commit相关联,默认是最新的20次
sentry-cli releases set-commits --auto $VERSION
# 最终发布
sentry-cli releases finalize $VERSION
  • 运行sh xx.sh即可

3、查看是否成功

  • 发布的菜单下可以看到,证明操作成功 image

4、链接git issue

在问题最右侧的面板点击Link Github Issue创建一个链接 image 可以看到github的issue增加了一个

image

问题的issue id image 下次提交的时候,提交日志加上issue的id,那么这个问题就会从unresolved变成solved

git commit -m "fix NANLAN-BLOG-E"

image