Sentry替代GlitchTip部署介绍

最近FastAPI项目想上一个错误追踪,Sentry非常好,但是翻不过巨大的墙。找了一圈发现了GlitchTip,他完全兼容Sentry的SDK,并且开源、可自托管、集成uptime监控与接口响应时间统计,非常好,就他了!

部署过程

GlitchTip首推Docker Compose安装,让我们来看看官网例子:docker-compose.sample.yml

配置完成,可以使用docker-compose up -d来启动这些容器,并使用你设置的域名和端口进行访问。

如果你认为上方都正确设置却无法启动,可以使用docker-compose up前台启动或docker logs -f [容器名称]来看看报错信息。

使用示例

GlitchTip可以添加各种各样的项目: Snipaste_2024-05-11_11-22-47.png

创建项目

项目使用的FastAPI,但GlitchTip没有该选项,这里我直接选Flask进行创建,其余信息根据实际情况填写。 Snipaste_2024-05-11_11-27-35.png

使用SDK

在创建完成项目后下方会得到使用方法,我们直接在项目中引用,这里的DSN填写上方图中右侧的DSN链接即可。

在GlitchTip官方的例子中是直接使用Sentry的SDK,因为GlitchTip是完全兼容的。

SDK接入

检测连通性

我们手动创建一个异常路由,直接触发值异常。访问这个路由,GlitchTip捕获到了这个异常,并列出了栈跟踪结果,这对bug调试非常有利,能够快速定位问题位置并着手解决。

异常路由 异常捕获 栈跟踪

接口性能与uptime监控

除上述错误跟踪外,GlitchTip还支持接口响应时间监控和uptime监控。

uptime监控 接口响应时间监控

通知

GlitchTip支持邮件通知、webhook等通知方式,可以在追踪到错误或者失去心跳时进行通知。 Snipaste_2024-05-11_11-55-23.png

使用感受

为什么我说是Sentry的平替,因为国内需要访问Sentry的SDK需要过墙(除非建立转发或代理);对于轻量级别的项目,GlitchTip完全够用。