Sentry介绍
Sentry是一个开源的实时事件日志记录和聚合平台。它专门用于监视错误和提取执行适当的事后操作所需的所有信息, 而无需使用标准用户反馈循环的任何麻烦。支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。
Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等
Sentry能做些什么?
下面介绍一下Sentry都有些什么功能:
1、支持主流语言接口:Sentry支持目前各种主流的编程语言。
2、提供管理操作后台。Sentry提供了一套后台管理系统,简单易行。
3、丰富的SDK。不同语言、不同项目通过集成SDK。拿JS举例,不仅仅收集详细的用户设备信息,而且记录了用户的操作行为,通过点击了XX按钮,导致的报错。
4、问题关联信息的聚合:每个问题不仅有一个整体直观的描绘,聚合的日志信息省略了人工从海量日志中寻找线索,免除大量无关信息的干扰。
(1)Sentry 按照策略将日志事件进行聚合,从而提供一个 issue的events 。这么做就是为了智能地帮助我们组合关联的日志信息,减少人工的日志信息的提取工作量,关注一个 issue 首先关注这些聚合的事件。但是这个策略分组并不会那么智能,Sentry 主要按照以下几个方面,优先级从高到低进行日志事件的聚合:Stacktrace、Exception、Template、Messages。
(2)issues & events:在相同地方产生的异常会被归纳为一个「Issue」,每次在这个地方产生的异常叫做「Event」。所以在同一个地方触发两次异常,仍然只有一个Issue,但是可以在Event页面看到多个[Event]。
5、支持标签功能。比如我们可以通过给错误统一拦截,增加标记CUID,后期在后台平台中同过CUID进行错误过滤
6、丰富的上下文:Sentry 不仅丰富还规范了上下文的内容,也让我们意识到更多的有效内容,提高日志的质量。
7、监控告警:实时监控异常,若采集到告警信息,会马上触发告警。
(1)报警的规则多样性:可以配置异常出发规则,例如发送邮件,钉钉,飞书等
(2)报警的及时性:不需要自己再去额外集成报警系统,一旦产生了 issue 便以邮件通知到项目组的每个成员。
8、性能监控:除了异常监控意外,sentry还提供了性能监控。
9、API支持。所有操作接口都提供了API服务,用户可以基于API进行界面自定义。
Sentry 还有有很多亮点,比如:敏感信息过滤,release版本跟踪,关键字查找,受影响用户统计,权限管理等(部分可能需要我们通过代码提供内容)可以通过 Sentry 进行问题分配与跟踪。Sentry 的 plugin 模块还可以集成大量的第三方工具如:slack ,jira 。
Sentry如何使用?
1、选择服务:
(1)可以使用sentry官网提供的线上服务。
(2)可以本地搭建sentry的服务。
2、项目接入sentry
Sentry的服务搭建
参考这篇文章:https://juejin.cn/post/6844903657381593096
官方文档:Sentry Documentation | Sentry Documentation