监控 MIG 中的实例分布

本文档介绍了用于监控托管式实例组 (MIG) 中虚拟机 (VM) 实例分布情况的优势、用例和信息中心。此外,还介绍了如何查看特定 MIG 或多个 MIG 的实例分布,以及如何自定义和查询信息中心。

当 MIG 使用位置灵活性在多个可用区中分配实例,使用实例灵活性指定多个兼容的机器类型,或同时使用这两者时,MIG 会根据实时资源可用性动态选择和预配实例。如需实时监控此行为,您可以使用信息中心跟踪实例在不同可用区和机器类型中的分布情况。您可以查看单个 MIG 的这些数据,也可以查看多个 MIG 的汇总数据。该信息中心还会显示正在运行(活跃)和未运行(不活跃)的实例,以及该时间段内的实例总数。您可以解读信息中心指标,以诊断容量分配、可用区平衡和后备行为。

监控 MIG 中实例分布情况的好处

当 MIG 在区域级组中的多个可用区部署实例时,或者当您在实例灵活性政策中指定多种机器类型和排名时,位置和机器类型的实际分布会根据资源可用性动态变化。

监控运行时实例分布有助于您执行以下操作:

  • 提高可获取性并缓解容量限制:验证 MIG 在扩容时是否成功获取资源。在后备排名中创建实例表明,您的实例灵活性政策正在有效缓解临时容量限制。但是,如果您的组在采取这些后备措施后仍无法达到目标大小,请考虑扩大允许的机器类型范围或添加更多可用区,以帮助降低未来发生资源可用性错误的概率。

  • 验证位置灵活性和可用区平衡:确认区域级 MIG 是否按预期(EVEN 或 BALANCED)在可用区之间平衡容量,或者观察使用 ANY 或 ANY_SINGLE_ZONE 目标分布形状时容量如何在可用区之间动态转移。

  • 平衡费用和性能:通过跟踪为具有实例灵活性的 MIG 选择的机器类型,您可以更好地了解支出和性能,并寻找改进机会。例如,如果您的实例始终提供高于工作负载要求的性能,请考虑调查您的工作负载是否可以容忍优先选择成本较低的选项。或者,如果您发现性能问题,则可以根据可获取性,考虑优先选择高性能机器类型,而不是将工作负载拆分到更多机器上。

如需详细了解监控信息中心如何帮助解决可观测性问题,请参阅本文档中的解读信息中心。

监控 MIG 实例分布

您可以使用以下任一方法监控 MIG 中的实例分布:

  • 如需查看特定 MIG 的实例分布,请使用 MIG 页面上的监控标签页。如需查看相关说明,请参阅查看特定 MIG 的实例分布。

  • 如需查看多个 MIG 的实例分布情况,请使用 Cloud Monitoring 信息中心查看汇总视图。如需查看相关说明,请参阅查看多个 MIG 中的实例分布情况。

  • 如需将实例分布数据集成到自定义信息中心,请使用 PromQL 以编程方式查询底层指标。这种基于代码的替代方案可让您将数据导出到外部监控工具(例如 Grafana)。如需查看相关说明,请参阅使用 PromQL 以编程方式查询。

实例分布信息中心简介

MIG 实例分布监控信息中心提供以下四个专用图表:

  • 按可用区划分的实例分布:一个图表,显示按可用区划分的实例数量,展示了您所在区域的位置灵活性和可用区分布。

  • 按机器类型划分的实例分布:一个图表,显示按机器类型分组的实例数量,展示实例组如何在不同的机器类型和大小之间分配容量。

  • 活跃实例与非活跃实例:一个图表,显示按实例是否活跃分组的实例数量。活跃实例是指完全正常运行的实例 (RUNNING)。非活跃实例是指未运行但未被删除的实例,包括正在创建 (PROVISIONING、STAGING)、已暂停 (SUSPENDED) 或已关停 (STOPPED、TERMINATED) 的实例。

  • 实例总数:显示 MIG 在该时间段内的实例总数的图表。

这些图表依赖于标准 Compute Engine 系统元数据标签和指标,例如 compute.googleapis.com/instance/cpu/utilization 和 metadata.system_labels.machine_type。Cloud Monitoring 会自动为所有 Compute Engine 实例收集这些系统指标和元数据标签。您无需在实例中安装 Ops Agent 或配置自定义客机遥测,即可在信息中心内查看这些图表。

如需查看限定于特定 MIG 或跨多个 MIG 的实例分布数据,请参阅查看实例分布。

所需的角色

查看实例分布

您可以查看特定 MIG 的实例分布信息中心,也可以查看多个 MIG 的汇总数据。

查看特定 MIG 的实例分布

  1. 在 Google Cloud 控制台中,前往实例群组页面。

    进入“实例组”

  2. 点击要监控的 MIG 的名称。

  3. 点击监控标签页。

  4. 在监控标签页的导航面板中,选择实例分布。

查看多个 MIG 中的实例分布情况

如需一次性观察所有 MIG 的实例分布情况,请使用 Cloud Monitoring 中预配置的信息中心。默认情况下,此信息中心会汇总项目中所有 MIG 的数据。

  1. 在 Google Cloud 控制台中,前往 Monitoring > 信息中心页面。

    转到“信息中心”

  2. 在过滤条件中,搜索 GCE MIG 实例分布监控信息中心并将其选中。您还可以在类型菜单 > Google 服务类别中找到此信息中心。

  3. 可选:如果您的项目包含多个 MIG,并且您希望缩小汇总视图的范围,请使用信息中心的过滤条件变量按区域、可用区或 instance_group 进行过滤。

自定义 Cloud Monitoring 信息中心

您可以在 Cloud Monitoring 中自定义实例分布信息中心,但无法在特定 MIG 的监控标签页中修改视图。

在 Cloud Monitoring 中,如需修改信息中心的图表、应用过滤条件或配置自定义布局结构,您必须先复制预配置的信息中心。

  1. 在 Google Cloud 控制台中,前往 Monitoring > 信息中心页面。

    转到“信息中心”

  2. 在过滤条件中,搜索 GCE MIG 实例分布监控信息中心并将其选中。您也可以在类型菜单 > Google 服务类别中找到此信息中心。

  3. 点击复制信息中心。

  4. 修改复制的信息中心,以根据需要修改其名称、图表、布局或应用过滤条件。

您可以在类型菜单 > 自定义类别中查看复制或自定义的信息中心。

如需详细了解如何自定义信息中心,请参阅 Cloud Monitoring 文档中的以下页面:

应用信息中心过滤条件

GCE MIG 实例分布监控信息中心包含内置过滤条件变量,可让您深入了解 MIG 的特定子集:

  • 区域 (region):过滤图表以显示一个或多个特定Google Cloud 区域中的实例。

  • 可用区 (zone):过滤图表以观察可用区分布,并验证实例是否在特定可用区之间均匀平衡或转移容量。

  • 实例组 (instance_group):当您的项目包含多个 MIG 时,过滤图表以隔离单个 MIG。

如需在 Google Cloud 控制台中应用过滤条件,请在复制的信息中心内点击过滤条件,选择过滤条件属性(例如 region、zone 或 instance_group),然后选择所需的值。

如需详细了解如何使用过滤条件,请参阅 Cloud Monitoring 文档中的向自定义信息中心添加临时过滤条件。

配置事件注释

在分析不同可用区和机器类型的实例分布变化时,为生命周期事件或部署配置注释有助于您将容量变化与特定运营活动相关联。例如,您可以向图表时间轴添加注释,以突出显示事件,例如:

  • MIG 配置更新,例如修改目标分布形状、instanceSelections 或 rank 顺序。

  • 在组内启动的滚动更新或实例修复。

  • 模拟或真实的可用区级服务中断事件。

  • 自动扩缩决策。

如需详细了解可用的事件类型以及如何添加注解,请参阅 Cloud Monitoring 文档中的以下页面:

解读信息中心

查看 MIG 实例分布信息中心时,请参考以下指南来解答常见的可观测性问题,并解读动态位置和机器类型行为。

为什么我的实例在特定可用区中运行或在可用区之间转移?

如果按可用区划分的实例分布图表显示区域级 MIG 中各可用区的分布不均匀,或各位置的容量突然发生变化,请检查以下位置灵活性因素:

  • 目标分布形状:验证您配置的目标分布形状。如果您的 MIG 配置了 ANY 或 ANY_SINGLE_ZONE,则 MIG 会优先选择容量或未使用预留最容易获得的可用区,而不是均匀地平衡实例。如果您的 MIG 使用 BALANCED,则该组会尝试在各个可用区之间保持实例数量平衡,但如果特定可用区出现临时容量短缺,则可能会暂时将实例放置在备用可用区中。

  • 区域级容量重新分配:在临时容量短缺期间,由于局部可用区级服务中断等事件,为实现高可用性而配置的区域级 MIG 会自动在区域内的备用可用区中查找并分配替换实例。信息中心会反映这种位置灵活性,即受影响可用区的实例数量下降,而备用可用区的实例数量相应上升。

为什么我的 MIG 在后备机器类型上运行?

如果您的 MIG 使用实例灵活性,并且按机器类型划分的实例分布图表显示您的实例组正在偏好较低(排名值较高)的机器类型(而非您的主要选择)上积极创建和运行实例,请考虑以下潜在原因:

  • 临时资源限制:如果主要机器类型需求量很大或存在临时资源限制,MIG 会自动回退到次要选择,以确保获得目标容量。即使偏好的机器类型再次可用,MIG 也会继续使用后备机器类型,而不会主动切换回偏好的机器类型。

  • 配额限制:验证您的 Google Cloud 项目在所选区域中是否有足够的 vCPU 和资源配额,可用于您首选的机器系列。如果主要机器类型的配额已用尽,MIG 会从可用的次要选择中进行预配。

如需了解详情,请参阅 MIG 如何选择机器类型。

使用 PromQL 以编程方式查询

如需监控 MIG 中的实例分布情况,您还可以使用适用于 Cloud Monitoring 的 PromQL 以编程方式查询底层指标。通过以编程方式进行查询,您可以将实例分布数据集成到自定义可观测性信息中心或外部监控工具(例如 Grafana)中。您可以使用 PromQL 按可用区或按机器类型查询实例。

按照以下部分中的说明,在代码编辑器中运行 PromQL 查询。

访问代码编辑器

您可以通过 Google Cloud 控制台的以下页面访问 PromQL:

  • Metrics Explorer
  • 创建信息中心时添加 widget

如需在使用 Metrics Explorer 时打开代码编辑器,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Metrics Explorer 页面:

    进入 Metrics Explorer

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在查询构建器窗格的工具栏中,选择  PromQL 按钮。

  3. 在文本字段中输入您的查询,然后点击运行查询。以下部分提供了示例查询。

如需详细了解代码编辑器,请参阅 Cloud Monitoring 文档中的使用 PromQL 代码编辑器。

按可用区查询活跃实例

如需按可用区查询活跃实例,请在代码编辑器中运行以下查询:

count by (zone) (compute_googleapis_com:instance_cpu_utilization{metadata_system_instance_group="YOUR_MIG_NAME"})

将 YOUR_MIG_NAME 替换为 MIG 的名称。

按机器类型查询活跃实例

如需按机器类型查询活跃实例,请在代码编辑器中运行以下查询:

count by (metadata_system_machine_type) (compute_googleapis_com:instance_cpu_utilization{metadata_system_instance_group="YOUR_MIG_NAME"})

将 YOUR_MIG_NAME 替换为 MIG 的名称。

后续步骤