如何在 Grafana 中正确转换和显示来自 Influxdb 的严格递增值?

How can I correctly transform and display strictly increasing values from Influxdb in Grafana?

我在 Influxdb 中有一些时间序列是从 Linux /proc 文件系统 每 10 秒 收集的 - 例如 I/O 操作一个硬盘。

这些值根据定义严格递增,我想将它们转换为 I/O 操作 每秒 (iops) 并在 Grafana 中显示它们。

这是我迄今为止最接近的一次:

SELECT difference(last("value")) / 10 FROM "disk_write" [WHERE <stuff>] GROUP BY time(10s)

我找不到在 Grafana 中使用按时间间隔的变量组定义此查询的方法。

问题是,我无法将 SELECT 块中的 / 10 替换为 / $interval(其中包含 10s),这使得此查询非常慢如果我显示大量时间 window.

如何正确定义它?

您需要使用 DERIVATIVE()

像这样:

SELECT DERIVATIVE("value") FROM "disk_write" [WHERE <stuff>] GROUP BY time(10s)