Ubuntu 22.04 部署 Sentry 笔记

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 也都是必须的。

安装过程会比较久,要拉很多个镜像并生成容器。这个过程建议保持网络畅通,或者使用 screentmux 等工具保活,否则不小心断联就可能会前功尽弃。

启动

安装完成之后,执行 sudo docker compose up -d 启动服务即可。

配置 Nginx 反向代理 9000 端口

这段不详细解释了,有人提问的话再补充。总之:

  1. Nginx 反向代理 9000 端口
  2. 使用 Certbot 启动 https
  3. 或者申请个免费证书然后启动 https

配置邮箱

修改 ~/sentry/sentry/config.yml,完成邮箱配置。我们用的是腾讯企业邮箱,配置不复杂,就按照 SMTP 教程即可。需要注意的是,mail.from 要跟用户名一致,否则会发不出去。

修改配置之后,都要重启整个 compose 集群才能生效。

配置项目

进入 Sentry,完成首次登录配置。

然后创建项目,选好项目类型,就能看到配置教程,非常方便。


总结

Sentry 开源搞得很好,文档健全,基本能解决大部分问题。

可惜版本比较多,互联网上有很多内容已经过期,大家阅读时要稍加分辨。

有其它部署和使用的问题,可以留言交流。


Posted

in

by

Comments

欢迎吐槽,共同进步

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: