有啥方法可以在 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 上将键/值对作为模板变量?的主要内容,如果未能解决你的问题,请参考以下文章

Django - 有啥方法可以立即获取外键对象?

正确使用伏地魔作为键值对?

有啥方法可以获取由于执行单个语句而失败的特定外键约束?

使用列表中的每个值作为键值对中的键

数据字典Dictionary存放键值对

有啥方法可以在规范模式下处理转义键?