有啥方法可以在 grafana 上将键/值对作为模板变量?
Posted
技术标签:
【中文标题】有啥方法可以在 grafana 上将键/值对作为模板变量?【英文标题】:Any way to have key/value pairs as template variables on grafana?有什么方法可以在 grafana 上将键/值对作为模板变量? 【发布时间】:2017-11-03 00:57:48 【问题描述】:我正在使用 grafana 构建几个仪表板,我发现模板功能非常有用,但是我正在监视一些 ec2 实例并从 cloudwatch 的 ec2 命名空间获取一些指标,但是这些使用 instanceid 作为参数,因为 instanceid 是不是真正的人类可读,这让我想到了我的问题:
有没有办法将键/值对作为仪表板的模板变量?这样人们就会看到主机名,选择它,然后将正确的 instanceid 提供给面板,
提前致谢
【问题讨论】:
【参考方案1】:自 v4.0 of Grafana 以来,Grafana 具有临时过滤器变量,但不幸的是 Cloudwatch 数据源尚不支持它们。 (InfluxDB、Elasticsearch 和 Prometheus 都有支持)。
但是,您可以链接模板变量,以便将父模板变量传递给子模板变量。这里是that的demo(使用Graphite但原理相同)。
Grafana.com 上的 Cloudwatch 仪表板也使用此功能:
https://grafana.com/dashboards/590
这是一个子模板变量(如下)。其他模板变量值被传递到维度值的查询中 - dimension_values($region, $namespace, $metric, $dimension)
【讨论】:
【参考方案2】:如果您使用 PostgreSQL 作为数据源(可能同样适用于其他数据源),您可以查询:
SELECT hostname AS __text, id AS __value FROM host
它会自己做所有的事情
取自official docs
【讨论】:
以上是关于有啥方法可以在 grafana 上将键/值对作为模板变量?的主要内容,如果未能解决你的问题,请参考以下文章