博客
关于我
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-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
    查看>>
    Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
    查看>>
    Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
    查看>>
    Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
    查看>>
    python出现 unknown encoding: idna 的处理方法
    查看>>
    Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
    查看>>
    Python-numpy(2)数组的操作
    查看>>
    Python-Numpy的tile函数用法
    查看>>
    python-open函数
    查看>>
    Python-Pandas-将特定函数应用于给定级别-多索引数据框架
    查看>>
    python-queue队列通信
    查看>>
    python-ros No module named PyKDL
    查看>>
    python-social-auth 是否需要会话
    查看>>
    Python再获年度编程语言,微软或成最大赢家
    查看>>
    python-week5
    查看>>
    Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Python-【1】配置
    查看>>
    Python-从子文件夹执行绝对导入
    查看>>