gpt4 book ai didi

InfluxDB 和 Grafana 图表在 Y 轴导数上使用午夜为 0

转载 作者:行者123 更新时间:2023-12-02 19:16:53 24 4
gpt4 key购买 nike

我正在使用 Grafana (2.6.0) 进行绘图,并且我有一个 InfluxDB (0.10.2) 数据库,其中包含以下数据:

> select * from "WattmeterMainskwh" where time > now() - 5m
name: WattmeterMainskwh
-----------------------
time value
1457579891000000000 15529.322
1457579956000000000 15529.411
1457580011000000000 15529.425
1457580072000000000 15529.460
1457580135000000000 15529.476
...etc...

此数据收集我的家庭用电量,通过千瓦表测量,该电量表在数月或数年内稳步增加使用值。我无法轻易重置计数器,我也不希望这样做。

我的目标是创建一个图表,显示从午夜开始的 24 小时内我每天的千瓦时使用情况,或者至少显示所显示时间间隔内的相对千瓦时。这种类型的图表很有用在许多其他情况下,我可以想象“全天错误”或“自开放时间以来的访客”或“每个日历周的 BGP 重置”很有用,但在重置或周转时收集计数器不会重置为零时间间隔。根据我的经验,这种计数实际上很常见。

该图有效,但没有显示我正在寻找的内容:

SELECT derivative(mean("value")) FROM "WattmeterMainskwh" WHERE $timeFilter GROUP BY time($interval) fill(null)

该图仅显示一个样本与前一个样本之间的差异。我想要的是一条从图的左侧开始并向图的右侧逐渐增加的稳定增加的线,以零作为 Y 轴的底部,并且图从最左​​边的 X 值处的零开始。

该图也有效,并向我显示了正确的曲线,但它偏离了大约一万五千。到目前为止,它是最接近我想要的,但由于这是一个不断增加的计数器,无法重置,我需要从 Y 轴减去一些。理想情况下,我想从每个样本中减去前一天午夜的值,以获得基于一天的相对数字,而不是基于所有时间的绝对数字。

SELECT sum("value") FROM "WattmeterMainskwh" WHERE $timeFilter GROUP BY time($interval) fill(null)

这是之前声明的图表:

Graph that is off by 15k

这次尝试没有成功 - 我显然无法求导数组的总和:

SELECT sum(derivative(mean("value"))) FROM "WattmeterMainskwh" WHERE $timeFilter GROUP BY time($interval) fill(null)

这也不起作用 - 我无法在“derivative”中执行函数:

SELECT derivative(sum("value")-first("value")) FROM "WattmeterMainskwh" WHERE $timeFilter GROUP BY time($interval) fill(null)

当然,我可以创建一个新值,在将其写入 InfluxDB 之前对其进行计算,但在我看来,这似乎是解决此问题的一种数据冗余且草率的方法,而且相当糟糕如果我想随心所欲地看看其他间隔,那就太不灵活了。我希望有某种方法可以在 InfluxDB 和 Grafana 的组合中更优雅地做到这一点,但我只是无法用我使用过的搜索词或我解释的想法找到它文档。

这种类型的图表是否可以使用 InfluxDB/Grafana 实现?据我所知,连续查询不是一个解决方案,并且缺乏嵌套 SELECT,甚至使执行此操作的黑客方法对我来说都不明显。

奖励:如果图表能够将每晚午夜显示为“零”位置,而不是“零”作为显示间隔中的第一个点,那么查看五天的正常数据将显示五个每日总能源使用量增加的明显“波浪”,波浪 Y 值在每天 12:00:01 回落至零。但我会尽我所能。

最佳答案

嵌套函数仅部分支持。但是,您可以通过链接 Continuous Queries 来有效地嵌套函数。 .

使用 CQ 计算导数(mean(value))并将其存储在新的测量foo中。然后,对于您的图表,您可以查询select sum(value) from foo

关于InfluxDB 和 Grafana 图表在 Y 轴导数上使用午夜为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35907868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com