如何在 Grafana 7.4 中定义标签/值查询?

Posted

技术标签:

【中文标题】如何在 Grafana 7.4 中定义标签/值查询?【英文标题】:How to define a tags / value query in Grafana 7.4? 【发布时间】:2021-04-02 07:08:45 【问题描述】:

我在理解 the concept of Value groups/tags in Grafana 7.4.x 和 mysql 作为数据源时遇到了一些麻烦。

我的主要查询获取国家/地区

SELECT 
    NAME as __text, 
    id AS __value 
from 
    countries

标签查询获取大陆

SELECT 
    NAME as __text, 
    id AS __value 
from 
    continents

到目前为止有效,标签显示在列表中,但是一旦我点击它们就什么也没有发生。

我的标签查询:

continents.$tag.*

标签查询似乎是问题所在。非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

涉及 3 个查询:

第一个在“查询选项”->“查询”下:这个应该列出所有(在您的情况下为所有国家/地区)。

第二个查询是“值组/标签”下的“标签查询”:此查询应列出您想要的所有标签(大洲)。

第三个查询是“标签值查询”:这是魔术发生的地方,这个查询应该返回与所选标签匹配的所有不同值,因此,您必须在 Grafana 将用来创建的某处添加 WHERE 子句获取正确值的查询...WHERE continent = '$tag'

注意官方文档提供了 InfluxDB 数据源的示例,由于你使用的是 MySQL,所以必须到处使用 SQL 查询,所以continents.$tag.* 无效。

【讨论】:

好的,我现在明白 MySQL 需要一个额外的 WHERE stmt。但是我不知道如何处理“NAME as __text,id AS __value”。当我只使用 id 作为标签时,标签旁边的复选框变为可选状态,但选择它们对国家列表没有影响。您的 $tag 周围有一个 ''。为什么?这不适用于整数吗?

以上是关于如何在 Grafana 7.4 中定义标签/值查询?的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 查询以获取唯一的标签值

如何在 Grafana 仪表板中将显示名称设置为自定义变量?

如何在 Grafana 查询字符串中使用请求参数值

grafana 使用基于指标的普罗米修斯查询定义变量

Grafana - 在查询中使用自定义变量作为正则表达式

Grafana 配置变量