博客
关于我
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可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
    查看>>
    python可维护性_使用这7大神器,让你的Python 代码更容易于维护
    查看>>
    Python只运行一次while循环
    查看>>
    python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
    查看>>
    Python变量命名方法-ChatGPT4o作答
    查看>>
    Python变量与运算符
    查看>>
    Python变量/运算符/函数/模块/string
    查看>>
    python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
    查看>>
    python系列【仅供参考】:python flask框架 debug功能
    查看>>
    python发送notes邮件_使用python在Lotus Notes中发送邮件
    查看>>
    Python双版本下创建一个Scrapy(西瓜皮)项目
    查看>>
    Python双版本下No module named 'requests'
    查看>>
    python及pycharm2018软件安装教程
    查看>>
    python去重txt文本_Python实现的txt文件去重功能示例
    查看>>
    python去掉列表的逗号,从Python列表项中删除标点符号
    查看>>
    Python卸载所有包
    查看>>
    python单线程下实现多个socket并发
    查看>>
    Python单元测试框架介绍(超详细~)
    查看>>