grafana - Grafana 模板变量查询在不同版本中给出不同的结果(Grafana 5.0 与 Grafana 7.0)
问题描述
我正在使用模板变量查询在 Grafana 中分配一个变量。
SELECT * FROM jmeter WHERE application =~ /$tag_left/ ORDER BY time asc LIMIT 1
此查询的结果 JSON 是
{"results":[{"series":[{"name":"jmeter","columns":[" time ","application","avg","count","countError","endT", "命中","max","maxAT","meanAT","min","minAT","pct90.0","pct95.0","pct99.0","rb","responseCode", "responseMessage","sb","startedT","statut","transaction"],"values":[[ 1595241959625 ,"demo_scenario.jmx @ 1 @ Mon Jul 20 16:15:58 IST 2020",null, null,null,0,null,null,0,0,null,0,null,null,null,null,null,null,null,0,null,"内部"]]}]}]}
我需要从这个查询中获得时间。哪个是5.0版的 grafana,但不是7.0版。
有什么方法可以让我time
从查询结果中选择相应的列并将其分配给变量?像${var:index}
为了更清楚地说明这一点,我附上了屏幕截图。
如您所见,一个显示timestamp
为变量值(例如 1595228080029),另一个显示application
值(例如 demo_scenario.jmx @ 1 @ Mon Jul 20 16:15:58 IST 2020 )在值预览部分下询问
下划线数据源是InfluxDB。在这两种情况下,api 查询都有相同的响应。
解决方案
使用的变量查询返回时间序列和多个“列”(因为SELECT *
) - 这是错误的。Doc https://grafana.com/docs/grafana/latest/datasources/influxdb/#templating包含正确的模板查询应该是什么样子,例如
SHOW TAG VALUES WITH KEY = "hostname"
它不返回时间序列,并且只返回一个“列”(在这种特殊情况下为主机名)。InfluxQL 不允许您仅选择时间列,因此无法根据需要在 Grafana 中实现它。
推荐阅读
- shiny - Flexdashboard 在 uiOutput 之后不呈现输入
- python - 邀请用户组到一个松弛的公共频道
- python - How do you convert Euler angles to the Axis Angle representation in Python?
- c# - 如何查找数字是否以 5 结尾?
- javascript - 如何在可重用的 React 组件库中捆绑 prop 类型
- c# - Azure Media Services Sound
- reference - UE4:我如何检测蓝图中的演员参考是否已被破坏?
- css - React CSS Modules:有什么理由不将所有 CSS 提取到静态文件中?
- cytoscape.js - 如何使用 cytoscape 在一个节点(不是渐变)上绘制多种颜色?谢谢
- r - 在 tmap 中指定大小图例的填充颜色