首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年5月27日 星期二 9:22pm

Sentry 私有化部署监控前端应用

  • 25-04-18 12:21
  • 2662
  • 10021
juejin.cn

一、部署环境要求

  1. 硬件配置:

    • CPU:4 核及以上(需支持 SSE 4.2 指令集,ARM 架构可能不兼容)。
    • 内存:8GB RAM 及以上。
    • 磁盘:剩余空间 ≥20GB(建议挂载至大容量分区)。
    • 网络:稳定连接 GitHub 和 Docker 镜像仓库。
  2. 软件依赖:

    • Git(版本管理)。
    • Docker ≥19.03.6。
    • Docker Compose ≥1.28.0。

二、部署步骤

1. 安装 Docker 与 Docker Compose

# 安装 Docker(以 CentOS 为例)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
systemctl start docker && systemctl enable docker

# 安装 Docker Compose
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.27.3/docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose

2. 克隆 Sentry 自部署仓库

git clone https://github.com/getsentry/onpremise.git
cd onpremise

3. 配置镜像加速(可选)

编辑 /etc/docker/daemon.json,添加国内镜像源:

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mirrors.tuna.tsinghua.edu.cn"
  ]
}
systemctl restart docker

4. 执行自动部署脚本

# 运行安装脚本(需 root 权限)
./install.sh

# 启动 Docker 服务集群
docker-compose up -d
  • 注意:安装过程中会提示设置管理员账号和密码,需妥善保存。

5. 访问 Sentry 后台

  • 默认地址:http://服务器IP:9000,使用安装时设置的账号登录。

三、前端应用接入

1. 在 Sentry 后台创建项目

  1. 登录后进入 Projects,选择 Vue/React 等对应平台。
  2. 生成 DSN(客户端密钥),用于前端 SDK 集成。

2. 前端 SDK 配置(以 Vue 为例)

// main.js 或入口文件
import * as Sentry from '@sentry/vue';

Sentry.init({
  dsn: 'YOUR_DSN_HERE',
  release: 'my-project@1.0.0', // 版本号
  environment: 'production',
});

3. 上传 SourceMap(Webpack 插件)

  1. 安装插件:
npm install --save-dev @sentry/webpack-plugin
  1. 配置 webpack.config.js:
const SentryWebpackPlugin = require('@sentry/webpack-plugin');

module.exports = {
  plugins: [
    new SentryWebpackPlugin({
      include: './dist',
      release: 'my-project@1.0.0',
      authToken: 'SENTRY_AUTH_TOKEN', // 后台生成的 token
      org: 'your-org',
      project: 'your-project',
    }),
  ],
};
  • 安全提示:构建后需删除 .map 文件。

四、通知配置

1. 邮件通知

  1. 修改 sentry/config.yml:
mail.backend: 'smtp'
mail.host: 'smtp.example.com'
mail.port: 587
mail.username: 'user@example.com'
mail.password: 'password'
mail.use-tls: true
mail.from: 'user@example.com'
  1. 重启服务:docker-compose restart。

2. 钉钉通知

  1. 安装钉钉插件:
# 在 Dockerfile 中添加
RUN pip install sentry-10-dingding
  1. 后台配置钉钉机器人 Webhook。

五、维护与优化

  1. 数据保留策略:
    修改 .env 文件,缩短数据保留时间以减少磁盘占用:

    SENTRY_EVENT_RETENTION_DAYS=7
    
  2. 迁移 Docker 存储路径(避免 /var 分区占满):

    mkdir -p /opt/var/lib/docker
    systemctl stop docker
    mv /var/lib/docker/* /opt/var/lib/docker/
    ln -s /opt/var/lib/docker /var/lib/docker
    systemctl start docker
    
  3. 升级 Sentry 版本:

    git pull origin master
    docker-compose down
    docker-compose build
    docker-compose run --rm web upgrade
    docker-compose up -d
    

六、常见问题

  • 服务启动失败:检查 Docker 权限及端口占用,确保 docker-compose up -d 前执行 ./install.sh。
  • 无法获取用户 IP:需在后台手动开启 IP 收集功能。
  • 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。
注:本文转载自juejin.cn的ak啊的文章"https://juejin.cn/post/7493800722796347442"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
代码人生狗运附体,双非大三春招上岸腾讯

狗运附体,双非大三春招上岸腾讯

简单的自我介绍先简单介绍一下自己吧,本人是一位双非大三软工的学生,大一大二纯在玩,基本没怎么读过书,前端学习了一年左右。也是在上周收到了腾讯的offer,心情也是非常激动,这几天也是一直在跟兄弟撸串哈啤酒什么的。说实话,我自己是没有想到自己...
2025-04-25 2103 8178
代码人生程序员思维体操:TDD修炼手册

程序员思维体操:TDD修炼手册

程序员思维体操:TDD修炼手册——从"先写代码"到"测试先行"的认知革命一、重新认识TDD:不仅仅是写测试什么是TDD(测试驱动开发)TDD其实很简单,不要看名字很高级复杂,传统开发是直接开发功能,TDD则是先写好测试再开发功能。具体来说:...
2025-04-24 4151 13148
代码人生SQL 注入的观测

SQL 注入的观测

搭建靶场拉取镜像并启动 sqli-lab 容器首先,通过 Docker 拉取并启动sqli-lab容器:shell代码解读复制代码docker run -dt --name sqli-lab -p 80:80 acgpiano/sqli-l...
2025-04-24 2408 5104
代码人生

Python 实战:用 API 接口批量抓取小红书笔记评论,解锁数据采集新姿势

一、引言在当今数字化营销时代,小红书凭借其独特的社交电商属性,积累了海量的用户生成内容。笔记评论作为用户与创作者、用户与用户之间互动的重要载体,蕴含着丰富的市场洞察、用户反馈和消费趋势信息。对于品牌方而言,分析评论内容有助于了解产品口碑、优...
2025-04-23 3653 10031
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

  • 1

    狗运附体,双非大三春招上岸腾讯

  • 2

    程序员思维体操:TDD修炼手册

  • 3

    SQL 注入的观测

  • 4

    Python 实战:用 API 接口批量抓取小红书笔记评论,解锁数据采集新姿势

  • 5

    Flutter UI 组件基础

  • 6

    基于 Prometheus 的后端服务性能故障监控方案

  • 7

    Python中main函数:代码结构的基石

  • 8

    030 期 3个神器让你的Mac更聪明!

  • 9

    深入研究:小红书笔记详情API接口详解

  • 10

    使用 acme.sh 自动更新 SSL 证书的指南

142
代码人生
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top