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

1. 准备工作

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

dd44868a4ff2df6e.png

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

前提条件

学习内容

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

2. 监控效果

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

访问信息中心

如需访问数据,首先要检查 Google Home 信息中心,方法是登录 Google Cloud 控制台,然后依次前往运维 > 监控 > 信息中心。您会看到有许多信息中心可供使用,而智能家居信息中心带有“Google Home Analytics”前缀。

317697e52ced2437.png

我们创建了单独的信息中心来表示每种集成类型。云集成、本地集成和 Matter 集成有各自的信息中心,而摄像头流式传输协议的数据则在“摄像头质量”信息中心内提供。只有在您集成相应类型的服务,并且项目能够正常处理请求时,这些信息中心才会包含数据。

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

f8bfd69286c569a4.png

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

有三个图表对于评估智能家居操作的效果至关重要:

f511fafd3aaaa1eb.png

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

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

Metrics Explorer

Metrics Explorer 是一种用于直观呈现项目数据集横截面的工具。您可以在 Google Cloud 控制台中访问该工具,方法是依次前往运维 > 监控 > Metrics Explorer

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

538d851edfd34764.png

搜索“smarthome”会显示我们为您的项目提供的所有智能家居指标。您可以在文档的 MonitoringLogging 页面中详细了解我们的各项指标。

在监控项目时,最简单的参考指标是请求数指标(属于增量指标)。此指标会针对用户发起的每次智能家居执行记录一个条目,并记录与执行相关的设备类型、特征、执行类型以及显示结果的状态字段等字段。

选择此指标后,系统会显示一个屏幕,其中包含与以下内容类似的数据桶:

b1c18141d15a0e09.png

从本质上讲,对于此指标中存在的每种数据标签组合,都有一个用于记录前一个时间间隔与当前时间间隔之间变化(增量)的桶。您可以对这些分桶进行分组或过滤,以获得所需的数据视图切片。此外,系统还会使用对齐函数(增量、平均值、中位数、总和)将数据对齐到所选的时间间隔。除非另有需要,否则您通常会将增量校准与增量指标搭配使用。

您可以使用 Metrics Explorer 创建 Google Home 分析信息中心内的大部分图表,并将图表保存到自定义信息中心,以便日后访问。如需实现更复杂的视图(例如比率图表),您需要使用 MQL(Monitoring Query Language)。

3. 成功指标

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

成功率

系统会计算所有集成方案的成功率,方法是将成功请求数除以总请求数。您可以在 Google Home Analytics 信息中心内的“订单履约成功率”图表中访问该报告。

55ea8930fbf48d9e.png

“履单成功率”图表非常有助于监控项目的效果,但在构建自定义信息中心或设置提醒时,用处不大。由于成功率是从请求数指标(而非指标本身)派生出来的,因此您必须在 Metrics Explorer 中使用 MQL(Monitoring 查询语言)重新创建成功率,才能将其与任一功能搭配使用。

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

置信度指标

项目可能会遇到不同类型和规模的中断。它们可能持续数小时,也可能只持续几分钟,因此很难识别。为此,我们在您的项目中创建了一个信心指标,该指标可提供一个归一化值,用于根据过往表现预测可靠性。您可以在指标探索器中搜索“智能家居”,然后选择执行成功置信度,以访问置信度指标。

ab467a1777281526.png

如果智能家居集成功能的表现达到或超过历史表现(7 天平均值),此指标将输出最大值 (1.0)。如果成功百分比的偏差超过 4 个标准差(同样是按 7 天计算),此指标会输出最小值 (0.0)。如果标准差过小(低于 2.5%),此指标会将 0.0 值设为成功百分比下降 10%。

对于所有介于两者之间的情况,此指标提供的值介于 1.0(完全确信没有中断)和 0.0(完全确信存在中断)之间。

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

4. 设置 Google 快讯

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

创建提醒政策

Google Cloud 中的自动提醒是通过提醒政策设置的。您可以通过侧边菜单中的操作 > 监控 > 提醒标签页访问提醒政策。您可以选择 +CREATE POLICY 选项来创建新的提醒政策,该选项会将您带到提醒政策创建界面:

6e417d88c2274b3d.png

创建提醒政策的步骤分为以下三个部分。首先,您需要添加条件来确定要跟踪的内容。按 ADD CONDITION(添加条件)按钮会显示一个类似于 Metrics Explorer 的窗口,其中包含一些用于配置条件的其他控件:

df1ccf7da741e1c7.png

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

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 文档中的通知选项页面。