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

1. 准备工作

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

dd44868a4ff2df6e.png

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

前提条件

学习内容

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

2. 监控效果

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

访问信息中心

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

317697e52ced2437.png

我们创建了各个信息中心来代表每种集成类型。Cloud、Local 和 Matter 集成各有自己的信息中心,相机流式传输协议的数据则在“相机质量”信息中心内提供。只有在您已完成相应类型的集成,并且有可正常处理请求的项目的情况下,这些信息中心才会包含数据。

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

f8bfd69286c569a4.png

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

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

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”会显示我们为您的项目提供的所有智能家居指标。您可以在文档的监控日志记录页面中详细了解我们的每个指标。

在监控项目时,最简单的指标是请求数指标(这是一个差分指标)。此指标会为用户发起的每项智能家居执行记录一条条目,并记录设备类型、特征、执行所涉及的执行类型以及显示结果的状态字段等字段。

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

b1c18141d15a0e09.png

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

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

3. 成效指标

如需跟踪集成成功情况,您可以使用我们根据请求数指标计算的成功率作为基准指标,也可以使用成功信心作为更专业的方法。

成功

系统会将成功请求数除以所有请求数,以此计算所有集成的成功率。您可以通过 Google Home 数据分析信息中心内的“执行成功率”图表访问该指标。

55ea8930fbf48d9e.png

执行成功率图表非常适合监控项目的效果,但在构建自定义信息中心或设置提醒时用处不大。由于成功率是从请求数指标派生的,而不是单独的指标,因此您必须在 Metrics Explorer 中使用 MQL(Monitoring Query Language)重新创建该指标,才能将其与这两项功能搭配使用。

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

置信度指标

项目中可能存在不同类型和大小的服务中断。它们的持续时间可能长达数小时,也可能只有几分钟,这可能会使识别它们变得非常困难。为此,我们在您的项目中创建了一个置信度指标,该指标提供了一个标准化值,用于根据过往表现预测可靠性。您可以通过在 Metrics Explorer 中搜索 smarthome,然后选择执行成功置信度来访问置信度指标。

ab467a1777281526.png

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

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

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

4. 设置提醒

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

创建提醒政策

您可以通过提醒政策在 Google Cloud 上设置自动提醒。您可以通过侧边菜单依次点击 Operations > Monitoring > Alerting 标签页来访问提醒政策。您可以选择 +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 文档的通知选项页面中介绍的其他类型的提醒通知渠道。