博客
关于我
Sentry搭建和使用
阅读量:313 次
发布时间:2019-03-03

本文共 2256 字,大约阅读时间需要 7 分钟。

Sentry实时错误监控工具部署指南

前言

Sentry是一个开源的实时错误收集工具,通过其独特的技术,能够帮助开发者快速定位线上应用的异常问题。基于Sentry工具,本人成功监控了一个基于Vue的线上项目,实现了实时异常监控与问题修复。

安装步骤

1. 准备环境(Linux)

为了顺利完成Sentry的安装,建议先确保以下环境:

  • 已安装Git
  • 准备一台稳定的CentOS环境
  • 克隆Sentry代码仓库,并切换至remotes/origin/releases/9.1.x分支

2. 开始安装

第一轮安装失败

运行安装脚本时,出现如下错误:

toomanyrequests: You have reached your pull rate limit

解决方法:

  • 登录Docker Hub账号
  • 确保Docker Hub的Pull限流限制已解除
  • 第二轮安装失败

    再次运行安装脚本,仍然出现错误:

    ERROR: could not find an available, non-overlapping IPv4 address pool

    解决方法:

  • 修改docker-compose.yml文件,调整网络设置
  • 确保各服务共享同一自定义网络
  • 第三轮安装成功

    经过上述调整后,安装完成后可以看到以下服务状态:

    onpremise_workeronpremise_webonpremise_crononpremise_postgresonpremise_redisonpremise_memcachedonpremise_smtp

    访问Sentry

    通过docker ps可以确认Sentry服务已正常运行,访问以下地址即可进入Sentry界面:

    http://localhost:9000

    Vue项目配置Sentry

    1. Sentry端配置

    部署完成后,访问Sentry界面创建项目。建议选择“Vue”作为项目类型,设置相应的访问权限组(Team)。

    2. 获取API Auth Tokens

    创建项目后,生成API Auth Token,用于后续配置。

    3. Vue项目配置

    在项目入口文件中(如main.js)添加Sentry初始化代码:

    import Vue from 'vue'import Sentry from '@sentry/browser'import { Vue as VueIntegration } from '@sentry/integrations'import { Integrations } from '@sentry/tracing'import store from '@/store'Sentry.init({  dsn: 'http://your-dsn-url',  integrations: [    new VueIntegration({      Vue,      attachProps: true,    }),    new Integrations.BrowserTracing(),  ],  release: 'your-release-name',  logErrors: true,})Sentry.setUser({  username: store.state.user.userNameEn,})Sentry.setTag(store.state.user.userNameEn, store.state.user.userNameEn)

    4. 安装依赖

    确保安装以下包:

    npm install @sentry/browser @sentry/integrations @sentry/tracing

    5. 上传sourcemap

    使用sentry-cli工具上传sourcemap:

    sentry-cli login

    根据提示输入Sentry项目Token,生成.sentryclirc文件。

    上传命令:

    sentry-cli releases files your-project@dev upload-sourcemaps --url-prefix '~/js' './dist/js'

    配置@Sentry/webpack-plugin

    在vue.config.js中添加插件配置:

    new SentryWebpackPlugin({  release: 'your-release-name',  include: path.join(__dirname, './dist/js/'),  ignore: ['node_modules', 'vue.config.js'],  configFile: '.sentryclirc',  urlPrefix: '~/js',})

    常见问题

  • Linux环境下自动上传sourcemap失败
    • 错误提示:
      error: command failed
    • 解决方法:
      • 使用脚本结合构建和上传:
      npm run build && sentry-cli releases files your-project@dev upload-sourcemaps --url-prefix '~/js' './dist/js'
  • 错误信息上报
    • 确保Sentry项目已创建,且DSN地址正确。
    • 确保sourcemap文件已成功上传。
  • 通过以上步骤,可以实现Sentry实时监控和错误分析,提升项目质量和用户体验。

    转载地址:http://qgxm.baihongyu.com/

    你可能感兴趣的文章
    Python 常见的错误类型和继承关系
    查看>>
    python 常量_零基础学Python系列之一:Python的变量与常量
    查看>>
    Python 并发编程
    查看>>
    python 序列化操作
    查看>>
    Python 开发者,这 7 个 VS Code 插件极力推荐
    查看>>
    python手把手视频_硬货 | 手把手带你构建视频分类模型(附Python演练))
    查看>>
    python 录音左右声道_Python分离立体声wav压缩文件的左右声道
    查看>>
    Python 循环异或对文件进行加解密
    查看>>
    Python开发环境搭建(附VMware安装包及虚拟机环境)
    查看>>
    python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
    查看>>
    Python 快速下载依赖
    查看>>
    python实现非参数统计的Cochran检验 (附完整源码)
    查看>>
    Python 手写数字识别-3-sklearn中的几种算法
    查看>>
    Python 打开文件注意事项
    查看>>
    python 批量修改文件名_python windows下批量修改文件名
    查看>>
    Python 抓取网页乱码问题 以及EXCEL乱码
    查看>>
    python 抓取网页内容
    查看>>
    python 按照当前日期创建文件
    查看>>
    Python 接口并发测试详解
    查看>>
    Python 接口自动化 —— requests框架
    查看>>