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 收集功能。
  • 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。
相关推荐
kyriewen1 天前
你的网页慢,用户不说直接走——前端性能监控教你“读心术”
前端·性能优化·监控
七夜zippoe2 天前
DolphinDB实时监控大屏:数据可视化实战
信息可视化·可视化·监控·大屏·dolphindb
梵得儿SHI6 天前
(第二篇)Spring AI 架构设计与优化:可观察性体系,打造全链路可视化的 AI 运维方案
人工智能·微服务·grafana·prometheus·监控·可观察性·spring ai
杨浦老苏6 天前
自托管网络监控工具LanLens
网络·docker·监控·群晖
科技风向标go6 天前
2026 年中国消费级监控售后现状与行业发展趋势研究;安防监控怎么选?认准全国联保 + 真质保更安心
大数据·网络·人工智能·监控·户外安防
.柒宇.7 天前
prometheus-入门与安装
运维·服务器·prometheus·监控
何中应8 天前
Grafana如何给列表设置别名
运维·grafana·监控
夫礼者8 天前
【极简监控】挖出被遗忘的 JMX 金矿:用 Jolokia + Hawtio 把 VisualVM 搬进浏览器
java·监控·jolokia·jmx·hawtio
腹黑天蝎座9 天前
前端性能优化实战指南:从原理到落地的全方位解决方案
前端·性能优化·监控
可观测性用观测云11 天前
观测云集成钉钉 SSO 最佳实践
监控