前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Sentry API 常用接口汇总

Sentry API 常用接口汇总

作者头像
沈宥
发布于 2024-07-19 10:59:48
发布于 2024-07-19 10:59:48
63700
代码可运行
举报
运行总次数:0
代码可运行

sentry是一个基于Django构建的现代化的实时事件日志监控、记录和聚合平台,主要用于如何快速的发现故障。支持几乎所有主流开发语言和平台,并提供了现代化UI,它专门用于监视错误和提取执行适当的事后操作所需的所有信息,而无需使用标准用户反馈循环的任何麻烦。

Sentry 的搜索功能和查询语法

要在 Sentry 中通过 API 获取 culprit 中不包含 "timeout" 字符的 issues 列表,可以使用查询参数来进行过滤。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests

url = 'https://sentry.io/api/0/projects/my-org/my-project/issues/'
headers = {
    'Authorization': 'Bearer <your_auth_token>',
}

params = {
    'query': '!culprit:"timeout"',
}

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:
    issues = response.json()
    for issue in issues:
        print(issue)
else:
    print(f"Error: {response.status_code} - {response.text}")
  • query 参数!culprit:"timeout" 过滤掉 culprit 中包含 "timeout" 的 issues。
  • URL 编码 :在 curl 示例中,我们使用 %3A%22 对冒号 : 和引号 " 进行 URL 编码。

sentry.Error捕获哪些异常

1. 未处理的异常

在应用程序中,未捕获的异常通常会导致程序崩溃。这些异常会被 Sentry 自动捕获并记录为 sentry.Error 类型的错误。例如,在 Python 应用程序中,未处理的 ValueErrorTypeErrorKeyError 等异常。

2. 手动记录的错误

开发者可以使用 Sentry SDK 手动记录错误。例如,遇到特定业务逻辑错误或异常时,开发者可以使用 capture_exceptioncapture_message 方法手动将错误发送到 Sentry。

3. 网络或数据库错误

当应用程序与外部服务(如数据库、API、文件系统)交互时,可能会发生网络超时、连接失败或数据查询错误等问题。这些错误也会被捕获并记录为 sentry.Error 类型。

4. 配置或环境错误

应用程序启动时可能会遇到配置文件缺失、环境变量设置错误或依赖库版本不匹配等问题。这些问题会导致应用程序无法正常运行,Sentry 会将这些错误记录下来。

5. 用户输入错误

用户输入的数据不符合预期(例如表单验证失败)也可能导致应用程序抛出异常。这些异常会被捕获并记录,以帮助开发者改进用户输入的验证和处理逻辑。

6. 资源访问错误

当应用程序尝试访问不存在的文件、目录或其他资源时,会抛出相应的异常。例如,文件系统中的 FileNotFoundError 或权限不足导致的 PermissionError


Sentry如何获取激增报错


在 Sentry 中,"激增报错"(Issue Spike)通常是指在短时间内错误数量突然增加的情况。Sentry 提供了一些工具和 API 端点来监控和检测这种情况。

通过 Sentry UI 获取激增报错
  1. 仪表板和发现视图 :使用 Sentry 仪表板和发现视图可以查看错误的趋势和异常。你可以设置时间范围和过滤器,观察特定错误的数量变化。
  2. 警报 :设置基于阈值的警报,当某个错误的发生次数超过某个预设值时,Sentry 会发送通知。你可以根据错误的数量激增来配置警报。
使用 Sentry API 获取激增报错

可以使用 Sentry API 来查询特定时间范围内的错误,并监控错误数量的变化。以下是一个示例,通过 /api/0/projects/{organization_slug}/{project_slug}/issues/ 端点获取特定时间范围内的错误,然后分析错误数量的变化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests

organization_slug = 'your_organization_slug'
project_slug = 'your_project_slug'
auth_token = 'your_auth_token'

url = f'https://sentry.io/api/0/projects/{organization_slug}/{project_slug}/issues/?statsPeriod=24h'
headers = {'Authorization': f'Bearer {auth_token}'}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    issues = response.json()
    for issue in issues:
        print(issue)
else:
    print(f"Error: {response.status_code} - {response.text}")
返回数据

该端点返回的是一个错误组列表,每个错误组包含的字段包括:

  • id :错误组的唯一标识符。
  • project :错误组所属的项目信息。
  • culprit :导致错误的代码位置。
  • title :错误组的标题。
  • lastSeen :错误组最后一次被看到的时间。
  • firstSeen :错误组第一次被看到的时间。
  • count :错误组发生的次数。
  • userCount :受影响的用户数。
  • permalink :错误组的永久链接。
  • shortId :错误组的简短 ID。
  • logger :记录错误的日志器。
  • level :错误级别。
  • status :错误组的状态(已解决、未解决等)。
  • assignedTo :分配给的用户。
  • annotations :注释。
设置警报

你还可以在 Sentry 中设置警报,当错误数量在特定时间段内急剧增加时触发警报:

  1. 进入项目设置 :在 Sentry 仪表板中,选择你的项目。
  2. 设置警报 :导航到警报设置,选择创建新的警报规则。
  3. 配置条件 :设置条件,例如在某个时间段内错误数量增加到特定阈值时触发。
  4. 配置通知 :设置通知渠道,例如通过电子邮件、Slack、Webhooks 等方式接收通知。
使用 Discover 查询

在 Sentry 的 Discover 功能中,你可以编写自定义查询来分析错误数据,并检测错误数量的激增:

  1. 进入 Discover :在 Sentry 仪表板中,选择 Discover。
  2. 编写查询 :编写查询来筛选特定时间范围内的错误,并根据错误数量排序。
  3. 保存和监控 :保存查询并定期查看,以检测错误数量的变化。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从头开始学习测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Sentry 产品指南文档(内附 17 张详细脑图)
欢迎来到 Sentry Basics,这是我们使用 sentry.io 中提供的工具帮助您快速解决问题的入门读物。
为少
2022/01/25
1.9K0
Sentry 产品指南文档(内附 17 张详细脑图)
Sentry 开发者贡献指南 - Web API
Sentry API 用于向 Sentry collector 提交事件以及导出和管理数据。本文档仅涉及 Web API。
为少
2022/01/25
1.4K0
Sentry 开发者贡献指南 - Web API
应用异常监控利器 Sentry 搭建与学习笔记(修正版)
Sentry是一家开源公司,提供了一个应用程序监视平台,可以帮助您实时识别问题。 在这里,我们涵盖了有关产品,平台集成和自托管Sentry的所有内容。【通俗讲的讲】我们可以使用Sentry平台实时地监控我们的应用或服务、并且可以收集相关运行时错误或异常日志信息,在第一时间将错误信息推送至我们的后台或邮件组等。这样不仅能主动帮我们第一时间发现线上问题,而且很好的保留了异常发生时的“现场”,更有助于我们快速定位问题根源,提高解决问题的效率,逐步提高产品的稳定性和用户体验。
jeanron100
2020/06/27
3.4K0
应用异常监控利器 Sentry 搭建与学习笔记(修正版)
Sentry 开发者贡献指南 - SDK 开发(性能监控:Sentry SDK API 演进)
本文档的目标是将 Sentry SDK 中性能监控功能的演变置于上下文中。我们首先总结了如何将性能监控添加到 Sentry 和 SDK, 然后我们讨论 identified issues(已确定的问题) 吸取的经验教训以及解决这些问题的举措。
为少
2022/01/04
1.5K0
Sentry 监控 - Alerts 告警
警报提供对代码问题和对用户的影响的实时可见性。有多种类型的警报可用于自定义阈值和集成。
为少
2021/10/12
5.7K0
sentry笔记整理
使用nginx接受请求并对其进行转发。并使用了ngx_http_realip_module模块转发真实请求IP。
魔王卷子
2019/05/31
1.7K0
Sentry 开发者贡献指南 - Feature Flag
功能 flag 在 Sentry 的代码库中声明。对于自托管用户,这些标志然后通过 sentry.conf.py 进行配置。对于 Sentry 的 SaaS 部署,Flagr 用于在生产中配置标志。
为少
2022/01/25
4470
Sentry 开发者贡献指南 - Feature Flag
Sentry-Go SDK 中文实践指南
Sentry-Go SDK 中文实践指南(http://sentry-go.hacker-linner.com/)
为少
2021/05/27
4.2K0
Sentry-Go SDK 中文实践指南
Sentry 开源版与商业 SaaS 版的区别
您会在官方的文档中找到大量对 sentry 和 getsentry 的引用。两者都是 Django 应用程序, 但 sentry 是开源的, getsentry 是闭源的。里面有什么?
为少
2022/01/25
1.7K0
Sentry 开源版与商业 SaaS 版的区别
Sentry Web 前端监控 - 最佳实践(官方教程)
注意:如果您的帐户中没有项目 --- 您可能会被重定向到入门向导以创建您的第一个项目。
为少
2021/10/12
5K0
推荐一款Python应用错误追踪神器!
Sentry 是一个开源的实时错误追踪系统,用于监视应用程序中的错误并提供详细的错误报告。它支持多种编程语言和框架,如 Python、JavaScript、Node.js、Django、Flask 等,帮助开发人员快速诊断和解决问题,以确保应用程序稳定运行。Sentry 的服务分为服务端和客户端 SDK 两部分,服务端可以直接使用其提供的在线服务,也可以本地自行搭建;客户端 SDK 则提供了对多种主流语言和框架的支持。
测试开发技术
2024/07/11
3790
推荐一款Python应用错误追踪神器!
前端-6个减少JavaScript错误噪音的技巧
通过Web开发人员提供的这六个重要提示,了解如何减少JavaScript错误噪音并找到JavaScript zen。请继续阅读!
grain先森
2019/03/29
1.6K0
前端-6个减少JavaScript错误噪音的技巧
使用 OpenTelemetry 和 SigNoz 实现 LLM 可观测性
在快速发展的大语言模型(LLM)世界中,确保最佳性能和可靠性比以往任何时候都更为关键。这就是'LLM 可观测性'的概念发挥作用的地方。这不仅仅是监控输出;更是深入洞察这些复杂系统内部运作的关键。
云云众生s
2024/03/28
7130
使用 OpenTelemetry 和 SigNoz 实现 LLM 可观测性
Sentry 后端监控 - 最佳实践(官方教程)
Sentry 可以通过建议可能将错误引入您的代码库的可疑提交来帮助您更快地解决错误。这是通过配置提交跟踪启用的。需要集成您的源代码管理解决方案并添加您的代码存储库才能启用提交跟踪,有关更多信息,请参阅此链接。
为少
2021/10/12
4.3K0
Sentry 监控 - Dashboards 数据可视化大屏
Dashboard 允许您浏览跨多个项目的错误和性能数据,从而为您提供应用程序运行状况的广泛概览。Dashboard 由一个或多个小部件(widget)组成,每个小部件可视化一个或多个 Discover 查询。
为少
2021/10/12
4K0
Sentry 开发者贡献指南 - SDK 开发(会话)
对于基本的健康跟踪,Sentry 接受包含会话更新事件的 envelopes。这些会话更新事件可用于通知 Sentry 有关 release 和 project 相关 project 健康状况的信息。
为少
2022/01/04
1.9K0
Sentry 开发者贡献指南 - SDK 开发(会话)
Sentry 监控 - Search 搜索查询实战
搜索查询是使用 key:value 模式构建的,最后是可选的原始搜索。每个 key:value 都是一个 token,可选的原始搜索本身就是一个 token。key:value 对 tokens 被视为 issue 或 event 属性。可选的原始搜索被视为单个 token 并搜索事件标题/消息(title/message)。
为少
2021/10/12
2.4K0
Sentry 监控 - Environments 区分不同部署环境的事件数据
Environment 是 Sentry 支持的 tag,您可以(并且应该)添加到您的 SDK 中。通常,tag 接受任何值,但它旨在指代代码部署的命名约定,例如开发(development)、测试(testing)、预发布(staging)或生产(production)。
为少
2021/10/12
2.2K0
Sentry(v20.12.1) K8S 云原生架构探索,JavaScript Data Management(问题分组篇)
在受支持的 SDK 中,可以覆盖 Sentry 的默认分组,该分组将 fingerprint 属性作为字符串数组传递。fingerprint 数组的长度不受限制。这类似于 fingerprint rules functionality,它总是可用的,并可以实现类似的结果。
为少
2021/05/27
1.1K0
Sentry(v20.12.1) K8S 云原生架构探索,JavaScript Data Management(问题分组篇)
Sentry 监控 - Distributed Tracing 分布式跟踪
分布式跟踪(Distributed tracing)通过捕获软件系统之间的交互来提供相关错误和事务的连接视图。通过跟踪,Sentry 可以跟踪您的软件性能并显示跨多个系统的错误影响。通过服务追溯问题将您的前端连接到您的后端。
为少
2021/10/12
1.7K0
相关推荐
Sentry 产品指南文档(内附 17 张详细脑图)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档