Sentry 监控之Discover 大数据查询分析引擎

发布时间:2021/09/18点击量:

  现在录 * Discover 查询 * 预置查询 * 已保存查询 * 构建新查询 * 搜索查询 * 排序查询 * 编辑查询 * 共享查询 * 删除查询 * 查询效果 * 事件细目 * 查询生成器 * 按全局选择标题过滤 * 按搜索条件过滤 * 语法 * Tag Summary 过滤 * 按交互式图外过滤 * 表现选项 * Y 轴选项 * 按外列过滤 * 叠添函数 * 单元格过滤 * 增补方程式 * 排序列 * 其他查询操作 * 编辑查询 * 分享查询 * 导出 CSV * 删除查询 * 增补查询方程式 * 增补方程式 * 方程式指南 * 示例方程式 * 计算完善事务的百分比 * 计算自定义 Apdex * 查找最大平均非数据库时间 * 始末 Discover 发现趋势 * 始末 Issues Discover * 始末 Errors Discover * URL 舛讹 * 未处理的舛讹 * 舛讹最众的文件 * 每个 Release 的舛讹 * 按幼时或按天计算的舛讹 * 其他用例 Discover 查询

Discover 始末构建和雄厚您的舛讹数据,挑供跨环境数据的可见性。您能够查询息争锁对整个体系健康状况的洞察,并在一个地方获得关键营业题目的答案。

Discover 主页挑供一切已保存和预构建查询的视图,所以您能够迅速深入到必要立即关注的区域。例如,倘若在以前 24 幼时内展现舛讹查询的峰值,用户能够先辈走调查。每个查询都保存为一张卡片,表现数据的汇总视图。

表现名称 搜索条件 创建者 图外快照 日期周围 末了编辑 预置查询

带有 Sentry 图标的查询卡是预先构建的,无法移除。

All Events:用户能够查望任何项现在组的原首舛讹流。这取代了事件功能,操纵户能够增补其他列和更改分组以实现所需的细分。 Errors by Title:用户能够始末原首舛讹总数以及受影响的用户总数来查望最常发生的舛讹。 Errors by URL:用户能够望到产生最众舛讹和分歧类型题目的页面。挑醒一下,题目是一组指纹事件。相关更众详细新闻,请参阅相关指纹的完善文档。

https://docs.sentry.io/product/data-management-settings/event-grouping/fingerprint-rules/

已保存查询

带有用户头像的查询卡外示已保存的查询。创建已保存查询的用户将在查询卡上表现他们的头像。保存的查询可供机关中的任何人查望,并且不限于用户帐户。

构建新查询

从 Discover 主页,您能够始末三栽手段构建查询。

单击 Build a new query(构建新查询) 单击现有已保存查询卡的省略号以Duplicate(复制) 进入任何现有查询 点击右上角的Save as(另存为)... 输入表现名称 单击Save(保存)

行使新的搜索条件或外列来修改查询效果。保存查询并分配自定义表现名称。相关完善的详细新闻,请参阅相关查询生成器的文档。

https://docs.sentry.io/product/discover-queries/query-builder/ 搜索查询

追求特定查询?操纵主页上的搜索栏查找查询名称。

排序查询

右上角的下拉菜单将批准您按属性排序。

比来编辑Recently Edited(默认) 吾的查询My Queries 查询名称Query Name (A-Z) 创建日期Date Created(最新) 创建日期Date Created(最旧) 最过时Most Outdated 编辑查询

倘若您必要编辑这些查询中的任何一个,请进入查询,进走所需的更改,右上角会展现一个按钮,请求您保存/更新(save/update)查询。请记住,对查询条件的编辑不会主动保存。

要重命名已保存的查询,请单击标题左右的铅笔图标并输入所需的表现名称。单击“enter”或点击区域外以保存更新的名称。

分享查询

随时分享您的疑问。您能够与也有权访问联相符机关的其他用户共享 URL。随着查询的每个片面的构建,效果和 URL 都会更新,以便能够在电子邮件、座谈等中共享正在进走的搜索。

删除查询

在 Discover 主页上,每个保存的查询卡都有一个省略号,能够掀开上下文菜单。从这边,您能够删除查询。这个行为是不走反的。您还能够始末单击右上角的垃圾桶在“查询效果(Query Results)”视图中删除查询。

查询效果

要查望查询效果,请单击任何查询卡。您将找到图外、外格和可切换的标签概要(或分面图facet map)。顶部的搜索栏可让您查望输入的搜索条件。该外响答了具有可排序列的事件。

每个外格单元格都有一个动态上下文菜单,批准您按照您的选择始末主动更新搜索栏或外格列来不息追求您的数据。诸如在过滤器中增补或倾轧值、掀开选定版本或查望底层题目堆栈等操作:

倘若第一列表现图标(如上所示),则外示事件已堆叠。单击该图标可查望完善的事件列外。每个事件都有一个 event ID,您能够单击以晓畅更众详细新闻。相关如何构建查询的更众新闻,请转到查询构建器。

https://docs.sentry.io/product/discover-queries/query-builder/ 事件细目

从 Discover > [Saved Query] > Event Detail 导航到事件详细新闻页面。您将找到相关单个事件的一切相关详细新闻。对于每个事件,您将望到 ID、时间戳(timestamp)和链接以查望 Sentry 收到的规范化 JSON payload。

事件详细新闻(Event Detail)视图因事件类型(舛讹error、事务transaction、csp)而异。事务事件详细新闻能够与舛讹事件详细新闻(如上所示)具有十足分歧的视图。例如,舛讹能够会在侧栏中表现相关题目。这使您能够迅速涉猎该题目的事件量,并让您迅速导航到相关题目。您还能够在这些视图中找到堆栈跟踪(stack traces)、面包屑(breadcrumbs)等。

查询生成器

从 Discover 主页,您能够始末三栽手段构建查询。

单击 Build a new query(构建新查询) 单击现有已保存查询卡的省略号以Duplicate(复制) 进入任何现有查询 点击右上角的Save as(另存为)... 输入表现名称 单击Save(保存)

有四个主要构建块会影响已保存查询的效果。您能够结相符操纵这些手段来缩短搜索周围。

Global Selection Header(全局选择标题) Search Conditions(搜索条件) Interactive Graph(交互式图外) Table Columns(外格列) 按全局选择标题过滤

在页面顶部指定要放大的项现在(projects)、环境(environments)和日期周围(date range)。这也能够在 Sentry 的其他片面行为顶级过滤器(top level filter)找到。

按搜索条件过滤

一切事件都有内置的关键字段(key fields)或自定义标签(custom tags)。操纵搜索栏输入这些 key 并为其分配值。这将过滤您的事件列外。这是内置的 key fields。

    General(常用) id (string) issue.id (number) message (string) project.id (number) release (string) release.package (string) release.version (string) release.build (string) title (string) platform.name (string) environment (string) event.type(string) location (string) timestamp (datetime) timestamp.to_hour (datetime) timestamp.to_day (datetime) Device(设备) device.arch (string) device.battery_level (number) device.brand (string) device.charging (string) device.locale (string) device.name (string) device.online (string) device.orientation (string) device.simulator (string) device.uuid (string) Geo(地理) geo.city (string) geo.country_code (string) geo.region (string) HTTP http.method (string) http.url (string) OS os.build (string) os.kernel_version (string) SDK sdk.name (string) sdk.version (string) Stack traces(堆栈追踪) error.handled (string) error.mechanism (string) error.type (string) error.value (string) stack.abs_path (string) stack.colno (number) stack.filename (string) stack.function (string) stack.in_app (boolean) stack.lineno (number) stack.module (string) stack.package (string) stack.stack_level (number) User attributes(用户属性) user (string) user.email (string) user.id (string) user.ip (string) user.username (string) 语法

查询生成器语法与 Sentry 的搜索语法相通。从上方输入关键字段(key field)或自定义标记(custom tag)后,您能够操纵任何引用的语法。例如,count() 为您挑供事件发生的次数。这能够用以着手段编写:

十足匹配(等于):count():99

上限(幼于或等于):count():<99 或 count():<=99

下限(大于或等于):count():>99 或 count():>=99

众个边界(大于和幼于):count():>10 count():<20

在过滤器之间操纵 OR 和 AND 搜索条件。但是 OR 不及用于聚相符(aggregate)和非聚相符(non-aggregate)过滤器之间。相关这些条件的更众详细新闻,请参阅操纵 OR 和 AND。

https://docs.sentry.io/product/sentry-basics/search/#using-or-and-and

您还能够始末将值放在列外中来搜索联相符 key 的众个值。例如,“x:[value1, value2]” 将找到与 “x:value1 OR x:value2” 相通的效果。您能够在吾们涵盖联相符 Key 上的众个值的内容中晓畅更众新闻。

https://docs.sentry.io/product/sentry-basics/search/#multiple-values-on-the-same-key Tag Summary 过滤

每个事件都有一个标签值(tag values)列外。标签概要分面图(或分面图)是按频率排序的前 10 个 key 的可视化。最常见的标签值(tag value)直接列在表明(description)和百分比(percentage)的栏上方。将鼠标悬停在栏中的每个片面上以查望该标签的实在分布。

单击这些片面中的任何一个以进一步优化您的搜索。例如,单击涉猎器栏中代外 Chrome 的片面将主动更新 tag summary,然后将 Chrome 增补到搜索条件中。

按交互式图外过滤

每个查询都有一个交互式图外,可响答下外中表现的数据。要放大,只需在要调查的区域上单击并拖动即可。您还能够自定义表现和 Y 轴。这将与您的查询一首保存。

表现选项 Total Period(总周期) Previous Period(上一期) Release Markers(发布版本标记) Top 5 Period(前5期) Total Daily(每日总共) Top 5 Daily(每日前5)

Y 轴选项

Count Average Transaction Duration(平均事务不息时间) p75 p95 Unique User Count(唯一用户数) 按外列过滤

在外格上方,单击列(Columns)以掀开 modal。这将表现效果外中一切列的列外。您能够增补、删除和移动基本关键字段(basic key field)列或自定义标签(custom tags)列。操纵相通的视图,您还能够操纵以下任何函数堆叠事件:

叠添函数 avg(...) count(...) count_unique(...) max(...) min(...) sum(...)

每个函数都会请求您分配一个参数。有些是必需的,而有些则是可选的。函数将基于相通的值堆叠事件。倘若未行使任何函数,则查询效果中的事件将单独列出。完善列编辑后,单击“行使(Apply)”,效果将响答在查询效果中。请记住,倘若增补了太众列,外格能够会程度起伏。

单元格过滤

外格中的每个单元格都会在悬停时展现一个省略号。这将掀开一个上下文菜单,其中包含取决于值类型的附添过滤功能。例如,您能够始末单击“增补到过滤器(Add to filter)”有选择地将 transaction 定位到搜索条件栏。

增补方程式

您还能够操纵外列行为方程式变量向查询增补方程式,效果将表现在查询效果外中。在增补查询方程式中晓畅更众新闻。

https://docs.sentry.io/product/discover-queries/query-builder/query-equations/

排序列

单击要排序的列 header。向下箭头按降序对列进走排序,向上箭头按升序对列进走排序。这能够会刷新外格。

其他查询操作

编辑查询

倘若您必要编辑这些查询中的任何一个,请进入查询,进走所需的更改,右上角会展现一个按钮,请求您保存/更新(save/update)查询。请记住,对查询条件的编辑不会主动保存。

要重命名已保存的查询,请单击标题左右的铅笔图标并输入所需的表现名称。单击 "enter" 或单击区域外进走确认。

分享查询

随时分享您的疑问。您能够与也有权访问联相符机关的其他用户共享 URL。随着查询的每个片面的构建,效果会更新,URL 也会更新,以便能够在电子邮件、座谈等中共享正在进走的搜索。

导出 CSV

倘若您想将数据带到别处,请单击 “Export” 以获取 CSV 文件。

对于大型导出,一旦准备停当,您将收到一封包含下载链接的电子邮件。这将必要在 Sentry 下载页面上进一步验证。这包含文件的 SHA1 checksum,您能够操纵以下命令验证其完善性:

echo "<SHA1 checksum> <downloaded CSV name>" | sha1sum -c - 

按照数据量,期待时间能够会有所分歧。效果局限为 1000 万走或 1GB,以先到者为准。

删除查询

删除已保存的查询是不走反的。

在 Discover 主页上,每个保存的查询卡都有一个省略号,能够掀开上下文菜单。从这边删除查询。您还能够始末单击右上角的垃圾桶在“查询效果(Query Results)”视图中删除查询。

增补查询方程式

在 Discover 中,您能够按照查询列增补方程式。每列就像一个变量,由于它代外查询的数字效果,这个数字用于等式。

例如,让吾们用一个方程式来计算 transaction 的第一次内容绘制 (measurements.fcp) 与 transaction 的最大内容绘制 (measurements.lcp) 的比率:

equation = measurements.fcp / measurements.lcp

该等式将操纵每个查询列的效果来计算比率。在这栽情况下,这些查询列的效果是:

measurements.fcp = 50 measurements.lcp = 100

等式变为:

50 / 100 

然后等式的效果表现在更新的外中,如下面的记录所示:

这些等式能够协助您计算以下内容:

在阈值内完善的 transaction 百分比

https://docs.sentry.io/product/discover-queries/query-builder/query-equations/#calculate-the-percentage-of-transactions-completed

自定义 Apdex 分数

https://docs.sentry.io/product/discover-queries/query-builder/query-equations/#calculate-a-custom-apdex

最大平均非数据库次数

https://docs.sentry.io/product/discover-queries/query-builder/query-equations/#find-largest-average-non-database-times

增补方程式

向查询增补方程式

单击列(Columns)按钮掀开列编辑器。 倘若它们尚未包含在您的查询中,请增补方程式所需的列。 单击 增补一个方程式(Add an Equation) 始末选择列、输入数字(倘若必要)和增补运算符来输入你的方程式。 单击“行使(Apply)”。 方程式指南

方程必须:

起码包含一个字段或函数 起码包含一个操作符 有显式运算符。例如,a(a+b) 无效;相背,您答该输入 a * (a + b)

方程不及:

包含字段和函数的同化 包含不受声援的指数

方程将按照预期的运算挨次,最先解析括号,然后是除法和乘法,然后是添法和减法。方程还能够包括负数。

方程只能对数值列和函数进幸运算,其中包括:

函数: count count_unique count_if failure_count avg sum percentiles (p50, p75 etc.) apdex user_misery eps() and epm() 字段: transaction.duration measurements.fp measurements.fcp measurements.lcp measurements.fid measurements.cls measurements.ttfb spans.browser spans.http spans.db spans.resource 示例方程式

计算完善事务的百分比

获取在阈值内完善的事务百分比

1.操纵以下三列创建一个新查询:

* 列 1:

* Function count_if * Field transaction.duration * Condition is less than or equal to * 将最后参数竖立为阈值(如 300)

* 列 2:

* Function count

* 列 3:

* Field transaction

2.增补一个方程并在方程字段中输入 count_if(transaction.duration,lessOrEquals,300) / count() * 100。

计算自定义 Apdex

Apdex 定义为 (satisfied + tolerable*0.5 + frustrated*0)/total。倘若您想将 tolerable 的权重更改为 0.2,您将创建以下查询和方程。

1.操纵以下四列创建一个新查询:

* 列 1:

* Function count_if * Field transaction.duration * Condition is less than or equal to

* 将最后参数竖立为 Satisfied 阈值(如 300)

* 列 2:

* Function count_if * Field transaction.duration * Condition is less than or equal to

* 将最后参数竖立为 Tolerable 阈值(如 1200)

* 列 3:

* Function Count()

* 列 4:

* Field transaction

增补方程并在 equation 字段中输入以下内容:

(count_if(transaction.duration,lessOrEquals,300) + (count_if(transaction.duration,lessOrEquals,1200) - count_if(transaction.duration,lessOrEquals,300)) * 0.2)/count() 

查找最大平均非数据库时间

查找不是来自数据库调用的时间最长的事务。

1.操纵以下两列创建一个新查询:

* 列 1:

* Function avg * Field transaction.duration

* 列 2:

* Function avg * Field spans.db

2.增补一个方程并在 equation 字段中输入 avg(transaction.duration) - avg(spans.db)。

3.按这个新 equation 排序。

始末 Discover 发现趋势

Discover 是一个富强的查询引擎,批准您跨项现在和行使程序查询一切舛讹元数据。您能够已经仔细到,装配在您的行使程序中的 Sentry SDK 捕获了大量事件,每个事件都包含相关底层舛讹(underlying error)、平台(platform)、设备(device)、用户(user)等的上下文数据。吾们还凶猛鼓励始末增补自定义标签和配置 release 和 environment,始末 SDK 雄厚您的舛讹数据。相关更众新闻,请参阅让您的数据发挥作用。

https://docs.sentry.io/product/sentry-basics/guides/enrich-data/

让吾们始末一些示例来晓畅如那里理一切这些数据,以获得相关行使程序运走状况和安详性的一些有用见解。

倘若您竖立了与 Sentry 字段同名的标签,则某些外格列选项能够会重复。对于以下示例,请操纵标记为“field”的外列选项。

始末 Issues Discover

当您的行使程序休止时,Sentry 会实时告诉您,然后挑供新闻和工具来分类息争决舛讹。操纵 Discover,您能够采取更主动的手段来查找损坏您的行使程序的主要题目。构建该查询能够如下所示:

1.导航到 “Discover” 并单击 "Build a new query"。

2.在 Global Header 中,选择您要查询的项现在(projects)、环境(environments)和舛讹时间周围(time range of errors)。

3.Sentry 监视分歧类型的事件的舛讹和性能。要查询题目(issues),请在搜索栏中按 event.type:error 进走过滤。

4.编辑 “Results” 外列以表现每个项现在标事件数 [count()]、受影响的用户 [count_unique(user)] 和稀奇题目 [count_unique(issue)]。

5.竖立这些列后,您能够期待查找题目最众的项现在。单击 COUNT_UNIQUE(ISSUE) 列标题以响答地对走项目提高走排序。

6.将光标悬停在顶部 project 走项现在上,单击表现的操作图标,然后选择 “Add to filter”。这将进一步缩短您的效果周围,以便您能够不息调查该特定 project 的 issues。

7.现在让吾们望望这些 issues 是什么。更改外列以表现:

issue (题目编号) title (题目标题) count() (事件数) count_unique(user) (受题目影响的唯一用户数)

8.在每个走项现在/题目(item/issue)上,您能够单击 issue 名称以掀开 “Issue Details” 页面并对 issue 进走分类。您还能够单击 “Open Group” 图标以在特定题目的上下文中不息查询事件堆栈。

始末 Errors Discover

Discover 的真实富强之处在于它能够查询一切舛讹元数据,所以您不再局限于 issues 或 projects 的上下文,并且能够展现一切行使程序的趋势和见解。让吾们望一些例子。

URL 舛讹

创建一份报告,查望行使程序中 URL 端点中发生的一切舛讹。

搜索条件:event.type:error has:url 外列:url, platform.name, count()

始末单击 “Add to filter” 并更改外列来查望任一 URL 端点。 或者,操纵通配符过滤 URL 模式:

未处理的舛讹

不论您的代码是在移动设备、涉猎器照样服务器上运走,未处理的致命舛讹都能够使您的行使程序休业。要找出这些休业发生的位置,请在 Discover 中运走以下查询:

搜索条件:event.type:error handled:no level:fatal 外列:mechanism, platform.name, count()

要深入晓畅其中一栽休业类型:

选择走项现在值之一并将其增补到过滤器。 修改外列以表现休业 message 和 count()。

舛讹最众的文件

要找出代码库中哪些文件生成的舛讹最众,请在 Discover 中运走以下查询:

搜索条件:event.type:error has:stack.filename

外列:stack.filename, count(), count_unique(issue)

更改您的 “Display” 选择以将现在时间段与前暂时间段进走比较。

您能够始末将特定文件名增补到过滤器并更改外列以表现该文件中的主要舛讹罪魁祸首来不息追求特定文件名:

每个 Release 的舛讹

要晓畅在发布新版本时特定项现在标健康状况如何随着时间的推移而改善(或不改善),请创建以下查询:

搜索条件:event.type:error 外列:release, count(), count_unique(issue)

从这边您能够增补一个 release 行为过滤器并将列更改为 count() 和 title 以查望相通的舛讹。然后您能够单击 “Open Group” 图标来深入查望单个事件。您还能够在 “Results” 外的 “Releases” 中掀开 release。

按幼时或按天计算的舛讹

timestamp.to_hour 和 timestamp.to_day 字段别离将 timestamp 向下弃入到末了一幼时或镇日。例如,timestamp 值为 Mar 12, 2021 2:26:50 PM UTC 的事件的 timestamp.to_hour 值为 Mar 12, 2021 2:00:00 PM UTC,timestamp.to_day 值为 Mar 12, 2021 12:00:00 AM UTC。这批准您对事件进走分组。例如,您能够表现每幼时起码命中两次的舛讹计数:

按照您在 User Settings > Account > Account Details 中的用户竖立,所未必间戳都表现在您的首选时区中。

其他用例

正如您现在能够已经仔细到的那样,Discover 在获得对舛讹的可见性和洞察力方面专门有用。相关其他用例,请查望:

哪些 issues 正在消耗吾的配额?

https://docs.sentry.io/product/accounts/quotas/manage-event-stream-guide/#-what-issues-are-consuming-my-quota

尖峰珍惜已激活 - 吾该怎么办?

https://docs.sentry.io/product/accounts/quotas/manage-event-stream-guide/#-spike-protection-was-activated----what-should-i-do

【编辑选举】

广告机构正越来越众将“大数据”行为宣传策略的构成片面如何操纵UnhookMe分析凶意柔件中未受监控的体系调用题目云原生大数据架构中实时计算维外和效果外的选型实践赋能聪颖哺育发展,大数据至关主要!行使新媒体大数据升迁下层社会邃密化治理程度