一、部署环境要求
-
硬件配置:
- CPU:4 核及以上(需支持 SSE 4.2 指令集,ARM 架构可能不兼容)。
- 内存:8GB RAM 及以上。
- 磁盘:剩余空间 ≥20GB(建议挂载至大容量分区)。
- 网络:稳定连接 GitHub 和 Docker 镜像仓库。
-
软件依赖:
- 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 后台创建项目
- 登录后进入 Projects ,选择 Vue/React 等对应平台。
- 生成 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 插件)
- 安装插件:
bash
npm install --save-dev @sentry/webpack-plugin
- 配置
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. 邮件通知
- 修改
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]'
- 重启服务:
docker-compose restart
。
2. 钉钉通知
- 安装钉钉插件:
Dockerfile
# 在 Dockerfile 中添加
RUN pip install sentry-10-dingding
- 后台配置钉钉机器人 Webhook。
五、维护与优化
-
数据保留策略 :
修改
.env
文件,缩短数据保留时间以减少磁盘占用:envSENTRY_EVENT_RETENTION_DAYS=7
-
迁移 Docker 存储路径 (避免
/var
分区占满):bashmkdir -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
-
升级 Sentry 版本:
bashgit 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 收集功能。
- 网络问题导致镜像拉取失败:重试安装脚本或更换镜像源。