监控智能家居的服务中断情况

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

1. 准备工作

正如我们在调试智能家居 Codelab 中所述,我们会将相应指标和日志发布到你的智能家居项目。这些指标可帮助你确定智能家居 Action 的哪些方面存在问题,而日志则有助于你深入了解这些问题以将其解决。

dd44868a4ff2df6e.png

您可以使用为项目提供的指标设置提醒,以自动监控服务中断情况并在服务中断期间收到通知。我们将发布一个置信度指标,以突出显示项目的中断情况,本 Codelab 将涵盖 Google Cloud Platform 上可用的所有其他提醒工具。

前提条件

学习内容

  • 如何监控项目的性能问题和服务中断情况。
  • 如何创建基于阈值的提醒,以便在服务中断期间接收通知。
  • 如何利用提供给项目的置信度指标来检测服务中断情况。

2. 监控性能

监控性能对于与 Google 智能家居生态系统的成功集成至关重要。我们在 Google Cloud Platform 上为智能家居开发者提供了一组监控工具。您可以使用这些工具了解项目的表现。

访问信息中心

访问您的数据的第一步是检查 Google Home 信息中心,方法是登录 Google Cloud Console,然后依次转到运营 > Monitoring > 信息中心。你会发现有很多信息中心可供使用,而且智能家居信息中心带有前缀 Google Home Analytics。

317697e52ced2437.png

我们创建了单独的信息中心来表示每种集成类型。Cloud、Local 和 Matter 集成有自己的信息中心,并且摄像头流式传输协议的数据在相机质量信息中心内提供。只有在您集成了相应类型以及能够正常运行的请求项目的情况下,这些信息中心才会包含数据。

打开其中一个信息中心时,获得的视图将如下所示:

f8bfd69286c569a4.png

信息中心包含各种图表,其中显示由您的项目处理的相应请求的详细信息。在每个集成信息中心内,您都会看到一个图表,其中显示了您的项目处理的总请求数;一个图表会显示相应集成类型的成功率;以及多个图表,其中会显示所涉及的设备类型和特征。

以下三个图表对于评估智能家居 Action 的效果至关重要:

f511fafd3aaaa1eb.png

在服务中断期间,您通常会看到成功百分比出现下降趋势,错误细分图表中则会呈现上升趋势。监控执行成功百分比有助于观察服务中断情况,而查看错误细分中的主要错误有助于进行调试。您可能还会发现中断期间的延迟时间有所增加,如请求延迟时间图表所示。

请注意,您在 Google Home Analytics 信息中心看到的默认图表就是我们使用智能家居指标数据为您的项目创建的视图。您还可以使用 Metrics Explorer 根据相同的底层指标创建自己的图表,并将其保存在自定义信息中心内。

指标浏览器

Metrics Explorer 是直观呈现项目数据集的跨部分的工具。您可以在 Google Cloud 控制台中导航到运维 > Monitoring > Metrics Explorer 来访问该工具。

Google Cloud 提供了许多不同的开箱即用指标,包括一些与智能家居无关的指标。我们为智能家居提供的指标会列在“actions.googleapis.com/smarthome_action/...”资源下,只需在指标选择框中输入“smarthome”,即可轻松搜索到。

538d851edfd34764.png

搜索“smarthome”时,系统会显示我们为你的项目提供的所有智能家居指标。如需详细了解每种指标,请参阅我们文档的 MonitoringLogging 页面。

对于监控项目,最简单的指标是“请求数”指标(即“增量指标”)。此指标会为用户启动的每个智能家居执行记录一个条目,并记录执行、所涉及的执行、执行类型以及显示结果的状态字段等字段。

选择此指标后,您将生成一个显示每个数据存储分区的屏幕,如下所示:

b1c18141d15a0e09.png

从本质上讲,对于此指标中存在的每个数据标签组合,都有一个存储分区来记录先前和当前时间间隔之间的变化(增量)。您可以对这些存储分区进行分组或过滤掉,以获得所需的视图数据切片。此外,数据还会根据对齐函数(DELTA、MEAN、MediaN、SUM)按所选时间间隔校准。除非另有要求,否则您通常可以使用与增量指标相对应的增量。

您可以使用 Metrics Explorer 创建 Google Home Analytics 信息中心内提供的大多数图表,并将您的图表保存到自定义信息中心,以供日后访问。要实现更复杂的视图(例如比率图表),您需要使用 MQL - 监控查询语言。

3. 成效指标

在跟踪集成是否成功时,您可以将我们根据您的请求次数指标计算的成功率用作基准指标,也可以将成功率用作更专业的方法。

成功率

成功率的计算方式是用成功请求的数量除以所有请求的数量。你可以在 Google Home Analytics 信息中心的“成功率”图表中查看这项数据。

55ea8930fbf48d9e.png

“执行成功率”图表对于监控项目的表现非常有用,但在构建自定义信息中心或设置提醒时则不然。由于成功率是根据您的请求计数指标(而非指标本身)得出的,因此您必须使用 Metrics Explorer 中的 MQL(监控查询语言)重新创建该指标,才能将其与任一功能搭配使用。

此外,要跟踪项目的性能中断情况,我们认为需要一种更专业的方法。因此,我们创建了置信度指标,该指标会根据您当前的履单成功率偏离历史规范的程度而变化。

置信度指标

服务中断可能会以不同的形状和大小出现。这可能会持续数小时到数分钟,这可能会让识别他们成为一项挑战。因此,我们在项目中创建了一个置信度指标,为根据过去的性能预测可靠性提供一个标准化值。若要访问置信度指标,您可以在 Metrics Explorer 中搜索智能家居,然后选择执行成功度置信度

ab467a1777281526.png

当智能家居集成的效果达到或超过历史效果(7 天平均值)时,此指标会输出最大值 (1.0)。当您的成功百分比与 4 个标准差的差值超过 4 倍(也是在 7 天内计算)时,该指标会输出最小值 (0.0)。对于标准偏差过小(小于 2.5%)的情况,该指标以 0.0 为基准,以 10% 的成功百分比作为降幅。

对于所有中间情况,此指标提供的值介于 1.0(完全没有中断)和 0.0(最大中断发生置信度)之间。

因此,在设置提醒时(详见下一部分),我们建议您将阈值设为 0.5。相当于 2 个标准偏差或 5% 的降幅(以较高者为准)。

4. 设置提醒

下一步是利用您在上一部分中学到的所有内容为项目设置提醒。

创建提醒政策

Google Cloud Platform 上的自动提醒通过提醒政策设置。您可以通过侧边菜单运维 > 监控 > 提醒标签页访问提醒政策。您可以通过点击 +CREATE POLICY 选项来创建新的提醒政策,这会将您转到提醒政策创建屏幕:

6e417d88c2274b3d.png

创建提醒政策包括三个部分。首先,您需要通过添加条件来确定要跟踪的对象。按添加条件按钮会打开一个类似于 Metrics Explorer 的窗口,其中包含一些用于配置条件的额外控件:

df1ccf7da741e1c7.png

对于目标,选择我们在上一部分中介绍的置信度指标。确保将校准器设置为使用此指标的增量(显示高级选项 > 对齐器)。下一步是配置提醒条件并使用以下设置:

4192e0f4ea00dd28.png

发生以下情况时触发条件 - 这是用于确定何时触发提醒的主要配置。由于我们要为指标设置阈值并监控值是否超出该阈值,因此选择任何违反时间序列的情况都有效。

条件 - 我们希望在值低于阈值时触发提醒,因此我们将此值设为低于。在我们的指标中,1.0 表示集成正常运行,0.0 表示完全中断。

阈值 - 我们已创建置信度指标,以在该值设为 0.5 时提供最佳效果。如果您希望收到更频繁的提醒,并在发生较少突发事件时获得通知,可以尝试提高此值(最大 1.0)。之后,如果您希望仅收到较少提醒,则仅针对更严重的问题,可以尝试降低此值(最小值为 0.0)。

针对 - 此设置可用于指定在服务中断发生之前,您可以持续多长时间。我们建议您将此设置设为最新值,以便在超出阈值的任何地点获得提醒。我们的置信度指标每 15 分钟发布一次,并会查看这段时间的平均成效。

添加完条件后,下一步就是选择通知渠道。最简单的通知方法是使用电子邮件提醒。您可以选择通知渠道下拉菜单中列出的电子邮件地址:

3cc10629830e7f13.png

如果您勾选在突发事件关闭时通知选项,系统会在突发事件被标记为关闭后发送另一条通知。在这种情况下,您还应选择突发事件自动关闭时长,默认为 7 天。

最后一步是为提醒命名,并添加您希望在通知中包含的所有文档。

686fb1c537fee10.png

建议您提供相关文件,尤其是在您没有收到提醒的电子邮件时。添加一些步骤,例如在突发事件发生时在何处查看,以及如何在服务中断期间进行分类和调试。您可以根据需要参阅我们的问题排查指南

保存后,您的提醒政策将列在“提醒”页面上的“政策”部分下。

c71a001e4df035ee.png

5. 减少中断

设置提醒后,您会在所提供的通知渠道服务中断时收到通知,并且系统会在“提醒”页面中创建一个突发事件条目。

接收提醒

我们在此 Codelab 中提供的提醒渠道是电子邮件地址。设置完毕后,你可能不会收到任何提醒(不会出现任何中断),但是如果设置完毕,你会得到如下通知:

43217b0a145c2cd.png

请注意,提醒通知不仅会提供观察值超出您指定的阈值的情况,还会提供一个时间戳,简要说明突发事件开始的时间。

监控突发事件

当突发事件发生时,它们也会计入“提醒”页面上的“突发事件”部分。

fdd883a9604ed981.png

您可以点击具体的突发事件来查看关于该中断的详细信息,例如中断持续时间或严重程度。

请注意,收到提醒后,您最好先查看相关指标,然后在日志中搜索导致服务中断的错误。您可以回顾一下调试智能家居 Codelab,了解如何操作。

6. 恭喜

17d485868a6771bc

恭喜!您已成功了解了如何使用为项目提供的指标设置提醒,以便自动监控服务中断情况并在服务中断期间收到通知。

后续步骤

在此 Codelab 的基础上,尝试做以下练习并浏览其他资源:

  • 您可以将本 Codelab 中学到的知识与提供给项目的其他指标相结合。您可以在 Monitoring 页面的支持的指标部分查看可用指标的完整列表。
  • 浏览其他类型的通知渠道,查看 Google Cloud Platform 文档的通知选项页面所述的提醒。