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

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

1. 准备工作

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

dd44868a4ff2df6e.png

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

前提条件

学习内容

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

2. 监控性能

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

访问信息中心

访问您的数据的第一步是检查 Google Home 信息中心:登录 Google Cloud Console,然后依次转到运营 &gt > 信息中心。你会看到许多信息中心,并且智能家居的信息中心带有 Google Home Analytics 的前缀。

317697e52ced2437.png

我们创建了单独的信息中心来表示每种集成类型。Cloud、Local 和 Matter 集成有各自的信息中心,相机流式传输协议的数据在“相机质量”信息中心内提供。只有当您集成了相应类型以及一个正常运行的请求来满足请求时,这些信息中心才会包含数据。

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

f8bfd69286c569a4.png

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

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

F511fafd3aaaa1eb.png

在服务中断期间,您经常会在成功百分比处看到下降趋势,在错误细分图表中看到趋势上升。监控执行成功百分比有助于观察服务中断情况,而查看错误细分中的主要错误有助于调试。您可能还会注意到中断期间的延迟时间有所增加,您可以在请求延迟时间图表中看到该图表。

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

指标浏览器

Metrics Explorer 是一款用于直观呈现项目数据集的横跨部分的工具。您可以在 Google Cloud Console 中转到 Operations > Monitoring > Metrics Explorer,访问此工具。

Google Cloud 提供许多不同的指标,包括一些与智能家居无关的指标。我们为智能家居提供的指标会列在“actions.googleapis.com/smarthome_action/...”资源下,并且可以通过在指标选择框中输入“smarthome”来轻松进行搜索。

538d851edfd34764.png

搜索“智能家居”时,系统会显示我们为你的项目提供的所有智能家居指标。如需详细了解我们的各项指标,请参阅文档的监控和日志记录页面。

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

选择此指标后,系统会显示一个屏幕,其中显示如下所示的每个数据存储分区:

b1c18141d15a0e09.png

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

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

3. 成功指标

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

成功

通过将成功请求的数量除以所有请求,成功计算所有集成的成功率。你可以从 Google Home Analytics(分析)信息中心里的 Fulfillment Success 率走势。

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 上的自动提醒通过提醒政策设置。您可以通过侧边菜单中的操作 > 监控 &gt 提醒标签页访问提醒政策。您可以创建新的提醒政策,只需选择 +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.png

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

后续步骤

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

  • 您可以将您在此 Codelab 中学到的知识与为项目提供的其他指标相结合。您可以在监控和日志记录页面的“支持的指标”部分查看可用指标的完整列表。
  • 浏览 Google Cloud Platform 文档的通知选项页面对提醒进行说明的其他类型的通知渠道。