在 Google Cloud 之外运行
如果您的集群未在 Google Cloud 中运行,您必须手动配置 project_id
和 location
标签的值。我们建议您执行以下操作:
根据此集群如何适应多租户监控模型设置
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。