异常配置

在 Google Cloud 之外运行

如果您的集群未在 Google Cloud 中运行,您必须手动配置 project_idlocation 标签的值。我们建议您执行以下操作:

  • 根据此集群如何适应多租户监控模型设置 project_id。您的服务账号必须配置有所选 project_id 的正确权限。

  • 根据最靠近您的部署的 Google Cloud 区域设置 location

您无法使用重新添加标签规则重写这些标签。

您的组织中的项目数超过 1,000 个

指标范围内支持的项目数上限为 375,但指标范围内不受支持的项目数上限为 1,000。

如果您拥有的项目数量超过 1,000 个,建议的解决方法是将收集器配置为使用中央 project_id,而不是运行它们的项目的 ID。然后,所有项目的指标都存储在 Monarch 的该中央项目 ID 下,您只需将中央项目放入指标范围内。

如果使用此方法,请注意以下潜在缺点:

  • 执行此操作会丢失一些多租户粒度,因为权限只能在项目级设置。您可能希望将项目在逻辑上划分为几个类别,并为每个类别使用不同的中央项目。
  • 您无法替换 Google Cloud 系统指标的 project_id 值。此解决方法不会让您在中央项目中看到免费的 Google Kubernetes Engine 指标,因为这些指标保留在每个原始项目中。
  • 使用中央项目可能会使 Rules 和 ClusterRules 的用法复杂化,因为这些规则的范围仅限于安装它们的项目,并且您不太可能在每个项目中拥有相同的集群和命名空间名称集。您可能必须改用 GlobalRules。

手动定位单个 Google Cloud 区域中的数据

默认情况下,Managed Service for Prometheus 将数据存储在生成数据的 Google Cloud 区域中,并且查询自然是全球性的,这意味着您无需在地理位置上共置数据即可查询跨多个 Google Cloud 区域的数据。

在大多数情况下,此默认行为就足够了。但在某些情况下,您可能希望将所有指标数据存储在单个 Google Cloud 区域中,例如,您在严格监管的环境中。

如需将所有指标数据存储在单个区域中,请将收集器配置为使用单个 location,而不是正在运行它们的集群的自动检测位置。

将数据存储在单个 Google Cloud 区域中可能会使 Rules 和 ClusterRules 的用法复杂化,因为这些规则的范围仅限于安装位置,并且您不太可能在每个 Google Cloud 区域中拥有相同的集群和命名空间名称集。您可能必须改用 GlobalRules。