首页 > 解决方案 > 如何显示每个时间间隔发出的命令的 Grafana 仪表板

问题描述

每次启动命令时,我都会增加一个计数器,并且每隔几毫秒添加一个条目以流入计数器的当前值,从而产生如下所示的条目。

time            value
----            -----
1549754123986   0
1549754183993   1
1549754243999   2
1549754304005   3

我想要一个 Grafana 时间序列仪表板,它显示命令在一个时间间隔内启动了多少次(例如,每小时、每 3 小时、每 6 小时……)。

例如,如果命令在 9:00、9:30、10:45、11:00 和 12:15 启动,则每小时启动的命令图将如下所示:

3|
2|       -------                 -----------
1|-------       --------    -----           -----    ----------------
0|_________________________________________________________________________
  9:00  9:30  10:00   10:30   11:00   11:30   12:00    12:30   1:00  

https://docs.influxdata.com/influxdb/v1.5/query_language/functions上列出的流入函数中,我想在间隔 1 小时(和 3、6、12、24 小时)的最大值之间做一个差异除了其他间隔)。

我的选择语句会是什么样子?

感谢以下回答的 brunorey,在我编辑我的问题以使其更清晰之前。

标签: grafanainfluxdb

解决方案


对于每小时计数: SELECT non_negative_derivative(last("value"), 1h) FROM "counter" WHERE $timeFilter GROUP BY time(1h) fill(null)


推荐阅读