跳转到主要内容
告警规则可以监控一项 RUM 指标,不必写查询。规则指明一个应用,可以再收窄到某个环境、页面和版本,并选择下面的一项指标。它按计划评估,对照阈值,或对照前几天的同一时间,不需要数据流,也不需要语句。 指标的读取方式与页面相同,用的是和概览、探索同一份聚合:视图和会话按最新版本只数一次,百分位数取的是有值的视图。所以规则监控的数字,就是页面在同一个应用、环境、页面和时间范围下显示的数字。

指标

会话或视图属于它开始的那个窗口。一分钟前开始、还没有结束的会话也会计入,数的是它到目前为止的样子,所以窗口里最新的几分钟看上去会比这些会话结束后略好。窗口越长,这个影响越小。

指标没有值的时候

计数在为零时也是一个值,规则因此能发现流量停了。其余指标在窗口内的行数少于上表所需时没有值:没有任何阈值匹配,不会触发,已开启的事件会解决。这样,安静的夜里不会因为寥寥几个视图的 p75 触发规则。规则里的最少样本可以改变这条规则所需的行数;计数没有这一项。

收窄规则

编辑器给出该应用最近一天出现过的环境、页面和版本。页面是 URL 的路径,把会变化的部分归并,和各页面的说法一致。名称按原样比较,所以其中的 * 就是一个字符。 新问题和问题回归按 issue 出现的环境数。一个 issue 属于整个应用,并记下它在每个环境里第一次出现的时间:上周在预发环境首次出现的 issue,在生产环境第一次看到它时,对生产来说就是新的。不选环境时,issue 在应用第一次看到它时是新的。

创建规则

打开告警 → 告警规则,点击新建规则。阈值规则的数据源里,RUM 告警与指标告警、日志告警、链路告警和 APM 告警并列。选择应用,按需收窄,选择指标,再选择评估窗口:5 分钟、15 分钟或 1 小时。编辑器给每项指标预设适合它的窗口(百分位数和比例用 1 小时),以及一条常见的告警线。创建规则需要 alerts.manage。 测试规则画出最近一段时间里指标的曲线,每个窗口一个点,并叠上阈值:窗口为 5 或 15 分钟时是 6 小时,窗口为 1 小时时是 12 小时。最后一个点就是规则此刻看到的值。行数太少的窗口没有值,也没有点。预览由评估规则的同一段代码算出,所以画出来的就是规则会做的。 换一项指标会重新给出阈值和窗口,因为它们的单位变了。不能收窄到页面或版本的指标,会在表单里说明原因。 alert 角色每隔 [alert].eval_interval_secs(默认 30 秒)对最近一个窗口评估一次规则。for_periods 数的是连续越过告警线的评估次数;几分钟的窗口已经平滑了指标,所以编辑器让 RUM 规则从 1 开始。见创建规则。

从页面告警

告警 在概览、错误、性能和受挫页里,位于说明页面范围的那一行的末尾。旁边的数字是这个应用正在发生的事件数,用最严重一个的颜色,没有事件时不显示。这个按钮需要 alerts.read,没有这项权限的人看不到它。 它打开一个抽屉,列出这个应用的告警:页面选了环境就是这个环境,页面看的是所有环境就是所有环境。抽屉没有自己的应用和环境,跟着页面走。从上到下,最紧急的在最前。
  • 正在发生 列出这个应用状态为待处理或已确认的事件,最严重的在前。每条说明严重程度、是哪条规则、规则的告警线,以及何时开启。打开 在页面上方打开这个事件。
  • 这个应用的规则 列出盯着它的规则,包括所选环境的和所有环境的,触发中的在前,并说明每条的状态:触发中、待定、正常 或 已停用。新建规则 打开规则编辑器,应用和环境已经填好;编辑 打开某条规则。两者都需要 alerts.manage。
  • 模板 列出值得给这个应用建的规则,可以直接创建。
性能页里一行的抽屉有 为它建告警,它打开规则编辑器,指标是当前标签页的那项 vital,并收窄到这一行的页面或版本。

模板

模板是一条针对某项指标的规则,带着它的告警线和评估窗口。点 创建 立刻建好这条规则:启用、scheduled,模板的各条线就是各级严重度,for_periods 为 1,使用默认升级策略,标签与在编辑器里建的规则相同,再加上 rum.template,写明它来自哪个模板。规则以应用、环境和模板命名:Storefront · prod · 页面加载变慢。之后在 告警 → 告警规则 里随意修改。创建规则需要 alerts.manage;没有这项权限时按钮是灰的,并写明原因。 已经为当前页面的应用和环境建过的模板,会显示 已创建,启用中 和一个到那条规则的链接,代替按钮,所以不会建两次。换一个环境可以再建一次;为所有环境建的那条,不算某一个环境的。 每张卡片说明指标 当前 的值,按模板的窗口读取,用的是评估规则的同一段代码。Core Web Vitals 还会说明这个值属于良好、待改进还是差。按模板建的规则如果立刻就会触发,卡片会说明。行数不够的指标没有值,卡片会说明还差多少。 Core Web Vitals 的线是 web.dev 给出的良好与差的分界。 App 有七个,崩溃取代了 Web Vitals 的位置。屏幕报错率 是屏幕的错误率。 流量停了 在窗口里一个会话都没有时告警,所以不适合夜里没有流量的应用。

异常规则

异常检测规则的数据源里有 RUM 指标。它把最近一个窗口的指标与前几天的同一窗口比较,基线与设置同其他异常规则。除新问题和问题回归外的指标都可以选,这两项没有常态水平。

事件

在编辑器里创建的规则带有标签 rum.application,以及它收窄到的 deployment.environment、rum.page 和 rum.version,它的事件会复制这些标签。事件开启时,还会保存最多三个样本会话,它们是指标最差的那几个,每个有会话 ID、时间、该会话的数值和附带的信息:vitals 最差的视图和背后的元素、最新的错误和它们的消息、出现崩溃或受挫信号的会话、失败的请求和它们的路径。新问题和问题回归的样本,是这些 issue 最新错误所在的会话。流量类指标没有样本。 事件抽屉从 正在发生、告警 → 事件 或链接里打开,把它们列为 样本会话:发生的时间、是谁(姓名、邮箱、ID,或从未登录的访客由 SDK 保存的 ID)、浏览器和系统,以及它为什么成为样本。录制了回放的会话,回放 在那个时刻前 5 秒打开;没有录制的,会话 打开会话页。会话是谁、有没有录制,是从会话里读的,需要 streams.query;没有这项权限时,每行仍然会说明何时、为什么。 在 RUM 中打开 去到讲这项指标的页面,应用、环境和页面不变,时间范围是事件的时间:从规则读取窗口之前,到解决之后一小会儿;事件还在进行时到现在。

API 里的规则

RUM 指标的规则,在 query 里用 query.rum,不带语句和数据流。用它创建规则。
period_secs 是窗口,取 60 秒到 6 小时。应用必须存在;不能收窄到页面或版本的指标,带 page 或 version 会被拒绝。min_samples 可选,计数不能带。阈值用指标的单位。 RUM 页面按标签 rum.application 找一个应用的事件(页面看的是某个环境时,再按 deployment.environment),按规则的 query.rum 找它的规则。通过 API 创建的规则只带请求里写明的标签,所以要在页面上数出、列出它的事件,就要给它加上这两个标签。从模板建的规则还有 rum.template,卡片靠它知道模板已经建过。 POST /api/v1/rum/alerts/preview 是测试规则读取的接口,见 RUM API。

权限

  • alerts.read 让 RUM 页面显示 告警,抽屉里有事件、规则和模板。
  • alerts.manage 可以创建规则:从模板、用 新建规则,或在规则编辑器里;也可以对规则点 编辑。
  • streams.query,即读取 RUM 其余部分的权限,用于读取预览、模板说明的指标当前值,以及事件的样本会话是谁。
见 RUM。
最后修改于 2026年10月26日