搭建 sentry 追踪 Laravel 生产环境 bug

未上线的代码无论再测试,也不可能保证全无 bug ,很多 bug 一直隐藏在某个阴暗的角落,邪恶又猥琐地等着你将其部署上线,然后在某个条件的触发下,开始兴风作浪...

在线上调试是程序员的恶梦,对于初级程序员来说更是如此。相当于给正在飞行的飞机更换重要零件,而且还不能让旅客有所感知。

这时候,就需要有一款 bug 监控系统,能在第一时间将各种异常捕获,并发送邮件提醒。你能看到异常的详细信息,能在客户,尤其是老板感知之前把 bug 先处理了。营造一种现世安好,天下太平的现象,毕竟,稳稳的幸福,是每个人的追求。

Sentry, 就是这样一款工具。

对于 sentry 不了解的同学,先到官网看下 demo 演示,官方也提供免费服务,只是每月的异常提醒次数有限,仅作为体验。

此外由于是国外服务器,由于众所周知的原因,访问并不方便,幸好这是开源产品,我们可以在自己的服务器搭建

官方推荐用 docker 搭建,详细版见 官方文档

首先要安装 docker ,详情见 centos搭建docker及docker-compose

然后下载 sentry 仓库

$ git clone https://github.com/getsentry/onpremise.git

构建 sentry

$ cd onpremise
$ ./install.sh

构建过程中会提示你输入账号密码,用你的邮箱作为账号,以后该邮箱也用于接收邮件,奇怪的是,在构建时可以用 qq 邮箱,后面在项目中邀请成员却不能用,因此建议统一不用 qq 邮箱,可以用 163 或者 foxmail 等

安装完成后,执行以下命令让 sentry 服务在后台运行

$ docker-compose up -d

浏览器访问:http://你的服务器ip:9000

sentry

邮件发送的设置,以腾讯企业邮箱为例,在目录下的 docker-compose.yml 添加配置:

SENTRY_EMAIL_HOST: smtp.exmail.qq.com
SENTRY_EMAIL_USER: 你的邮箱地址
SENTRY_EMAIL_EMAIL: 你的邮箱地址
SENTRY_EMAIL_PASSWORD: 授权码
SENTRY_EMAIL_USE_TLS: 'true'
SENTRY_EMAIL_PORT: 587

重启 sentry 服务

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

新建 laravel 项目,按 sentry 所指示的进行配置即可

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
it书童
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

这个形容很棒,形象、生动又具体~
在线上调试是程序员的恶梦,对于初级程序员来说更是如此。相当于给正在飞行的飞机更换重要零件,而且还不能让旅客有所感知。

4年前 评论

file
3G RAM劝退

4年前 评论
mengdodo 4年前

docker安装这么简单

4年前 评论

接收不到消息..难受

4年前 评论

这个邮件配置真是让人难受

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!