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

1. 准备工作

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

dd44868a4ff2df6e.png

您可以使用为项目提供的指标设置提醒,以自动方式监控服务中断情况,并在服务中断时接收通知。我们将发布一个置信度指标来突出显示您项目中出现的中断,我们将在此 Codelab 中介绍该指标,以及您在 Google Cloud Platform 上可用的所有其他提醒工具。

前提条件

学习内容

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

2. 监控性能

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

访问信息中心

访问数据的第一步是查看 Google Home 信息中心,具体方法是:登录 Google Cloud 控制台,然后前往操作 > 监控 > 信息中心。你将看到有多个信息中心,并且智能家居信息中心带有 Google Home Analytics 前缀。

317697e52ced2437

我们创建了单独的信息中心来代表每种集成类型。云、本地和 Matter 集成都有自己的信息中心,摄像头质量信息中心内提供了摄像头流式传输协议的相关数据。只有当您拥有相应类型的集成,以及正在执行请求的项目时,这些信息中心才会包含数据。

打开其中一个信息中心后,您看到的视图将如下所示:

f8bfd69286c569a4.png

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

下面这三个图表对于评估智能家居操作的表现至关重要:

f511fafd3aaaa1eb.png

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

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

指标浏览器

Metrics Explorer 是一款直观呈现项目数据集的横截图的工具。您可以在 Google Cloud 控制台中依次点击运维 > 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 - Monitoring Query Language。

3. 成效指标

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

成功

系统会针对所有集成计算成功率,计算方法是将成功请求数除以所有请求数。您可以通过 Google Home Analytics 信息中心内的“履单成功率”图表查看这些信息。

55ea8930fbf48d9e.png

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

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

置信度指标

对于项目而言,服务中断的形式和规模可能不尽相同。这类漏洞可能持续数小时到数分钟,因此识别这类漏洞颇具挑战性。为此,我们在您的项目中创建了一个置信度指标,该指标提供一个标准化值,以根据过去的性能预测可靠性。您可以通过以下方式访问置信度指标:在 Metrics Explorer 中搜索智能家居,然后选择执行成功置信度

ab467a1777281526.png

当智能家居集成的表现等于或高于历史效果(7 天平均值)时,此指标将输出最大值 (1.0)。当成功百分比的偏差超过 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

条件触发条件 - 这是用于确定何时触发提醒的主要配置。选择任何违反时间序列的情况即可,因为我们将为指标设置阈值,并监控该值是否超过了该值。

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

阈值 - 我们创建了置信度指标,以便在此值设置为 0.5 时提供最佳结果。如果您希望提高提醒频率,并在出现较少突发事件时收到通知,可以尝试提高此值(最大值为 1.0)。随后,如果您想减少收到的提醒,但仅针对更严重的问题,可以尝试减小此值(最小值 0.0)。

持续时间 - 此设置用于确定服务中断应持续多长时间才能收到提醒。我们建议将此设置保持在最新值,以便在任何点超出阈值时收到通知。置信度指标每 15 分钟发布一次,比较的是该时间段内的平均成功次数。

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

3cc10629830e7f13

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

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

686fb1c537fee10.png

建议您提供相关文件,尤其是当您不是收到提醒的人员时。添加一些步骤(例如,在突发事件发生期间查看什么位置,以及如何分类和调试)等步骤有助于在服务中断期间派上用场。您可以根据需要参阅我们的问题排查指南

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

c71a001e4df035ee.png

5. 减少服务中断

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

接收警报

我们在此 Codelab 中提供的提醒渠道是电子邮件。完成设置后,可能您不会收到任何提醒(服务不会出现中断),但如果设置了提醒,则通知将如下所示:

43217b0a145c2cd.png

请注意,提醒通知确实会提供超出您指定的阈值的观察值,以及简要介绍事件首次开始的时间戳。

监控突发事件

当发生突发事件时,系统也会将其计入“提醒”页面的“突发事件”部分。

fdd883a9604ed981.png

您可以点击特定突发事件,查看服务中断的详细信息,例如中断持续时间或严重程度。

请注意,收到提醒时,最好先查看指标,然后在日志中搜索造成服务中断的错误。您可以在我们的调试智能家居 Codelab 中回顾如何执行这些操作。

6. 恭喜

17d485868a6771bc.png

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

后续步骤

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

  • 您可以将在此 Codelab 中学到的知识与您为项目提供的其他指标相结合。您可以在监控页面的支持的指标部分中查看可用指标的完整列表。
  • 如需了解其他类型的提醒通知渠道,请参阅 Google Cloud Platform 文档的通知选项页面。