grafana - InfluxDB2/格拉法纳 : how can we filter a list of tag values with flux

标签 grafana influxdb influxdb-2 flux-influxdb

InfluxDB2 通量语言使用 schema.measurementTagValues 函数提供了一种获取特定存储桶/测量组合的所有标签值的便捷方法。 问题是文档没有提到如何过滤此列表以仅保留符合特定条件的标签值。

示例:
通过以下查询,我可以获得所有交易标签值:

import "influxdata/influxdb/schema"

schema.measurementTagValues(
    bucket: "jmeter",
    measurement: "jmeter",
    tag: "transaction",
)

架构包含另一个名为“application”的标签。我想获取特定应用程序的所有交易,而不是所有交易。
我们如何使用助焊剂实现这一目标?
InfluxQL 中的相同请求将非常简单:
使用 KEY = "transaction"WHERE "application"= $application 从 "jmeter"显示标签值

目标是创建像这样的 Grafana 动态下拉列表: enter image description here

最佳答案

如果您使用 schema.tagValues() 而不是 schema.measurementTagValues(),您可以定义一个谓词函数来过滤您的结果。在你的例子中:

import "influxdata/influxdb/schema"

schema.tagValues(
    bucket: "jmeter",
    tag: "transaction",
    predicate: (r) => r._measurement == "jmeter" and r.application == ${application:doublequote},
    start: -3000d
)

如您所见,您需要为此函数定义一个时间范围。如果合适,您可以在此处使用 grafana 仪表板的时间范围变量(v.timeRangeStartv.timeRangeStop)。

关于grafana - InfluxDB2/格拉法纳 : how can we filter a list of tag values with flux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72684205/

相关文章:

mysql - Grafana 变量 MySQL

elasticsearch - Grafana在Ansible上提供Elasticsearch数据存储

influxdb - InfluxDB 可以插入多维哈希值吗?

grafana 从 http 切换到 https

InfluxDB 随时间变化的不同计数的平均值

go - 有没有可以解析 InfluxDB 的线路协议(protocol)的 Go 库?

influxdb - 如何在 Flux 查询的正则表达式条件内转义正斜杠 '/'

docker - 使用入口点脚本初始化 influxdb2 桶

java - 对 InfluxDB 使用参数化查询时未定义的标识符参数

grafana - 按度量值对重复面板进行排序