欢迎光临
我们一直在努力

Grafana 基于 Elasticsearch 数据源计算周环比差值

想在 Grafana 里做一个柱状图,展示当前值与七天前同一指标的差值。用 Elasticsearch 数据源,两条查询分别取当前区间和上周区间,再做差值。

问题现象

第一个思路是用 Lucene 查询把时间范围整体往前挪 7 天:

_index:myindex AND metric_name: XXX AND @timestamp:[${__from}-7d TO ${__to}-7d]

这条查询一条数据都查不出来,而 @timestamp:[now-1d TO now] 这种写法却是正常的。

第二个问题出在转换:两条查询配好之后用 Add field from calculation 做差值,结果也是空的。用 @timestamp:[now-1h TO now] 与 @timestamp:[now-2h TO now-1h] 做测试同样不行——两个时间窗口完全不重叠,转换没有可对齐的行。

原因分析

Grafana 的 ${__from} 与 ${__to} 在 Lucene 查询字符串里会被替换成时间字面量,替换之后 Elasticsearch 的 range 语法解析到的是 [<from>-7d TO <to>-7d]。这种\”字面量再减偏移\”的写法并不是合法的时间数学表达式:Elasticsearch 只在 now

赞(0)
未经允许不得转载:171主机测评 » Grafana 基于 Elasticsearch 数据源计算周环比差值
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址