最近FastAPI项目想上一个错误追踪,Sentry非常好,但是翻不过巨大的墙。找了一圈发现了GlitchTip,他完全兼容Sentry的SDK,并且开源、可自托管、集成uptime监控与接口响应时间统计,非常好,就他了!
部署过程¶
GlitchTip首推Docker Compose安装,让我们来看看官网例子:docker-compose.sample.yml
配置完成,可以使用docker-compose up -d
来启动这些容器,并使用你设置的域名和端口进行访问。
如果你认为上方都正确设置却无法启动,可以使用docker-compose up
前台启动或docker logs -f [容器名称]
来看看报错信息。
使用示例¶
GlitchTip可以添加各种各样的项目:
创建项目¶
项目使用的FastAPI,但GlitchTip没有该选项,这里我直接选Flask进行创建,其余信息根据实际情况填写。
使用SDK¶
在创建完成项目后下方会得到使用方法,我们直接在项目中引用,这里的DSN填写上方图中右侧的DSN链接即可。
在GlitchTip官方的例子中是直接使用Sentry的SDK,因为GlitchTip是完全兼容的。
检测连通性¶
我们手动创建一个异常路由,直接触发值异常。访问这个路由,GlitchTip捕获到了这个异常,并列出了栈跟踪结果,这对bug调试非常有利,能够快速定位问题位置并着手解决。
接口性能与uptime监控¶
除上述错误跟踪外,GlitchTip还支持接口响应时间监控和uptime监控。
通知¶
GlitchTip支持邮件通知、webhook等通知方式,可以在追踪到错误或者失去心跳时进行通知。
使用感受¶
为什么我说是Sentry的平替,因为国内需要访问Sentry的SDK需要过墙(除非建立转发或代理);对于轻量级别的项目,GlitchTip完全够用。