博客
关于我
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/

    你可能感兴趣的文章
    Pythons__IMPORT__未按预期工作
    查看>>
    Pythont通过request以及BeautifulSoup爬取几千条情话
    查看>>
    pythonweb django的学习
    查看>>
    pythonweb网站开发基础django安装
    查看>>
    pythonweb网站开发基础创建django项目
    查看>>
    pythonweb网站开发基础添加应用
    查看>>
    Python_015 多线程
    查看>>
    python_73_pickle序列化(接72)
    查看>>
    python_code_418
    查看>>
    python_day10 协程 GEVENT
    查看>>
    python_day1作业
    查看>>
    Python接口自动化测试必备基础之http协议详解!
    查看>>
    python_IDE开发环境使用_建立Python源文件---python工作笔记011
    查看>>
    Python_web框架解析
    查看>>
    Python__Enter__/__Exit__vs__init__(或__new__)/__del__
    查看>>
    python_对象的基本组成和内存示意图---python工作笔记016
    查看>>
    python_开发环境介绍_交互模式使用_IDE介绍和使用---python工作笔记010
    查看>>
    python_引用的本质_栈内存和堆内存_内存示意图---python工作笔记017
    查看>>
    python_标识符_帮助系统的使用_命名规则---python工作笔记018
    查看>>
    python_海龟绘图_坐标系问题_画笔各种方法---python工作笔记013
    查看>>