Sentry 之部署到生产环境
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
请保持一致
PS
感谢关注「GitHub 热门」公众号,带你了解技术圈内热门新鲜事!
本作品采用《CC 协议》,转载必须注明作者和本文链接
小帅哥,我来抢个沙发
自动部署是东西你懂不懂的帅仔,社区里看到的一篇文章说的是利用githook来搞,我试了一下确实可以,但是有个问题,这个方案只能是代码服务器和生产服务器是同一台,但是我目前的情况是代码服务器在办公室,这样怎么做到自动部署呢?现在推线上很麻烦。
@贾济林 CI,持续集成自动化部署你得看 Jenkins 或者 Travis-CI,你想自动 pull 代码可以设置 webhook
一般大公司都是走 CI 的流程,看这篇 CI 持续集成 然后想方便自动 pull 代码看超哥的文章 http://overtrue.me/articles/2015/01/how-to... :thumbsup:
@贾济林
好的,多谢!
修改
onpremise
项目下的config.yml
是无效的重新Build就生效
@TimJuly 我试过了。并没有读取里面的值
@Destiny 实锤:https://github.com/getsentry/docker-sentry...
使用阿里云云邮箱465端口配置就是不行,提示Connection unexpectedly closed: timed out
因为sentry默认支持TLS,没有使用SSL,可以看问题
https://github.com/getsentry/sentry/issues...
@Qinzm :+1:
请教下 我想修改数据库 我们公司项目非常多,用默认自带的数据库和redis肯定不行,想改成独立的数据库和redis服务器 该怎么改呢
@Qinzm 使用阿里云云邮箱 25 端口也不行端口配置就是不行
@wujunze 使用465端口,在requirements.txt文件中添加
django-smtp-ssl~=1.0
重新docker-compose build编译配置即可
好的 我换成80端口 已经可以了 关掉了 SSL验证
2019-03-11 更新
Sentry 9.0 以上会给一个配置环境变量的文件
.env
其中设置邮箱的话步骤是:首先注释docker-compose.yml
文件中的Email 环境变量
然后在
.env
配置文件中加上 Email 环境变量邮件我觉得及时性不高,我一般会把通知发到钉钉、bearychat 或者 slack
@monkey 通知有邮件和叮叮
Name or service not known
请问一下这中问题有没有遇到过
@well-monkey 电子邮件配置问题,新版本需要配置到 env 里面,你看看上面我更想的评论
你好!我邀请成员,怎么不成功呢,都说没收到邀请邮件。。 这个跟报警邮件无关吧
请问下Sentry可以做白屏时间,DNS时间解析这些性能监控吗
您好,请问遇到过这种情况吗?
django-smtp-ssl~=1.0也加了 也重新build了,还是一直超时呢
邮箱的配置信息有误,你用其他程序试一下你账号密码
@Destiny 您好,在其他地方试过了的,是可以成功发送邮件的
还是一直超时 :confused:
@forgetOne 超时一般错误是邮件配置错误。
@Destiny 好吧,谢谢您,我换成qq邮箱再试试
代码主题是什么???
部署sentry 后,项目引入,发现api 接口请求时间被延长了。你遇到了这个问题吗?
@CalmChild 没遇到过