多租户监控和查询

本文档介绍了如何为不同的团队授予对不同项目集的访问权限。您可以将指标范围与多个 Grafana 实例和多个数据源同步器结合使用,以建立此类多租户监控。

无论指标范围内有多少个项目或者您使用了多少个 Google Cloud 区域,您只需要为每个指标范围设置一个 Grafana 实例和一个数据源同步器:

  • 除非包含 project_id 过滤条件,否则对 Monarch 的查询会自动扩展到指标范围内的所有项目。

  • 除非包含 location 过滤条件,否则查询会在所有 Google Marketing Platform 区域中执行。

您无需更改注入端的任何内容即可实现多租户监控。

下图展示了多租户监控的配置:

您可以为 Prometheus 设置代管式服务,并混合使用代管式集合和自部署集合。

如需设置和使用图中所示的配置,请按如下所示设置指标范围、Grafana 实例和数据源同步器:

  • 您希望开发团队 A 能够读取和访问项目 1 和项目 2。如需设置此访问权限,请执行以下操作:

    • 将项目 1 和项目 2 放入 scoping_project_A 的指标范围内。

    • 将数据源同步器放在项目 1 中,并将其配置为使用 scoping_project_A。向同步器的服务账号授予 scoping_project_A 的 Monitoring Viewer 权限。

    当用户从与此数据源同步器关联的 Grafana 实例发出查询时,Monarch 会将 scoping_project_A 扩展到其组成部分的受监控项目,并返回所有 Google Cloud 区域中项目 1 和项目 2 的结果。由于 Grafana 实例和数据源同步器位于项目 1 内,因此只有有权访问项目 1 的用户才能查询 scoping_project_A。

  • 您希望开发团队 B 能够读取和访问项目 3 和 4。如需设置此访问权限,请执行以下操作:

    • 将项目 3 和项目 4 放入 scoping_project_B 的指标范围内。

    • 将数据源同步器放在项目 3 中,并将其配置为使用 scoping_project_B。向同步器的服务账号授予 scoping_project_B 的 Monitoring Viewer 权限。

    当用户从与此数据源同步器关联的 Grafana 实例发出查询时,Monarch 会将 scoping_project_B 扩展到其组成部分的受监控项目,并返回所有 Google Cloud 区域中项目 3 和项目 4 的结果。由于 Grafana 实例和数据源同步器位于项目 3 内,因此只有有权访问项目 3 的用户才能查询 scoping_project_B。

  • 您希望 SRE 团队能够读取和访问项目 1、2、3、4 和 5。如需设置此访问权限,请执行以下操作:

    • 将所有项目放入 scoping_project_C 的指标范围内。

    • 将数据源同步器放在项目 5 中,并将其配置为使用 scoping_project_C。向同步器的服务账号授予 scoping_project_C 的 Monitoring Viewer 权限。

    当用户从与此数据源同步器关联的 Grafana 实例发出查询时,Monarch 会将 scoping_project_C 扩展到其组成部分的受监控项目,并返回所有 Google Cloud 区域中项目 1、2、3、4 和 5 的结果。由于 Grafana 实例和数据源同步器位于项目 5 内,因此只有有权访问项目 5 的用户才能查询 scoping_project_C。