Sentry 可能是目前最流行的缺陷管理软件,它可以帮我收集线上产品的问题,帮我们发现各种缺陷。除了 SaaS 服务以外,它还提供独立部署版本,相信大多数用户跟我一样,都觉得独立部署比较安全,这里就分享下前阵子帮我厂搭建 Sentry 的经验。
0. 准备
Sentry 号称需要 4核 8G 以及 20G 硬盘,但 20G 其实完全不够,我厂产品接入一半,一周就产生 20+G 的数据量。建议至少准备 100G。
1. 安装 Docker + Compose 插件
Sentry 私有部署版使用 docker compose 作为部署方案,所以我们要先安装 Docker 和 Compose 插件。建议先阅读上面的文档,然后可以配合下面的步骤操作。
卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
配置 Docker 预编译包仓库
推荐用这种方式来安装,方便日后升级。
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装 Docker 和 Compose 插件
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
测试 Docker
此时,正常来说,Docker 和 Compose 插件均安装完毕,我们可以跑个 hello-world
测试一下:
$ sudo service docker start # 启动 docker engine 服务
$ sudo docker run hello-world
安装 Sentry
下载
https://github.com/getsentry/self-hosted/releases/latest
下载完成后,解压到安装目录。以后所有操作都在这个目录完成,建议修改下目录名,并且放在公共目录里,方便大家管理。
我用的目录名是 ~/sentry
。
安装
执行 sudo ./install.sh
。如果你的当前用户不是 root
,那么 sudo
就非常重要,否则可能会报告各种奇奇怪怪的错误。
注意:以后的 sudo
也都是必须的。
安装过程会比较久,要拉很多个镜像并生成容器。这个过程建议保持网络畅通,或者使用 screen
、tmux
等工具保活,否则不小心断联就可能会前功尽弃。
启动
安装完成之后,执行 sudo docker compose up -d
启动服务即可。
配置 Nginx 反向代理 9000 端口
这段不详细解释了,有人提问的话再补充。总之:
- Nginx 反向代理 9000 端口
- 使用 Certbot 启动 https
- 或者申请个免费证书然后启动 https
配置邮箱
修改 ~/sentry/sentry/config.yml
,完成邮箱配置。我们用的是腾讯企业邮箱,配置不复杂,就按照 SMTP 教程即可。需要注意的是,mail.from
要跟用户名一致,否则会发不出去。
修改配置之后,都要重启整个 compose 集群才能生效。
配置项目
进入 Sentry,完成首次登录配置。
然后创建项目,选好项目类型,就能看到配置教程,非常方便。
总结
Sentry 开源搞得很好,文档健全,基本能解决大部分问题。
可惜版本比较多,互联网上有很多内容已经过期,大家阅读时要稍加分辨。
有其它部署和使用的问题,可以留言交流。
欢迎吐槽,共同进步