Laravel、Lumen简单的sentry使用
最近换了家公司,使用的PHP框架从yii2换成了Laravel,由于新公司是个初创公司,一些基本的运维工具还没有搭建起来,由于以前使用sentry关注线上异常成了习惯,没有了很不习惯,决定自己动手搭建一个:
sentry基本搭建
我是在centos上面搭建的,基本都是centos的命令,其他系统仅作参考或自行百度,sentry搭建服务器的内存要够,不然你执行migration的内存不足,程序崩了一脸懵逼,完全不知道为什么(我在搭建开始的时候是用的阿里的1核1G的,一开始执行migration一直中断,由于不知道什么原因,一直重试安装,装了两天,后来一个朋友看了下觉得大概是内存不足。。。。后来把内存升级到4G就好了,我现在用的是1核2G的服务器,加了4G的SWAP已经是OK的了,http://115.159.59.248:9000([email protected],123456),有兴趣的可以玩一玩)
安装步骤:
- 第一步、安装docker,验证是否安装成功 (可以自行百度)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
docker run hello-world
- 第二步、安装python、docker-composer
yum install epel-release
yum install -y python-pip
pip install docker-compose
- 第三步、安装git、拉取代码
yum install git
git clone git@github.com:getsentry/onpremise.git
- 第四步、安装sentry(进入到onpremise目录、直接cat README.md根据里面的命令行直接执行就好了,命令如下)
1、在执行 docker-compose xxxx 的命令的时候记得 systemctl start docker
2、执行 docker-compose run –rm web config generate-secret-key 的命令后生成一个密钥,需要复制到 docker-composer.yml 文件中
3、在23行:SENTRY_SECRET_KEY: ” 这个里面,然后继续其他的命令
4、执行 docker-compose run –rm web upgrade 有几百条 migration,然后会让你填邮箱和密码,这个是初始登录的账号密码,如果没有正常执行完,就是内存不够了(试试加SWAP,或者升级机器)
5、执行 docker-compose up -d 这个命令是启动sentry
mkdir -p data/{sentry,postgres}
docker-compose build
docker-compose run --rm web config generate-secret-key
docker-compose run --rm web upgrade
docker-compose up -d
- 第五步、laravel的配置
直接在新建项目的地方选择laravel,按照里面的描述,把代码复制进你的laravel项目里面就可以了
- 问题:sentry邮件发送暂时还没有解决,解决了会在这里继续补充的,如果有解决的同学,也可以教教我
Laravel的Log 打印在sentry上
暂时就写了大概这么个方法,把warning记录到sentry上
class LogHelper
{
public static function warning($message, $params = [], $tack = false) {
if (app()->bound('sentry')) {
app('sentry')->captureMessage($message, $params, 'warning', $tack);
}
Log::warning($message);
}
}
sentry的Client类
主要会调用的两个方法 captureMessage、captureException
captureMessage 上报一个string的字符串
captureException 上报一个异常
具体的在 vendor/sentry/sentry/lib/Raven/Client.php 这个类中查看
添加SWAP
https://blog.csdn.net/loongwong2011/article/details/52712671