请更正Grafa的通量查询,以计算和显示两列AAA+ bbb的结果

发布于 2025-01-24 19:35:25 字数 895 浏览 3 评论 0原文

//我正在使用序列在fluxdb中插入fluxdb:

'sever1,submeas=XXX AAA=899265',
'sever1,submeas=XXX BBB=2281289',
'sever2,submeas=XXX BBB=2672',
'sever2,submeas=XXX AAA=0',
'sever3,submeas=XXX AAA=947439',
'sever3,submeas=XXX BBB=897226'
    

// flux查询

from(bucket: "llc")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "server1" or r["_measurement"] == "server2" or r["_measurement"] == "server3")
    |> filter(fn: (r) => r["_field"] == "AAA" or r["_field"] == "BBB")
    |> filter(fn: (r) => r["submeas"] == "XXX")
    |> aggregateWindow(every: v.windowPeriod, fn: mean,   createEmpty: false)
    |> yield(name: "mean")
    

//我应该为AAA+BBB做什么?我尝试过添加了最后一个条件,但没有帮助。

        |> map(fn: (r) => ({r with _value: r.AAA + r.BBB}))

// I'm using sequences for insreting in FluxDB:

'sever1,submeas=XXX AAA=899265',
'sever1,submeas=XXX BBB=2281289',
'sever2,submeas=XXX BBB=2672',
'sever2,submeas=XXX AAA=0',
'sever3,submeas=XXX AAA=947439',
'sever3,submeas=XXX BBB=897226'
    

// Flux query

from(bucket: "llc")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "server1" or r["_measurement"] == "server2" or r["_measurement"] == "server3")
    |> filter(fn: (r) => r["_field"] == "AAA" or r["_field"] == "BBB")
    |> filter(fn: (r) => r["submeas"] == "XXX")
    |> aggregateWindow(every: v.windowPeriod, fn: mean,   createEmpty: false)
    |> yield(name: "mean")
    

// What should I do for AAA+BBB? I've tried just added this last condition, but It's not helped.

        |> map(fn: (r) => ({r with _value: r.AAA + r.BBB}))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挖个坑埋了你 2025-01-31 19:35:26

我在文档中找到了解决方案的 https://docs.influxdata.com/

from(bucket: "llc")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "server1" or r["_measurement"] == "server2" or r["_measurement"] == "server3")
  |> filter(fn: (r) => r["_field"] == "AAA" or r["_field"] == "BBB")
  |> filter(fn: (r) => r["submeas"] == "XXX")
  |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> map(fn: (r) => ({r with _value: (r.AAA + r.BBB)}))

I've found solution in docs for https://docs.influxdata.com/

from(bucket: "llc")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "server1" or r["_measurement"] == "server2" or r["_measurement"] == "server3")
  |> filter(fn: (r) => r["_field"] == "AAA" or r["_field"] == "BBB")
  |> filter(fn: (r) => r["submeas"] == "XXX")
  |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> map(fn: (r) => ({r with _value: (r.AAA + r.BBB)}))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文