Sentry 监控 - Alerts 告警_自定义

系列

目录

  • 警报简介
  • 错误 Issue 警报
  • 错误和性能指标警报
  • 创建警报
  • 通知
  • 警报类型
  • Issue 警报
  • 指标警报
  • 警报详情
  • 创建警报
  • Issue 警报配置
  • 环境
  • 团队
  • 警报名称
  • “何时(When)”条件:触发器
  • “如果(If)”条件:过滤器
  • “然后(Then)”条件:动作
  • Issue 所有者
  • 团队 Slack 通知
  • 动作间隔(速率限制)
  • 项目级警报设置
  • 摘要
  • 指标警报配置
  • 过滤器
  • 环境
  • 事件类型
  • 标签(Tag) & 属性(Attribute)
  • 指标(函数 + 时间间隔)
  • 警报函数
  • 时间间隔
  • 阈值
  • 自动解决
  • 动作
  • 规则名称
  • 团队
  • 带有集成的警报路由
  • 集成
  • Slack 警报
  • PagerDuty 警报
  • Microsoft Teams 警报
  • 构建您自己的集成
  • 遗留集成
  • 警报最佳实践
  • 检测重要问题
  • 降低警报噪音
  • 已忽略 Issue
  • 路由
  • 通知
  • 工作流通知
  • 部署通知
  • 配额通知
  • 每周报告
  • 个人通知设置
  • 警报
  • 交付方式
  • 工作流
  • 交付方式
  • 取消订阅
  • Email 路由
  • 每周报告
  • 部署
  • 交付方式
  • 我的活动
公众号:黑客下午茶


警报简介

警报提供对代码问题和对用户的影响的实时可见性。有多种类型的警报可用于自定义阈值和集成。

从 ​​sentry.io​​ 的 ​​Alerts​​ 页面,您可以创建新的警报规则并管理现有规则。 “警报规则(​​Alert Rules​​)”选项卡显示您现有的警报规则,以及它们的当前状态、项目、团队和创建日期。 默认情况下,该列表经过筛选,以便仅显示与您所属的团队以及与任何团队无关的警报。 您可以使用过滤器按钮更改此设置。

Sentry 监控 - Alerts 告警_自定义_02

警报(Alerts)​ 页面还显示一个 ​“历史(History)”​ 选项卡,您可以在其中找到指标警报列表,其中包含触发时间和活动时间等信息。

错误 Issue 警报

只要项目中的任何问题符合指定标准,就会触发 ​​Issue​​ 警报。您可以为 ​​Issue​​ 级别的更改创建警报,例如:

  • 新 ​​Issue​
  • ​Issue​​ 频率增加
  • 已解决和忽略的 ​​Issue​​ 变成未解决(​​unresolved​​)

您可以在 ​​issue​​ 警报配置中找到 ​​Issue​​ 警报触发器的完整列表。

错误和性能指标警报

当 ​​error​​ 或 ​​transaction​​ 事件违反了指标时,指标警报就会触发。 使用指标警报来监控您关心的一组有限且已知的指标和组件,例如整个项目中、重要页面上或具有特定标签的错误频率或性能指标。

创建警报以监控指标,例如:

  • 项目中的总错误(​​Total errors​​)
  • 延迟(​​Latency​​):最小值(​​min​​)、最大值(​​max​​)、平均值(​​average​​)、百分位数(​​percentile​​)
  • 失败率(​​Failure rate​​)
  • 自定义指标

您可以在指标警报中找到可用指标警报的完整列表。

创建警报

在 ​​sentry.io​​ 中创建新项目时,您可以选择默认的 ​​issue​​ 警报。 但是,您也可以使用这些最佳实践作为指南,创建自己的警报以满足团队的需求。

通知

除了警报之外,Sentry 还会向您发送有关各种事项的通知,例如 ​​issue​​ 状态更改、发布部署和配额使用情况。 您可以在​​用户设置 > 通知(User Settings > Notifications)​​中微调这些通知以及您的个人警报设置。 在完整文档中了解有关通知和调整其关联设置的更多信息。

警报类型

您可以创建两种类型的警报:

  1. Issue alerts:当 ​​issue​​(一组错误事件)符合特定条件时触发。
  2. Metric alerts:当 ​​error​​ 或 ​​transaction​​ 事件的宏观指标超过特定阈值时触发。

Issue 警报

只要项目中的任何 ​​issue​​ 符合指定标准,就会触发 ​​Issue​​ 警报。 例如,这些标准可能是重新出现的已解决 ​​issue​​ 或影响许多用户的 ​​issue​​。

在​​“警报规则(Alert Rules)”​​选项卡中,这些警报由 ​​issues​​ 图标标识,默认情况下,它们显示在警报列表的底部。(如果您有多个指标警报,这可能会将您的 ​​issue​​ 警报从列表的第一页推出。)

Sentry 监控 - Alerts 告警_最佳实践_03

在问题警报中,​​Sentry​​ 每次收到新事件时都会评估配置的警报条件。警报条件包括三个部分:

  1. 触发器(​​Triggers​​)指定您想要监控的活动类型,或何时(​​When​​)应触发警报。
  2. 过滤器(​​Filters​​)通过仅在 ​​issue​​ 符合指定标准时触发警报来帮助控制 ​​issue​​ 噪音。
  3. 然后,​​Actions​​ 指定当满足触发条件并且过滤器匹配时应该发生什么。

指标警报

指标警报会告诉您指标何时超过阈值,例如项目中错误数量的激增,或性能指标的变化,例如延迟(​​latency​​)、Apdex、故障率(​​failure rate​​)或吞吐量(​​throughput​​)。

指标警报监控 ​​error​​ 和 ​​transaction​​ 事件的宏观指标。指标获取一组事件并使用函数(例如 ​​count()​​ 或 ​​avg()​​)计算一段时间内应用于事件属性的聚合值。 创建指标警报时,您可以按属性(​​attributes​​)和标签(​​tags​​)过滤事件,这对于聚合未分组为单个 ​​issue​​ 的事件特别有用。

这些警报使用 ​​Critical​​ 和 ​​Warning​​ 触发器来衡量严重性。 警报的当前状态是处于活动状态的​​最高严重性触发器(highest severity trigger)​​,可以是以下三个值之一:​​警告(Warning)​​、​​严重(Critical)​​或​​已解决(Resolved)​​。每当警报的状态发生变化时,​​Sentry​​ 都会通知您。

创建警报时,所有显示的警报类型(​​“Issues”​​除外)均可用于创建指标警报:

  • Number of Errors(错误数)
  • Users Experiencing Errors(出现错误的用户)
  • Throughput(吞吐量)
  • Transaction Duration(transaction 时长)
  • Apdex
  • Failure Rate(失败率)
  • Largest Contentful Paint(最大内容绘制)
  • First Input Delay(首次输入延迟)
  • Cumulative Layout Shift(累积布局偏移)
  • Custom Metric(自定义指标)

警报详情

警报详细信息(​​Alert Details​​)页面默认显示过去 ​​24​​ 小时的指标警报规则的历史记录,但可以使用​​“显示(Display)”​​下拉菜单修改时间段。 触发警报时,单击您收到的通知会将您带到此页面,该页面显示警报处于活动状态的时间段。 该页面还包括详细信息,例如警报规则条件、警报的当前状态以及警报在每种状态(​​Critical​​、``Warning​​或​​Resolved`)中花费的时间摘要。

Sentry 监控 - Alerts 告警_自定义_04

​警报详细信息(Alert Details)​​页面还包括与指标相关的可疑 ​​issue​​ 或 ​​transaction​​ 的列表,以帮助更快地查明根本问题。您可以查看可能导致触发警报的原因,然后在 ​​Discover​​ 中打开该指标以查找更多信息。

创建警报

创建警报所需的最低角色是 ​​member​​。具有 ​​manager​​ 或 ​​owner​​ 权限的 ​​Sentry​​ 用户可以在​​设置 > 常规设置 > 让成员创建和编辑警报(Settings > General Settings > Let Members Create and Edit Alerts)​​中更改最低角色要求。

要创建警报:

  1. 导航到​​警报(Alerts)​​并单击 ​​“Create Alert Rule”​​。
  2. 选择您的项目。
  3. 选择您希望收到警报的内容。 选择 ​​“Issues”​​ 会创建 ​​issue​​ 警报,而选择任何其他选项会创建 ​​metric​​ 警报。
    Sentry 监控 - Alerts 告警_触发器_05
  4. 单击​​“设置条件(Set Conditions)”​​。
  5. 在警报配置页面,设置告警条件:
  • Issue 警报配置
  • Metric 警报配置

Issue 警报配置

Sentry 提供了多个配置选项来根据您组织的需要创建 ​​issue​​ 警报。

环境

指定哪些环境(​​environment​​)将使用此特定警报规则。此控件过滤事件中的环境标签。 例如,此过滤器很有用,因为您应用于生产警报的紧迫性和工作流程可能不同于您应用于源自 ​​QA​​ 环境的警报的紧急程度和工作流程。

此处的 ​​“Environment”​​ 下拉列表具有与全局 ​​“Environment”​​ 下拉列表中所选项目可用的相同环境(不包括隐藏环境)。 选择 ​​“All Environments”​​ 相当于没有环境过滤器。

团队

您可以选择要与警报关联的团队,以便该团队的成员可以编辑警报。 请注意,只有当您是团队成员时才能进行此关联。 如果未选择任何团队,则任何人都可以编辑警报。

警报名称

为您的警报指定一个描述性名称,例如受影响的团队和警报的主题。 例如,“前端延迟(​​Frontend Latency​​)”、“后端故障率(​​Backend Failure Rate​​)”或“计费 Apdex(​​Billing Apdex​​)”。

“何时(When)”条件:触发器

​“When”​​ 条件或触发器指定您希望针对该 ​​issue​​ 监控哪种类型的活动:

  • 首次出现
  • 将状态从已解决(​​resolved​​)更改为未解决(​​unresolved​​)
  • 将状态从忽略(​​ignored​​)更改为未解决(​​unresolved​​)
  • 在一个时间间隔内看到超过一定次数
  • 在一个时间间隔内被超过一定数量的唯一用户看到
  • 某个 ​​issue​​ 在 ​​{time}​​ 内影响了超过 ​​{X}%​​ 的会话
  • 受影响的会话百分比是一个近似值,计算为 ​​issue​​ 频率与项目中会话数的比率
  • 仅当过去一小时的会话数超过 ​​50​​ 时才会触发基于百分比的警报

触发器(​​Triggers​​)是可选的。如果不选择触发器,则默认认为满足 ​​“When”​​ 条件。也就是说,所有的事件都满足这个条件。

在 ​​Issue States & Triage​​ 中了解有关 ​​issue​​ 状态的更多信息。

  • Issue States & Triage​

“如果(If)”条件:过滤器

​Sentry​​ 在满足 ​​“When”​​ 条件后检查 ​​“if conditions”​​ 或过滤器,这些通过过滤掉不符合您指定标准的问题来帮助控制 ​​noise​​。 您可以过滤​​issue​​ 或事件属性。如果指定了事件过滤器,它只会检查触发警报的事件,例如:

  • ​issue​​ 比特定持续时间更旧或新。
  • 该 ​​issue​​ 至少发生了 ​​{X}​​ 次。
  • ​issue​​ 已分配给{​​no one/a team/a member​​}。
  • 该事件来自最新 ​​release​​。
  • 事件的 ​​{attribute} {matches} {value}​​。 匹配类型:等于(​​equals​​)、不等于(​​does not equal​​)、开始于(​​starts with​​)、结束于(​​ends with​​)、包含(​​contains​​)、不包含(​​does not contain​​)、已设置(​​is set​​)或未设置(​​is not set​​)。
  • 事件的 ​​{tag} {matches} {value}​​。 匹配类型:等于(​​equals​​)、不等于(​​does not equal​​)、开始于(​​starts with​​)、结束于(​​ends with​​)、包含(​​contains​​)、不包含(​​does not contain​​)、已设置(​​is set​​)或未设置(​​is not set​​)。
  • 事件的级别 ​​{matches} {level}​​。匹配类型:等于(​​equal to​​)、小于(​​less than​​)或等于(​​equal to​​)、或大于(​​greater than​​)或等于(​​equal to​​)。

了解更多关于标签(​​tags​​)和事件属性(​​event attributes​​)的信息。

  • tags​
  • event attributes​

“然后(Then)”条件:动作

“Then conditions”或动作,指定满足触发器和过滤条件时应该发生的事情:

  • 向问题所有者(​​Issue Owners​​)、团队(​​a team​​)或成员(​​a member​​)发送通知。
  • 向集成发送通知,其中可以包含以下选项,具体取决于您安装的集成:
  • 发送 ​​Slack​​ 通知
  • 发送 ​​PagerDuty​​ 通知
  • 发送 ​​Microsoft Teams​​ 通知
  • 向所有旧集成发送通知。
  • 使用集成平台上构建的集成发送通知
  • 为集成创建一个 ​​issue​​,其中包括:
  • Jira
  • Azure DevOps

了解有关通过集成路由警报的更多信息。

Issue 所有者

Issue 所有者可以在触发警报时收到通知(仅限电子邮件)。

对于早期采用者,这些通知是通过电子邮件或 Slack 接收的,具体取决于问题所有者的通知设置。

  • Issue owners​
  • notification settings​

如果未配置或未找到 ​​issue​​ 所有者,则不会发送通知或将其发送给所有项目成员,具体取决于 ​[项目]>设置>问题所有者([Project]>Settings>Issue Owners)​ 中的以下设置。

Sentry 监控 - Alerts 告警_最佳实践_06

团队 Slack 通知

团队可以配置 ​​Slack channel​​ 来接收警报通知。这可以通过在所需的 ​​Slack channel​​ 中键入 ​​/sentry link team​​ 来完成。要在 ​​sentry.io​​ 中查看团队关联的 Slack 频道,请导航到 ​设置>团队>[团队]>通知(Settings>Teams>[Team]>Notifications)​。

动作间隔(速率限制)

动作间隔(​​action interval​​)或速率限制(​​rate limit​​)控制针对特定问题触发警报规则的频率。如果警报条件与问题匹配,Sentry 只执行在速率限制期限内尚未针对该问题执行的动作。例如,如果一个问题在一分钟的时间内多次满足警报条件,但是您的频率阈值是一分钟,那么您只会收到一次警报。

可用的间隔是:

  • 分钟:​​5​​, ​​10​​, ​​30​​, ​​60​
  • 小时:​​3​​, ​​12​​, ​​24​
  • 天:​​7​​, ​​30​

项目级警报设置

在 ​[项目] > 设置 > 警报([Project] > Settings > Alerts)​ 中,您可以配置警报电子邮件主题模板和摘要设置。拥有 ​​owner​​、​​manager​​ 或管理员权限(​​admin permissions​​)及以上权限的 ​​Sentry​​ 用户可以更改这些默认通知设置。

摘要

摘要功能仅适用于 ​​issue​​ 警报电子邮件(不是通过集成发送的通知),并且与​​动作间隔(action interval)​​不同,它限制为项目发送的警报电子邮件总数。此项目级设置允许您控制警报的最小和最大交付间隔。

Sentry 监控 - Alerts 告警_最佳实践_07

指标警报配置

Sentry 提供了多个配置选项来根据您组织的需要创建指标警报。

过滤器

以下过滤器组转换为 Discover 查询,显示在警报配置页面顶部的图表中。

环境

指定哪些环境将使用此特定警报规则。此控件过滤事件中的 ​​environment​​ 标签。 例如,此过滤器很有用,因为您应用于生产警报的紧迫性和工作流程可能不同于您应用于源自 ​​QA​​ 环境的警报的紧急程度和工作流程。

此处的 ​​“Env:”​​ 下拉列表与全局 ​​“Environment”​​ 下拉列表中所选项目的可用环境相同(不包括隐藏环境)。 选择 ​​“全部(All)”​​ 相当于没有环境过滤器。

事件类型

对于某些指标警报,您可以在​​“事件(Events)”​​下拉列表中设置要收到警报的事件类型:

  • ​event.type:error​​ OR ​​event.type:default​
  • ​event.type:default​
  • ​event.type:error​
  • ​event.type:transaction​
标签(Tag) & 属性(Attribute)

在提供的字段中添加过滤器以缩小您将收到警报的范围,例如 URL、标签或其他事件属性。

指标(函数 + 时间间隔)

根据您选择的警报类型,您可以选择要应用的函数和参数。在其他情况下,该功能内置于警报中,并且不显示设置。 例如,如果您选择​​“受影响的用户数(Number of Users Affected)”​​,则转换为函数 ​​count_unique(user.id)​​。 由于编辑此函数会改变警报的性质,因此它不可编辑,因此被隐藏。

警报函数
  • ​count()​
  • ​count_unique(...)​
  • ​avg(...)​
  • ​percentile(...)​
  • ​failure_rate()​
  • ​apdex(...)​
  • ​count()​
  • ​p50()​
  • ​p75()​
  • ​p95()​
  • ​p99()​
  • ​p100()​
时间间隔

选择评估指标的时间段。您的选择范围从一分钟到一天。 ​​Sentry​​ 每分钟评估指定的窗口。 例如,如果您指定一个小时时间窗口,​​Sentry​​ 会评估:

  • At 3:00pm: 2:00pm - 3:00pm
  • At 3:01pm: 2:01pm - 3:01pm
  • At 3:02pm: 2:02pm - 3:02pm
  • ...

阈值

阈值是帮助定义警报触发器的数值。这些数值被标记为:

  • Critical(严重)
  • Warning(警告)
  • Resolved(已解决)

您必须设置 ​​“Warning”​​ 阈值,使其在 ​​“Critical”​​ 阈值之前触发。当 ​​Sentry​​ 评估警报时,警报的状态会更新为匹配的最高严重性触发器。如果您未设置 ​​“Resolved”​​ 阈值,警报将在不再违反 ​​“Critical”​​ 或 ​​“Warning”​​ 条件时自动解决。您还可以手动解决警报。

自动解决

默认情况下,当指定的指标不再违反 ​​“Critical”​​ 或 ​​“Warning”​​ 条件时,会自动解决指标警报。 但是,您可以设置不同的分辨率阈值。例如,假设您的应用程序的正常错误级别低于 ​​2000/分钟​​,并且您希望在超过 ​​5000/分钟​​ 时收到警报。您可能希望警报仅在错误级别回到 ​​2000/分钟​​ 以下时 ​​resolve​​,而不是 ​​5000/分钟​​。通过以这种方式设置 ​​“Resolved”​​ 阈值,如果错误级别回落到仅 ​​4000/分钟​​,即使它低于警报阈值,您也会认为这是有问题的,警报将不会 ​​resolve​​。

动作

动作定义了您和您的团队将如何收到警报:

  • 向成员(​​member​​)或团队(​​team​​)发送电子邮件。如果发送给成员(​​team​​),则成员(​​team​​)的个人项目警报选择退出设置(​​opt-out settings​​)将被覆盖。
  • 发送 ​​Slack​​ 通知
  • 发送 ​​PagerDuty​​ 通知
  • 发送 ​​Microsoft Teams​​ 通知
  • 使用内部集成发送请求。

了解有关通过集成路由警报的更多信息。

规则名称

为您的警报指定一个描述性名称,例如受影响的团队和警报的主题。例如,​​“前端延迟(Frontend Latency)”​​、​​“后端故障率(Backend Failure Rate)”​​或​​“计费 Apdex(Billing Apdex)”​​。

团队

您可以选择要与警报关联的团队,以便该团队的成员可以编辑此警报。 请注意,只有当您是团队成员时才能进行此关联。如果未选择任何团队,则任何人都可以编辑警报。

带有集成的警报路由

通过定制警报规则并集成您已经使用的工具,您可以在需要的时候​​when​​、地点​​where​​(以及是否​​if​​)收到警报,而不会受到干扰。警报通知可以路由到 ​​Slack​​,多个支持的集成,以及通过 ​​webhooks​​ 定制集成。在创建警报规则时,您可以使用这些集成来配置通知谁以及如何通知。

集成

​Sentry​​ 的集成为您提供了通过 ​​Slack​​、​​PagerDuty​​ 和 ​​Microsoft Teams​​ 等常用应用程序路由警报的选项。 您可以在 设置 > 集成(Settings > Integrations) 中找到这些集成,并为整个组织安装它们。

Slack 警报

​Sentry​​ 组织 ​​owner​​ 或 ​​manager​​ 可以在其 ​​Sentry​​ 帐户中安装和配置 ​​Slack​​ 集成。 配置集成后,​​issue​​ 警报规则中将提供以下动作:向 ​​{workspace} Slack​​ 工作区发送通知至 ​​{channel}​​ 并在通知中显示标签 ​​{tags}​​。在指标警报中,您的 ​​Slack​​ 团队将在 ​​action​​ 下拉列表之一中可用。

此 ​​alert action​​ 允许您将警报通知路由到 ​​Slack​​ 工作区中的选定频道(使用 ​​#​​ 前缀)或直接消息中的特定用户(使用 ​​@​​ 前缀)。

Sentry 监控 - Alerts 告警_触发器_08

然后,一旦您收到 ​​Slack​​ 通知,您可以使用 ​​“Resolve”​​、​​“Ignore”​​ 或 ​​“Assign”​​ 按钮直接从 ​​Slack​​ 更新 ​​sentry.io​​ 中的问题。

PagerDuty 警报

​Sentry​​ 组织 ​​owner​​ 或 ​​manager​​ 可以在其 ​​Sentry​​ 帐户中安装和配置 ​​PagerDuty​​ 集成。 配置集成后,​​issue​​ 警报规则中将提供以下动作:向 ​​PagerDuty​​ 帐户 ​​{account}​​ 和服务 ​​{service}​​ 发送通知。在指标警报中,您的 ​​PagerDuty​​ 帐户将在 ​​action​​ 下拉列表之一中可用。

Microsoft Teams 警报

​Sentry​​ 组织 ​​owner​​ 或 ​​manager​​ 可以在其 ​​Sentry​​ 帐户中安装和配置 ​​Microsoft Teams​​。 配置集成后,​​issue​​ 警报规则中将提供以下动作:向 ​​{team}​​ 团队发送通知至 ​​{channel(s)}​​。 在指标警报中,您的 ​​Microsoft​​ 团队将在 ​​action​​ 下拉列表之一中可用。

构建您自己的集成

如果您想将警报通知路由到 ​​Sentry​​ 没有开箱即用集成的其他解决方案,您可以使用 ​​Integration Platform​​。 集成平台为外部服务提供了一种使用 ​​REST API​​ 和 ​​Webhook​​ 与 ​​Sentry SaaS​​ 服务交互的方法。

如果您想从不同的监控系统汇总警报或编写自定义规则以更智能地路由警报,则向 ​​webhook​​ 发送警报也很有帮助。

当您创建新的集成并在其上启用​​“Alert Rule Action”​​选项时,当您选择在 ​​issue​​ 警报规则创建期间通过集成 ​​action​​ 发送通知时,您的集成将显示为服务。在指标警报中,您的集成在 ​​action​​ 下拉列表之一中可用。

遗留集成

遗留集成(也称为插件)是 ​​Sentry​​ 的扩展,打包为 ​​Python​​ 库,并在项目级进行配置。要向遗留集成发送警报,请选择 ​​“Send a notification via an integration”​​ 或 ​​“Send a notification to all legacy integrations”​​ 动作。您不能将指标警报路由到遗留集成。

警报最佳实践

警报在正确的时间通知正确的人非常重要。向太多人发送太多通知可能会导致这些通知被忽略。 以下最佳实践将帮助您创建或微调警报以最大程度地减少警报噪音,同时仍会告诉您需要了解的内容。

检测重要问题

频率(Frequency) :通常,您会设置警报以在错误超过特定频率时触发,但频率并不是一切:如果低频错误位于应用程序的更重要部分,则它可能比高频错误更重要。

受影响的用户(Users affected):有时极少数用户会产生大量错误,因此提醒受影响的用户可能比错误频率更重要。然而,并非所有在 ​​Sentry​​ 中有用户计数的错误实际上都可能是面向用户的,反之亦然。 如果您过滤这些类型的问题,您就可以避免收到非用户面临的错误的警报。

标签(Tags):使用标签对错误进行分类。例如,您可以过滤自动捕获的 ​​url​​ 标签以识别关键业务页面,或过滤自定义标签(如 ​​customer_type​​)以更重要地处理这些警报。您可以在 [项目] > 设置 > 标签([Project] > Settings > Tags) 下找到项目中可用的标签列表。 该列表是该项目事件中遇到的所有标签 ​​key​​(默认和自定义)的聚合。

降低警报噪音

这些最佳实践可帮助您减少 issue 警报可能产生的噪音,但不适用于指标警报。

看到相同的警报(Seeing the same alerts):如果您反复看到以前看过的警报,请尝试将您的 ​​issue​​ 警报过滤为过去几天创建的问题,使用 ​​The issue is older or newer than...​​ 过滤器。

瞬态警报(Transient alerts):要过滤掉仅快速连续发生几次且不再发生的 ​​transient issues​​,请在您的 ​​issue​​ 警报中使用 ​​Issue has happened at least {X} times​​ 过滤器。

限制为最新版本(Limit to latest release):使用 ​​The event is from the latest release​​ 过滤器将您的 ​​issue​​ 警报仅应用于最新版本。

使用“For Review”列表(Use the “For Review” list):新 ​​issue​​ 和未解决的 ​​issue​​ 通常是您想知道的,但它们会产生很多噪音。​​Sentry​​ 问题列表中的 ​​“For Review”​​ 选项卡会显示这些问题,因此您可以使用电子邮件和集成来发出更高紧急性的警报,同时确保这些低紧急性问题不会被忽视。我们建议每天查看一次 ​​“For Review”​​ 列表。此列表显示:

  • 新 Issue
  • 回归(​​issue​​ 从 ​​“Resolved”->“Unresolved”​​ 更改状态)
  • 满足忽略条件的 ​​issue​​(​​issue​​ 状态从 ​​Ignored​​ -> ​​Unresolved​​)
已忽略 Issue

您可以忽略 ​​issue​​ 以减少噪音,但是,当满足警报条件时,忽略的问题不会触发警报;它们反而变成 ​​unresolved​​ 并出现在​​“For Review”​​列表中。因此,如果您担心遗漏这些问题,请使用 ​​An issue changes state from ignore to unresolved​​ 触发器创建问题警报。

路由

问题所有者(Issue owners) :使用 ​​issue owners​​ 让 Sentry 自动向合适的人发送警报,并减轻配置负担。 您可以在 ​[项目] > 设置 > 问题所有者( [Project] > Settings > Issue Owners)​ 中配置所有权规则。 当没有匹配的所有者时,警报默认发送给所有项目成员。 如果这太宽泛,并且您希望特定所有者作为后备,请以 ​​*:<owner>​​ 之类的规则结束您的所有权规则。

不同优先级的发送方式(Delivery methods for different priorities) :使用不同的发送方式来区分不同优先级的告警。例如,您可以像这样从最高优先级路由到最低优先级:

  • 高优先级:页面(​​PagerDuty​​ 或 ​​OpsGenie​​)
  • 中等优先级:聊天应用(​​Slack​​)
  • 低优先级:​​Email​

问题列表中的 ​​“For Review”​​ 选项卡是您可以在不接收任何警报的情况下检查优先级最低的问题的位置。

构建集成:如果您想将警报通知路由到 ​​Sentry​​ 还没有开箱即用集成的解决方案,您可以使用 ​​Integration Platform​​。创建集成时,它将在 ​​alert actions​​ 菜单中可用。您可能希望将自己的集成用于:

  • 向原生不支持的集成发送警报
  • 聚合来自不同监控系统的警报
  • 在 ​​webhook​​ 处理程序中编写自定义规则以更智能地路由警报

通知

Sentry 向您发送有关工作流活动、发布部署和配额使用情况的通知,以及每周报告。 这些通知让您了解:

  • 工作流(​​Workflow​​):涉及用户操作和 ​​issue​​ 状态更改的活动。这包括 ​​issue​​ 解决、分配、评论和回归等活动。
  • 部署(​​Deploy​​):当您提交的版本被部署时。
  • 配额(​​Quota​​):接近配额、超出配额和尖峰保护。
  • 每周报告(​​Weekly Reports​​):您组织的 ​​Sentry​​ 活动摘要。

您可以在 ​​用户设置 > 通知(User Settings > Notifications)​​ 中管理这些通知。

工作流通知

​Sentry​​ 发送工作流通知,让您了解 ​​issue​​ 状态更改。 工作流与帮助您管理问题的动作相关,例如更改 ​​issue​​ 的状态或对其发表评论。默认情况下,​​Sentry​​ 通过电子邮件将这些通知发送给订阅该问题的成员(有关如何确定订阅,请参见下文)。 发送工作流通知:

  • 问题已解决(Issue Resolved):当您的代码中发现新 ​​issue​​ 时,它处于 ​​Unresolved​​ 状态。 当项目团队成员通过在 ​​sentry.io​​ 中手动更改其状态或提交修复程序或由于项目的自动解决功能(如果已配置)解决 ​​issue​​ 时,​​issue​​ 状态将更改为已解决。
  • 回归(Regressions):当 ​​issue​​ 的状态从 ​​“Resolved”​​ 变回 ​​“Unresolved”​​ 时,就会发生回归。 将向所有项目团队成员发送一封电子邮件。
  • 评论(Comments):当团队成员在 ​​issue​​ 详细信息页面的 ​​“Activity”​​ 选项卡中添加新评论时。
  • 分配(Assignment):当一个问题被分配或未分配时。
  • 用户反馈(User Feedback):当一个 ​​issue​​ 有新的用户反馈时。
  • 事件处理问题(Event Processing Problems):当您发送给 ​​Sentry​​ 的错误事件处理出现问题时。

当您订阅 ​​issue​​ 时,您会收到工作流通知,并且您通过以下方式订阅问题:

  • 单击 ​​issue​​ 上的订阅铃铛(​​subscribe bell​​)图标
  • 参与与 ​​issue​​ 相关的提交
  • 对 ​​issue​​ 发表评论或添加书签
  • 在 ​​issue​​ 中提及您或您的团队
  • 您或您的团队被分配到该 ​​issue​

这些通知可能与为项目配置的警报有一些重叠。

部署通知

​Sentry​​ 向已提交已部署版本的用户发送部署通知。在部署文档中了解更多信息。

Sentry 监控 - Alerts 告警_触发器_09

配额通知

在以下情况下,​​Sentry​​ 会向组织的所有所有者发送配额通知:

  • 组织的 80% 的错误、事务和附件量已耗尽。
  • 错误或事务超过了组织的配额,其中包括按需容量

您无法更改或禁用这些通知。在完整的配额文档中了解更多信息。

每周报告

​Sentry​​ 每周一通过电子邮件发送每周报告。报告包含您组织在上周的 ​​Sentry​​ 活动摘要。

Sentry 监控 - Alerts 告警_触发器_10

个人通知设置

您可以在您的帐户设置中调整您的个人工作流程并部署通知以及您的个人 ​​issue​​ 警报设置。通过导航到 用户设置 > 通知(User Settings > Notifications) 来管理您的通知。您无法配置配额通知。

警报

此设置不会影响配置为明确发送到您的电子邮件的警报。

在通知中,您可以全局打开和关闭 ​​issue​​ 警报通知。

您还可以通过选择 ​​“Default”​​ 、​​“On”​​ 或 ​​“Off”​​ 来对每个项目的警报通知进行微调。如果您选择 ​​“Default”​​,项目的设置将与您的全局设置相同。

交付方式

您可以通过从以下选项中进行选择来决定在何处接收个人警报通知:

  • 发送到 ​​Email​
  • 发送到 ​​Slack​
  • 发送到 ​​Email​​ 和 ​​Slack​

如果您的组织安装了 ​​integration​​ 并且您的 ​​Slack​​ 身份已链接到您的 ​​Sentry​​ 帐户,则 ​​Slack​​ 仅可用作交付方式。

工作流

工作流通知的全局设置是:

  • Always(总是)
  • Only On Issues I Subscribe To(仅在我订阅的问题上)
  • Never(从不)

您可以通过选择以上三个选项之一或 ​​“Default”​​ 来针对每个项目微调您的工作流程通知。如果您选择 ​​“Default”​​,项目的设置将与您的全局设置相同。

交付方式

您可以通过从以下选项中进行选择来决定在何处接收个人工作流通知:

  • 发送到 ​​Email​
  • 发送到 ​​Slack​
  • 发送到 ​​Email​​ 和 ​​Slack​

如果您的组织安装了集成并且您的 Slack 身份已链接到您的 Sentry 帐户,则 Slack 仅可用作交付方式。

取消订阅

要退出特定问题的工作流通知,请单击问题页面顶部的订阅铃铛图标。

Email 路由

电子邮件路由控制每个项目的通知发送到的电子邮件地址。这些通知默认为您在设置 Sentry 帐户时提供的电子邮件地址。此设置允许您基于每个项目将电子邮件路由到备用电子邮件地址。

每周报告

报告包含您组织在上周的 ​​Sentry​​ 活动摘要。您可以通过为每个组织打开或关闭报告来微调您的每周报告。

部署

部署通知的全局设置是:

  • ​On​
  • ​Only On Deploys With My Commits​​(仅在我提交的部署上)
  • ​Off​

您可以通过选择上述三个选项之一或 ​​“Default”​​ 来对每个组织的部署通知进行微调。如果您选择 ​​“Default”​​,组织的设置将与您的全局设置相同。

交付方式

您可以通过从以下选项中进行选择来决定在何处接收个人工作流通知:

  • 发送到 ​​Email​
  • 发送到 ​​Slack​
  • 发送到 ​​Email​​ 和 ​​Slack​

如果您的组织安装了集成并且您的 Slack 身份已链接到您的 Sentry 帐户,则 Slack 仅可用作交付方式。

我的活动

使用切换开关来控制您是否收到有关以下内容的通知:

  • 您在使用 ​​sentry.io​​ 时的动作
  • 您已解决的无人认领 ​​issue​​ 的任何更改
公众号:黑客下午茶