监控 MIG 中的实例分布

本文档介绍了在代管式实例组 (MIG) 中监控虚拟机 (VM) 实例分布的优势、使用情形和程序。这些程序包括如何在 Cloud Monitoring 中查看、自定义和查询 GCE MIG 实例分布监控信息中心。

当 MIG 使用位置灵活性在多个可用区中分布实例、使用实例灵活性指定多个兼容的机器类型,或同时使用这两种灵活性时,MIG 会根据实时资源可用性动态选择和预配实例。如需在运行时观察所有 MIG 的这种动态行为,您可以使用 GCE MIG 实例分布监控信息中心。此预配置的信息中心可实时显示实例在不同可用区和机器类型之间的分布情况随时间的变化。该信息中心还会显示指定时间段内正在运行(活跃)和未运行(不活跃)的实例以及实例总数。例如,您可以解读信息中心指标,以诊断容量分配、可用区平衡和回退行为。

监控 MIG 中实例分布的优势

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

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

  • 提高可获取性并缓解容量限制:验证您的 MIG 在向外伸缩时是否成功获取资源。在回退排名中创建实例表明,您的实例灵活性政策可有效缓解临时容量限制。但是,如果您的群组始终无法达到目标大小,即使有这些后备方案也无济于事,那么请考虑扩大允许的机器类型或添加更多可用区,以帮助降低未来出现资源可用性错误的概率。

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

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

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

监控 MIG 实例分布

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

  • 使用 Cloud Monitoring 信息中心查看实例分布的可视化表示形式。如需了解详情,请参阅本文档中的监控信息中心简介

  • 使用 PromQL 作为基于代码的替代方案,以通过编程方式查询底层指标,从而将实例分布数据集成到自定义的可观测性信息中心或外部监控工具(例如 Grafana)中。如需了解详情,请参阅本文档中的使用 PromQL 以编程方式进行查询

监控信息中心简介

Cloud Monitoring 在 Google 服务类别下提供预配置的信息中心。对于 MIG,GCE MIG 实例分布监控信息中心提供以下四种专用图表:

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

  • 按机器类型划分的实例分布情况:一个图表,显示按机器类型分组的实例数量,用于直观呈现您的实例组如何在不同机器类型和大小之间分配容量。

  • 活跃实例与非活跃实例:一个图表,显示按实例是否处于活跃状态分组的实例数量。有效实例是指完全正常运行的实例 (RUNNING)。无效实例是指未运行但未被删除的实例;这包括正在创建 (PROVISIONINGSTAGING)、已暂停 (SUSPENDED) 或已关机 (STOPPEDTERMINATED) 的实例。

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

默认情况下,信息中心会汇总您项目中所有 MIG 的数据。如需查看单个 MIG,您可以按 MIG (instance_group) 进行过滤。如果您的项目在多个位置包含名称相同的 MIG,请应用区域 (region) 或可用区 (zone) 过滤条件来定位特定 MIG。

GCE MIG 实例分布监控信息中心内的图表依赖于标准的 Compute Engine 系统元数据标签和指标,例如 compute.googleapis.com/instance/cpu/utilizationmetadata.system_labels.machine_type。Cloud Monitoring 会自动为所有 Compute Engine 实例收集这些系统指标和元数据标签。您无需在实例内安装 Ops Agent 或配置自定义客户遥测,即可在此信息中心内查看实例分布、可用区、机器类型或状态图表。

所需的角色

查看和自定义信息中心

您可以从Cloud de Confiance 控制台中查看 GCE MIG 实例分布监控信息中心,然后可以选择复制并自定义该信息中心,以监控特定区域、可用区或 MIG。

  1. 如需查看预配置的 GCE MIG 实例分布监控信息中心,请执行以下操作:

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

      转到“信息中心”

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

    您可以按原样使用该信息中心,也可以复制该信息中心以进一步自定义。

  2. 可选:如需自定义信息中心,您必须先复制该信息中心,然后按如下方式进行修改:

    1. 如需复制,请点击复制信息中心

    2. 修改复制的信息中心,并根据需要修改其名称、图表、应用过滤条件和配置自定义布局结构。

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

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

应用信息中心过滤条件

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

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

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

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

如需在 Cloud de Confiance 控制台中应用过滤条件,请点击复制的仪表盘顶部的过滤条件按钮,选择过滤条件属性(例如 regionzoneinstance_group),然后选择所选值。

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

配置活动注释

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

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

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

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

  • 自动扩缩决策。

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

解读信息中心

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

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

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

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

  • 区域容量重新分配:在因局部可用区级服务中断等事件而导致临时容量短缺期间,配置为高可用性的区域 MIG 会自动在区域内的备用可用区中查找并分配替代实例。信息中心将反映这种位置灵活性,即受影响的可用区中的实例数量会减少,而备用可用区中的实例数量会相应增加。

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

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

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

  • 配额限制:验证您的 Cloud de Confiance by S3NS 项目在所选区域中是否拥有足够的 vCPU 和资源配额,以满足您偏好的机器系列的需求。如果主要机器类型的配额已用尽,MIG 会从可用的次要选择中进行配置。

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

以编程方式使用 PromQL 进行查询

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

在代码编辑器中运行 PromQL 查询,如以下部分所述。

访问代码编辑器

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

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

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

  1. 在 Cloud de Confiance 控制台中,前往 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 名称。

后续步骤