如何将不同命名空间团队的 Grafana 仪表板限制为他们自己的命名空间指标?

问题描述

Grafana v6.3.5、Prometheus 2.15.0、Kubernetes 1.16.10

在 Kubernetes 集群中,命名空间“teamA”和“teamB”(和“admin”) 每个命名空间的用户只能访问自己命名空间内的资源,他们对外部的任何事情一无所知。

Prometheus 实例在单独的“admin”命名空间中运行,抓取集群中的所有内容,以及一个具有管理员访问权限的 Grafana 实例,该实例具有显示所有命名空间指标的仪表板。

我想为两个团队提供他们自己的“本地”Grafana,这样他们就可以自定义自己的仪表板、警报等。他们每个人都有自己的 Grafana pod 在他们的命名空间中运行,并使用数据源“admin”Prometheus。 然而,由于两者都使用“admin”prometheus 数据源,因此在指标数据访问方面没有限制,并且两个团队都可以查询其他团队的指标(以及因此 pod、容器名称、计数、历史记录等),例如在仪表板 JSON 更改“regex ": "teamA" 到 "teamB"

如何设置让每个团队的本地 grafana 只能看到他们自己命名空间的指标数据?

是否需要创建单独的 prometheus 来抓取每个命名空间?并从这里获取每个团队的 Grafana 源数据? (还要锁定管理员 prometheus 访问权限?) 使用单个 grafana,但为每个团队提供不同的(非管理员登录信息,不同的角色仅限于不同的指标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...