Sentry 可以说是炒鸡棒的集中式异常处理服务,但是用 Sentry 官方服务要收费,为了节省开支就选择自己搭建一个 Sentry 服务,在搭建 Sentry 服务的时候遇到一些小问题,在这里分享一下。
搭建
Sentry 的介绍之前我发表过一篇文章 Sentry 自动化异常提醒,Ubuntu 安装 Sentry 在社区也有一篇非常棒的实战安装文章 搭建自己的 sentry 服务,安装成功后是这个样子的
安装完后记得设置 根网站地址
,并且 根网站地址
必须和搭建的 Sentry 域名一致
这里注意:安装成功后一定要设置正确的 根网站地址
否则项目发生了异常 Sentry 服务器接收不到。
邮件提醒
搭建 Sentry 服务之后,我又到项目之中安装好了 Sentry 官方提供的组件,为了测试安装是否正确自己手动制造了一个异常,然后 Sentry 服务也接收到了异常
但是,并没有发送邮件给我,Sentry 作为自动化异常提醒,没有了邮件提醒,那么 Sentry 的价值就失去了一半,我们也不可能每时每刻都在 Sentry 后端查看仪表盘。所以得想办法解决以下,邮件发送是需要自己配置的,因为是 Docker 安装的 Sentry 所以不知道怎么配置,解决问题的最好思路是先到 GitHub Issue
里面去看看有没有人和我遇到同样的问题。
太好了有其他伙伴也遇到了同样的问题,我们来看大神们给出的解决方案
在 docker-compose.yml
里面可以新增 额外的环境变量,在最下方我们可以找到 Mall Server
配置组,然后把对应的 env 里面的 key 放到 docker-compose.yml 里面
注意:修改onpremise
项目下的config.yml
是无效的
配置成功后重启一下 docker
docker-compose down && docker-compose up -d
OK,SMTP 设置已经有值了,点击测试设置发送一封测试邮件,之后会如你所愿收到一封测试邮件
生产环境发生异常后也会邮件提醒你
至此完结,好好享受 Sentry 带给我们的便利吧
2019-03-11 更新
Sentry 9.0 以上会给一个配置环境变量的文件 .env
其中设置邮箱的话步骤是:首先注释 docker-compose.yml
文件中的 Email 环境变量
然后在 .env
配置文件中加上 Email 环境变量
注意:如果使用腾讯企业邮箱的话请使用587
端口、SENTRY_EMAIL_USER
与SENTRY_SERVER_EMAIL
请保持一致
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。