我可以在 Grafana Graph Metrics 中使用数学方程式吗?

Can I use maths equations in Grafana Graph Metrics?

我的情况:-

我正在使用臂上的浮子测量雨水箱中的水位,浮子连接到可变电位器,由 Arduino 监控。 随着水箱下降,电压读数以正弦曲线方式下降(范围为 pi/2 弧度,即 90 度)。

目前我正在通过 Grafana 远程读取 InfluxDB 的值,它只是显示电压水平。由于水平下降时角度发生变化,因此随着水平下降,此读数将变得越来越不准确。

为了解决这个问题,我想在 Grafana/Graph/Metrics 部分添加一个 sin(theta) 方程。但我不知道是否可以这样做。 从我发现的情况来看,这似乎超出了 Grafana 的范围,但我已经祈祷了,因为唯一的其他选择是尝试将一些东西添加到 InfuxDB 中(超出我的知识范围)或添加代码直接安装到 Arduino 上,顺便说一下,它全部安装并连接在我的雨水箱内,这是我不想做的事情。

如果有人可以让我知道是否可以(或不能)通过 Grafana 来完成,我们将不胜感激。

谢谢。

问:我可以在 Grafana Graph Metrics 中使用数学方程式吗?

A: 简答 。 Grafana 是一种数据可视化工具,用于理解数据集。

Graph 这样的 timeseries 面板的工作是接收一组格式如下的时间序列数据集,并相应地绘制数据点。

示例数据集:

[
  {
    "target":"upper_75", // The field being queried for
    "datapoints":[
      [622,1450754160000],  // Metric value as a float , unixtimestamp in milliseconds
      [365,1450754220000]
    ]
  },
  {
    "target":"upper_90",
    "datapoints":[
      [861,1450754160000],
      [767,1450754220000]
    ]
  }
]

InfluxDb 确实支持 Sin 数学运算,但我不确定这对您是否足够。我在高中时数学不及格,所以我不确定 sin(theta) == sin() 与否。

如果influxdb 数据源UI 还不支持SIN 操作,您实际上可以切换"advance query edition" 模式来手动构建它。请参阅下面的 img。

此外,您还可以了解更多有关 influx 数学语法的信息 here

参考文献:

https://github.com/grafana/simple-json-datasource

https://play.grafana.org/d/Zzlfq17mk/influx-table-merge?panelId=2&fullscreen&edit&orgId=1

https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#sin