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

一、部署环境要求

  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

bash 复制代码
# 安装 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 自部署仓库

bash 复制代码
git clone https://github.com/getsentry/onpremise.git
cd onpremise

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

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

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

4. 执行自动部署脚本

bash 复制代码
# 运行安装脚本(需 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 为例)

javascript 复制代码
// 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. 安装插件:
bash 复制代码
npm install --save-dev @sentry/webpack-plugin
  1. 配置 webpack.config.js
javascript 复制代码
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
yaml 复制代码
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 复制代码
# 在 Dockerfile 中添加
RUN pip install sentry-10-dingding
  1. 后台配置钉钉机器人 Webhook。

五、维护与优化

  1. 数据保留策略

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

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

    bash 复制代码
    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 版本

    bash 复制代码
    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 收集功能。
  • 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。
相关推荐
rocksun11 天前
OneUptime MCP服务器:AI原生可观测性融入你的工作流程
人工智能·监控
东坡白菜20 天前
最通俗的前端监控方案
前端·监控
用户69903048487521 天前
海康web调试demo静态样式,看起来便于调试省个事
监控
可观测性用观测云24 天前
Trino 可观测性最佳实践
监控
CodeDevMaster24 天前
SkyWalking全平台部署指南:Windows、Linux与Docker环境下的安装配置与实践
分布式·微服务·监控
小霖家的混江龙1 个月前
你的前端系统“有”监控,但它真的“有用”吗?
前端·架构·监控
一心0921 个月前
Linux部署bmc TrueSight 监控agent步骤
linux·运维·服务器·监控·bmc truesight
可观测性用观测云1 个月前
观测云,全球领先的监控观测平台亮相亚马逊云科技中国峰会!
监控
可观测性用观测云1 个月前
Traefik 可观测性最佳实践
监控
可观测性用观测云1 个月前
观测云OaC能力升级,通过Terraform实现配置闭环
监控