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 收集功能。
  • 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。
相关推荐
lemoncat82 天前
免费开源!Windows笔记本电池管家
监控·笔记本·电池
cyber_两只龙宝3 天前
haproxy--实现能7层负载均衡、基于cookie会话保持、状态页监控的高性能web服务器集群
linux·运维·负载均衡·监控·haproxy·会话保持·高性能集群
程序员羽毛5 天前
🚀 股票量化多策略盯盘哨兵 V3.0.0 涨停板监控+回测+回放+摸鱼全搞定
股票量化·监控·提醒·股票策略
少云清5 天前
【软件测试】9_性能测试实战 _性能测试监控
性能测试·监控
A-刘晨阳5 天前
Prometheus + Grafana + Alertmanager 实现邮件监控告警及配置告警信息
运维·云计算·grafana·prometheus·监控·邮件
盛世宏博北京7 天前
《合规 GB/T 50356:小型档案馆(100㎡)恒温恒湿自动化方案》
监控·档案温湿度
OpsEye7 天前
监控 100 问(五):监控数据的分析与可视化
运维·网络·信息可视化·it·监控·监控系统
玄德公笔记7 天前
Prometheus监控k8s的metric详解(第二版)-01-scrape 指标抓取
kubernetes·k8s·prometheus·监控·metric·scrape·k8s监控
无线图像传输研究探索12 天前
硬盘录像机(NVR)+ 车载设备:车载图传监控解决方案,重塑移动监控新生态
车载系统·监控·无线图传·车载·车载监控·车载图传
A-刘晨阳14 天前
【Linux】Prometheus + Grafana的使用
linux·运维·grafana·prometheus·监控