前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建sentry追踪laravel生产环境bug

搭建sentry追踪laravel生产环境bug

作者头像
章鱼喵
发布2019-10-15 16:21:54
1.3K0
发布2019-10-15 16:21:54
举报
文章被收录于专栏:codingcodingcoding

未上线的代码无论再测试,也不可能保证全无 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 所指示的进行配置即可

项目配置

安装扩展

$ composer require sentry/sentry-laravel:1.1.0

修改 app/Exceptions/Handler.phpreport 方法:

public function report(Exception $exception)
{
    if (app()->bound('sentry') && $this->shouldReport($exception)){
        app('sentry')->captureException($exception);
    }

    parent::report($exception);
}

发布资源

$ php artisan vendor:publish --provider="Sentry\Laravel\ServiceProvider"

将 dns 加入环境变量

SENTRY_LARAVEL_DSN=http://e7de32........

验证

在路由文件中新增

Route::get('/debug-sentry', function () {
    throw new Exception('My first Sentry error!');
});

浏览器访问 http://*****/debug-sentry,到 sentry 以及邮件中查看是否能收到异常

原文 https://www.itshutong.com/261.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 邮件设置
  • 项目配置
  • 验证
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档