基于计算机角度谈Sentry使用方法

2022-06-26 18:40张皓南谭文豪何林鸿
科教创新与实践 2022年8期
关键词:服务端张皓全局

张皓南?谭文豪?何林鸿

摘要:在如今的网络时代,如何保持应用的质量和稳定性,单凭开发人员的素质很难避免一些BUG,但是BUG的产生是多方面的原因:浏览器的版本、用户所处的网络环境、操作时间等等因素都可能产生不一样的BUG。并且,由于经用户反馈的BUG,会因为专业术语不通、表达不清晰等原因,也难以复现BUG。因此我们需要一个能远程收集客户端错误的方案,快速定位问题并解决,这就是Sentry。

一、简介

Sentry 是一个实时的事件日志和聚合平台,基于 Django 构建。Sentry 可以帮助你将 Python 程序的所有 exception 自动记录下来,然后在一个好用的 UI 上呈现和搜索。处理 exception 是每个程序的必要部分,所以 Sentry 也几乎可以说是所有项目的必备组件。

Sentry的优点是十分明显的,它可以多平台支持(如web、mobile)多语言(JS、PHP、JAVA)支持。且其开源的特点也为使用者可以省去很多麻烦事。此外,Sentry为不同语言提供完整的复现上下文,方便定位 BUG;方便协同工作,可指定处理人员。并且它的配置过程也是较为简单方便的,其大概流程为以下:DNS的配置、客户端的配置。DSN是连接客户端(项目)与sentry服务端,让两者能够通信的钥匙;每当我们在sentry服务端创建一个新的项目,都会得到一个独一无二的DSN,也就是密钥。在客户端初始化时会用到这个密钥,这样客户端报错,服务端就能抓到你对应项目的错误了。Sentry 还有有很多亮点,比如敏感信息过滤, release 版本跟踪,关键字查找,受影响用户统计,权限管理等。对我们来说最大的便利就是利用日志进行错误发现和排查的效率变高了。

二、使用方式

使用流程即是首先的注册与登录(可以直接用github账号登录),在登录后创建一个新的项目,然后开始获取项目的DSN,最后进行前端配置,引入初始化。以上便是Sentry的基本用法了。

当然,我们不可能在每处可能发生异常的代码为止都调用Sentry,也不可能去修补过去的代码将Sentry一一植入,一个好的建议是,无论何时,你的程序都有统一的异常处理机制,最好是全局的。这样的话,你只要将Sentry写在全局的异常处理器即可。另外Sentry还对流行的开发框架提供了特别的支持,比如Flask,Django等等,在这些应用中你只要配置就行,不需要你去写什么全局的异常处理。

一旦你完成上面的配置,以后系统发生的所有错误异常都会被自动记录到Sentry,查看报告就是一件轻松愉快的事情了。一旦你完成上面的配置,以后系統发生的所有错误异常都会被自动记录到Sentry,查看报告就是一件轻松愉快的事情了。

Sentry还提供了异常信息的聚合,同样的错误有可能在多处抛出,传统的日志统计起来就不是很方便,在Sentry一目了然。另外你还可以针对异常问题进行分配和跟踪,例如指派团队的某个成员去处理某一类问题,对于长时间没有再发生的问题自动标记为解决等等。

对于每一个项目,我们都没办法保证代码零BUG,零报错,即便是经历过测试,在上线后也会出现一些你预料不到的问题,而这种情况下,广大的用户其实才是最好的测试者。

而Sentry就扮演着一个错误收集的角色,将你的项目和Sentry结合起来,无论谁在项目使用中报错,Sentry都会第一次时间通知开发者,出现了什么错误,错误出现在哪,帮你记录错误,便于你解决问题,这就是Sentry。

参考文献:

[1]匡晓旸,高雪松.微机控制Sentry 10测试系统的实现[J].微电子技术,2002(6):55-58.

[2]徐健,潘茂强.Sentry G3振动监测保护系统在硫酸装置透平机中的应用[J].化工自动化及仪表,2014(3):339-340.

[3]新技术:Sentry监视器[J].国际水力发电,1998(9):59-59.

[4]王军.ASG-SENTRY的二次开发[J].电脑编程技巧与维护,2008(16):50-51.

[5]郑强.SENTRY GB-200无线测温系统在超高压压缩机上的应用[J].化工管理,2019(9):157-157.

作者简介:何林鸿(2000-),男,汉族,四川广元人,本科,研究方向:数字媒体。

张皓南(2000-),男,汉族,河南焦作人,本科,研究方向:数字媒体。

谭文豪(2001-)男,汉族,重庆云阳人,本科,研究方向:移动互联网。

猜你喜欢
服务端张皓全局
中国机长
我最喜欢的翻花绳
给力的全局复制APP
多人联机对战游戏的设计与实现
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
一类具有常数感染周期的传染病模型的全局稳定性分析
有诗的地方,就有爱
再撑一下
统筹全局的艺术