Sentry 之部署到生产环境

2,452 阅读2分钟

file

Sentry 可以说是炒鸡棒的集中式异常处理服务,但是用 Sentry 官方服务要收费,为了节省开支就选择自己搭建一个 Sentry 服务,在搭建 Sentry 服务的时候遇到一些小问题,在这里分享一下。

搭建

Sentry 的介绍之前我发表过一篇文章 Sentry 自动化异常提醒,Ubuntu 安装 Sentry 在社区也有一篇非常棒的实战安装文章 搭建自己的 sentry 服务,安装成功后是这个样子的

file

安装完后记得设置 根网站地址,并且 根网站地址 必须和搭建的 Sentry 域名一致

file

这里注意:安装成功后一定要设置正确的 根网站地址 否则项目发生了异常 Sentry 服务器接收不到。

邮件提醒

搭建 Sentry 服务之后,我又到项目之中安装好了 Sentry 官方提供的组件,为了测试安装是否正确自己手动制造了一个异常,然后 Sentry 服务也接收到了异常

file

file

但是,并没有发送邮件给我,Sentry 作为自动化异常提醒,没有了邮件提醒,那么 Sentry 的价值就失去了一半,我们也不可能每时每刻都在 Sentry 后端查看仪表盘。所以得想办法解决以下,邮件发送是需要自己配置的,因为是 Docker 安装的 Sentry 所以不知道怎么配置,解决问题的最好思路是先到 GitHub Issue 里面去看看有没有人和我遇到同样的问题。

file

太好了有其他伙伴也遇到了同样的问题,我们来看大神们给出的解决方案

file

docker-compose.yml 里面可以新增 额外的环境变量,在最下方我们可以找到 Mall Server 配置组,然后把对应的 env 里面的 key 放到 docker-compose.yml 里面

file

注意:修改 onpremise 项目下的 config.yml 是无效的

配置成功后重启一下 docker

docker-compose down && docker-compose up -d

OK,SMTP 设置已经有值了,点击测试设置发送一封测试邮件,之后会如你所愿收到一封测试邮件

file

生产环境发生异常后也会邮件提醒你

file

至此完结,好好享受 Sentry 带给我们的便利吧

2019-03-11 更新

Sentry 9.0 以上会给一个配置环境变量的文件 .env 其中设置邮箱的话步骤是:首先注释 docker-compose.yml 文件中的 Email 环境变量

file

然后在 .env 配置文件中加上 Email 环境变量

file

注意:如果使用腾讯企业邮箱的话请使用 587 端口、SENTRY_EMAIL_USERSENTRY_SERVER_EMAIL 请保持一致