当前位置: 首页 > 科技观察

面向个人开发者的免费异常监控服务:sentry

时间:2023-03-21 13:50:56 科技观察

随着一些云服务的发展和兴起,应用部署和上线的成本越来越低,甚至可以实现零成本部署。本系列文章将介绍如何使用羊毛法搭建各种项目。目前第一次更新在博客,见:https://shanyue.tech/no-vps/在前面的章节中,我们可以使用免费的云服务,使用Vercel(或者Netlify)完成一个弱存储的前端应用)部署前端应用程序使用VercelServerlessFunction(或其他无服务器解决方案)来部署一个简单的后端API。这时候还缺少异常报警系统,可以用Sentry来完成。官网Sentry是一个APM(应用监控平台)系统,帮助开发者解决bug和优化性能。对于个人开发者,可以免费使用,帮你监控多个项目,“但功能有限,阅读文档时要特别注意。”“至于登录Sentry,直接用Github登录即可。”下面简单介绍一下哨兵的使用。术语基本上属于以下两种Event:应用端每次触发异常,都是一个Event,会上报给Sentry中的Issue:Sentry将同一位置触发的异常聚合在一起,作为一个Issue。《在Sentry中,Issue是分析的主要单元。问题》再思考一步:Sentry是如何将Event聚合成Issues的,即如何确认多个Event是在同一个位置触发的?Reporting作为专业的异常报告服务,Sentry支持多种语言,具体如下:JavascriptGoPythonRubyJava基本上所有适合Serverlessruntime的语言都可以接入Sentry,这是一个振奋人心的消息。关于各大语言和框架如何对接,直接参考官方文档SentrySupportedPlatforms(opensnewwindow)[1]。最短的答案和最基本的方法是直接捕获异常并报告它。try{aFunctionThatMightFail();}catch(err){Sentry.captureException(err);}警报(Alert)警报规则(AlertRule)以下是常见但容易忽略的警报规则,当只有生产环境中的问题才会触发警报只有当异常级别大于Error时才会触发告警当然你也可以自定义一些AlertRulesCreateAlertRule告警方法出现问题时如何通知?当然,不能一直忙着等待空的轮询,否则太费精力了。当然,您需要使用通知类型,例如发送电子邮件。除了邮件还有其他通知,但是需要集成到Sentry中。发送邮件钉钉消息(需整合)短信(需整合)手机通话(需整合)分析1.Thefirst/lasterrorreportFirstSeen:第一次报错的时间有助于抓取异常发生的版本号LastSeen:上次报错的时间决定异常是否已经解决,或者报错时间是否还需要解决。2、获取到的ReleaseRelease为版本号,需要在代码中手动配置。通过Release,可以快速推断出有问题的Commit,分配给对应的提交者,将Release中的问题聚类。发布原文网址[2]参考[1]SentrySupportedPlatforms(opensnewwindow):https://docs.sentry.io/platforms/[2]原文网址:https://shanyue.tech/no-vps/sentry。html本文转载自微信公众号“全栈成长之路”,可关注下方二维码。转载本文请联系全栈成长之路公众号。