制作每日重置的InfluxDB/Grafana累积函数(锯齿图)

2023-12-03

我将能源使用数据记录为计数器,我希望将其显示为每天重置的累积图表,类似地在这里问.

我可以按如下方式生成累积值:

SELECT mean("value") \
  FROM "energy" \
  WHERE $timeFilter \
  GROUP BY time($__interval)

以及每日价值:

SELECT max("value") \
  FROM "energy" \
  WHERE $timeFilter \
  GROUP BY time(1d)

但我无法减去它或在一个查询中得到它,因为 GROUP BY 时间不同。

(如何)这在 influxdb 中可能吗?我看过 INTEGRATE() 但这还没有找到一种方法来使其工作。

数据如下所示(示例仅限 1 天):

time                 value
----                 ----
2018-12-10T17:00:00Z 7
2018-12-10T18:00:00Z 9
2018-12-10T19:00:00Z 10
2018-12-10T20:00:00Z 11
2018-12-10T21:00:00Z 13
2018-12-10T22:00:00Z 14
2018-12-10T23:00:00Z 15
2018-12-11T00:00:00Z 16
2018-12-11T01:00:00Z 17
2018-12-11T02:00:00Z 20
2018-12-11T03:00:00Z 24
2018-12-11T04:00:00Z 25
2018-12-11T05:00:00Z 26
2018-12-11T06:00:00Z 27
2018-12-11T07:00:00Z 28
2018-12-11T08:00:00Z 29
2018-12-11T09:00:00Z 31
2018-12-11T10:00:00Z 32
2018-12-11T11:00:00Z 33
2018-12-11T12:00:00Z 34
2018-12-11T13:00:00Z 35
2018-12-11T14:00:00Z 36
2018-12-11T15:00:00Z 37
2018-12-11T16:00:00Z 38
2018-12-11T17:00:00Z 39

I can plot the following: Current state

But I want something like: Desired output


I 找到了解决方案,最后很简单:

SELECT kaifa-kaifa_fill as Energy FROM
  (SELECT first(kaifa) as kaifa_fill from energyv2 WHERE $timeFilter group by time(1d) TZ('Europe/Amsterdam')),
  (SELECT first(kaifa) as kaifa from energyv2 WHERE $timeFilter GROUP BY time($__interval))
fill(previous)

请注意,需要 fill(previous) 以确保 kaifa_fill 和 kaifa 重叠。

示例数据:

time                 kaifa     kaifa_fill kaifa_kaifa_fill
----                 -----     ---------- ----------------
2019-08-03T00:00:00Z 179688195 179688195  0
2019-08-03T01:00:00Z 179746833 179688195  58638
2019-08-03T02:00:00Z 179803148 179688195  114953
2019-08-03T03:00:00Z 179859464 179688195  171269
2019-08-03T04:00:00Z 179914038 179688195  225843
2019-08-03T05:00:00Z 179967450 179688195  279255
2019-08-03T06:00:00Z 179905910 179688195  217715
2019-08-03T07:00:00Z 179847272 179688195  159077
2019-08-03T08:00:00Z 179698065 179688195  9870
2019-08-03T09:00:00Z 179378170 179688195  -310025
2019-08-03T10:00:00Z 179341013 179688195  -347182
2019-08-03T11:00:00Z 179126201 179688195  -561994
2019-08-03T12:00:00Z 179039116 179688195  -649079
2019-08-03T13:00:00Z 178935193 179688195  -753002
2019-08-03T14:00:00Z 178687870 179688195  -1000326
2019-08-03T15:00:00Z 178517762 179688195  -1170433
2019-08-03T16:00:00Z 178409776 179688195  -1278420
2019-08-03T17:00:00Z 178376102 179688195  -1312093
2019-08-03T18:00:00Z 178388875 179688195  -1299320
2019-08-03T19:00:00Z 178780181 179688195  -908015
2019-08-03T20:00:00Z 178928226 179688195  -759969
2019-08-03T21:00:00Z 179065241 179688195  -622954
2019-08-03T22:00:00Z 179183098 179688195  -505098
2019-08-03T23:00:00Z 179306179 179688195  -382016
2019-08-04T00:00:00Z 179306179 179370042  -63863
2019-08-04T00:00:00Z 179370042 179370042  0
2019-08-04T01:00:00Z 179417649 179370042  47607
2019-08-04T02:00:00Z 179464094 179370042  94053
2019-08-04T03:00:00Z 179509960 179370042  139918
2019-08-04T04:00:00Z 179591820 179370042  221779
2019-08-04T05:00:00Z 179872817 179370042  502775
2019-08-04T06:00:00Z 180056278 179370042  686236
2019-08-04T07:00:00Z 179929713 179370042  559671
2019-08-04T08:00:00Z 179514604 179370042  144562
2019-08-04T09:00:00Z 179053049 179370042  -316992
2019-08-04T10:00:00Z 178683225 179370042  -686817
2019-08-04T11:00:00Z 178078269 179370042  -1291773
2019-08-04T12:00:00Z 177650387 179370042  -1719654
2019-08-04T13:00:00Z 177281724 179370042  -2088317
2019-08-04T14:00:00Z 177041367 179370042  -2328674
2019-08-04T15:00:00Z 176807397 179370042  -2562645
2019-08-04T16:00:00Z 176737148 179370042  -2632894
2019-08-04T17:00:00Z 176677349 179370042  -2692693
2019-08-04T18:00:00Z 176690702 179370042  -2679340
2019-08-04T19:00:00Z 176734825 179370042  -2635216
2019-08-04T20:00:00Z 176810300 179370042  -2559742
2019-08-04T21:00:00Z 176866035 179370042  -2504007
2019-08-04T22:00:00Z 176914803 179370042  -2455239
2019-08-04T23:00:00Z 176965893 179370042  -2404149
2019-08-05T00:00:00Z 176965893 177016983  -51090
2019-08-05T00:00:00Z 177016983 177016983  0

示例图:

Sawtooth plotting in Grafana and influxdb

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作每日重置的InfluxDB/Grafana累积函数(锯齿图) 的相关文章

随机推荐

  • Nginx 变量类似于 Apache 中的 SetEnv?

    我在 Apache 中使用 SetEnv 在虚拟主机中设置一些变量 然后在 PHP 中使用这些变量进行恢复 SERVER the variable 现在我正在切换到Perl Catalyst和Nginx 但Nginx中的 env 指令似乎不
  • 我无法将子菜单项设置为已选中

    我正在为我的抽屉使用 NavigationView 这是 menus xml 文件 它定义了抽屉的所有菜单项 menu menu
  • 詹金斯看不到映射的驱动器

    尝试在 Jenkins 中执行构建时出现以下错误 Started by user anonymous Building in workspace C Users mryan git AML AML cmd c call C Users MR
  • JSP生成Excel电子表格(XLS)下载

    我正在 JSP 中开发这个应用程序 我希望以 XLS MS Excel 格式 从数据库中导出一些数据 在tomcat下是否可以像普通Java应用程序一样编写一个文件 然后生成到该文件的链接 或者我需要使用特定的 API 吗 这样做时会遇到权
  • 如何在 Tkinter 中播放视频文件?

    有没有办法播放视频文件AVI MP4 etc 我尝试使用PyMedia 但显然它只适用于Pygame 我的问题的解决方案是什么 你可以使用python gstreamer用于播放视频 这适用于 Linux 上的我 但也应该适用于 Windo
  • 将 stdout 和 stderr 重定向到文件,并将 stderr 重定向到 stdout

    以下代码将 stdout 写入日志文件并打印 stderr bash script sh gt gt out log 这再次将 stdout 和 stderr 写入日志文件 bash script sh gt gt out log 2 gt
  • SquirreL SQL 客户端 3.7.1 上的 PL/SQL

    我试图在 SQuirrel 上执行 PL SQL 脚本 但似乎不起作用 我通过在 额外类路径 上添加 ojdbc7 jar 来配置 Oracle Thin Driver 能够连接到数据库 但当尝试运行简单代码时 会出现错误 code BEG
  • 如何在 pyGTK 中搜索 gtk.ListStore 并删除元素?

    我有以下代码 其中 store 是gtk ListStore效价是gtk TreeIter 文档说如果没有下一行 iter next 将返回None 因此找到时中断 它应该通过搜索ListStore of int str 并删除其中的一项i
  • 每行对齐 2 个 DIV,高度相同

    我们遇到一个问题 我们需要一个包含动态内容的 div 列表 每行始终有 2 个 div 这两个元素应该具有相同的高度 目前我们有一个使用 JavaScript 设置框高度的解决方案 但它的性能不是很好 因为它会在每次调整大小时重新计算尺寸
  • 按结构中的变量对结构向量进行排序? [复制]

    这个问题在这里已经有答案了 我有一个数据结构 例如 struct Data string firstname string lastname string age 我已将每个结构放置在一个向量 VectorOfData 中 是否可以循环遍历
  • 如何在自定义引导程序应用程序中设置或获取所有日志

    在我的自定义 Burn 托管引导程序应用程序中 我希望有一种方法来设置安装程序的默认日志目录 以便客户可以轻松找到安装日志 如果无法做到这一点 我想要一种合适的方法来在安装后复制日志文件 我尝试在我的安装项目 即 Bundle wxs 和我
  • 添加构建后事件而不覆盖现有事件

    我有一个 Powershell 脚本 由我的 NuGet 包运行 它将生成后事件添加到用户的 Visual Studio 项目中 project Properties where Name eq PostBuildEvent foreach
  • PHP PDO bindParam() 和 MySQL BIT

    我正在尝试更新其中包含 BIT 类型值的表中的数据 如下所示 show contact is either 1 or 0 query gt bindValue scontact show contact PDO PARAM INT 问题是
  • 测试固件

    这遵循几个other 问题 但我认为我已经更好地完善了我的问题 我想在安装设备之前测试我的固件代码 我意识到很多人编写代码 上传 测试等 但我真的想在上传之前编写和测试 主要是因为我想自动化许多场景 那么 最好的方法是什么 如果我正在编写纯
  • JavaScript 过滤图像颜色

    嘿 我正在寻找一种拍摄黑白照片的方法img元素 并使用 JavaScript 指定 RGB 值 以便图像变成该颜色 有什么想法 除了图书馆 我也尝试只用 IE 来做到这一点 我只在 IE 中这样做的原因是因为我正在制作一个小的侧边栏小工具
  • 使用 Three.js 创建凹半球

    我是一名具有良好 JavaScript 经验的 Web 开发人员 目前正在探索Three js的可能性 然而 我对 3D 形状和词汇不是很熟悉 我不知道如何构建我需要的形状 我想创建一个半球体 并且能够投影视频inside这个球体 我有一个
  • 移动太慢时 jquery mouseleave 问题

    我正在使用 jQuery mouseenter 和 mouseleave 事件来上下滑动 div 除了 mouseleave 之外 一切都运行良好 只有当鼠标从 div 上移开的速度相当慢时 它才不会触发 如果我以相对正常或较快的速度移动鼠
  • 如何在 ctypes 中使用 typedef

    我正在尝试使用 ctypes 库在 Python 中包装 C 库 我这样包装结构 file c typedef struct int x int y Point file py import ctypes class Point ctype
  • 当跨度是锚点的子级时,不显示标题工具提示

    例如 考虑以下 DOM 结构 a href title The Anchor img src http www adiumxtras com images thumbs dango status icon set 7 19047 6248
  • 制作每日重置的InfluxDB/Grafana累积函数(锯齿图)

    我将能源使用数据记录为计数器 我希望将其显示为每天重置的累积图表 类似地在这里问 我可以按如下方式生成累积值 SELECT mean value FROM energy WHERE timeFilter GROUP BY time inte