Grafana 仅使用一个特定变量授予对仪表板的访问权限

Grafana 仅使用一个特定变量授予对仪表板的访问权限,grafana,grafana-variable,Grafana,Grafana Variable,我得到了一个仪表板,其中包含一些变量(在本例中:category和url): 现在,我想允许用户查看特定URL的度量。此时,字段group显示所有URL,用户可以看到所有URL的列表,无论他是否应该看到它(当然,这是因为查询SHOW标记值,KEY=\'group\'其中\'category\'=~/$category/返回所有条目) 所以我想得到一些最佳实践来解决这个问题。不幸的是,这些文档并没有帮到我:(Grafana不提供这种功能。 我们实现这种情况的方法是在某些数据源(例如SQL)中为每个

我得到了一个仪表板,其中包含一些变量(在本例中:category和url):

现在,我想允许用户查看特定URL的度量。此时,字段
group
显示所有URL,用户可以看到所有URL的列表,无论他是否应该看到它(当然,这是因为查询
SHOW标记值,KEY=\'group\'其中\'category\'=~/$category/
返回所有条目)


所以我想得到一些最佳实践来解决这个问题。不幸的是,这些文档并没有帮到我:(

Grafana不提供这种功能。 我们实现这种情况的方法是在某些数据源(例如SQL)中为每个实体配置用户访问权限,然后查询它以显示用户特定的类别/url/等

此配置可以基于用户的电子邮件/登录名/id进行,您只能在Grafana v7.1+中将其作为变量“抓取”:

  • ${uuuu user.id}是当前用户的id
  • ${uuuu user.login}是当前用户的登录句柄
  • ${uuuu user.email}是当前用户的电子邮件
参考:

{
  "templating": {
    "list": [
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "default",
          "value": "default"
        },
        "datasource": "Influx-SP",
        "definition": "",
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": null,
        "multi": false,
        "name": "category",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"category\"",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "datasource": "Influx-SP",
        "definition": "",
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "group",
        "multi": false,
        "name": "group",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"group\" WHERE \"category\" =~ /$category/",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "_",
          "value": "_"
        },
        "datasource": "Influx-SP",
        "definition": "",
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": null,
        "multi": false,
        "name": "page",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"page\" WHERE \"group\" =~ /$group/ AND \"category\" =~ /$category/",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "chrome",
          "value": "chrome"
        },
        "datasource": "Influx-SP",
        "definition": "",
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": null,
        "multi": false,
        "name": "browser",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"browser\" WHERE \"group\" =~ /$group/ AND \"page\"  =~ /$page/ AND \"category\" =~ /$category/",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "native",
          "value": "native"
        },
        "datasource": "Influx-SP",
        "definition": "",
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": null,
        "multi": false,
        "name": "connectivity",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"connectivity\" WHERE \"group\" =~ /$group/ AND \"page\"  =~ /$page/ AND \"browser\" =~ /$browser/ AND \"category\" =~ /$category/",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      }
    ]
  }
}