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: '[email protected]', // 版本号
  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: '[email protected]',
      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: '[email protected]'
mail.password: 'password'
mail.use-tls: true
mail.from: '[email protected]'
  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 收集功能。
  • 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。
相关推荐
小黑_深呼吸11 小时前
Prometheus实战教程:k8s平台-Redis监控案例
运维·kubernetes·prometheus·监控
小马爱打代码7 天前
Spring Boot Actuator - 应用监控与管理
spring boot·监控
ak啊16 天前
基于 Prometheus 的后端服务性能故障监控方案
监控
刘大猫2617 天前
Arthas monitor(方法执行监控)
人工智能·后端·监控
可观测性用观测云17 天前
Neo4j 可观测性最佳实践
监控
ak啊18 天前
基于Python的自动化运维中服务器性能监控与告警
python·监控
vivo互联网技术1 个月前
vivo Trace 监控追求极致的建设历程
监控
企鹅侠客1 个月前
Prometheus告警从触发到收到通知延迟在哪?
运维·prometheus·监控
cxy_61 个月前
centos7系统搭建nagios监控
监控·nagios