我正在将 Grafana 与 Prometheus 一起使用,我想构建一个查询,该查询取决于在屏幕右上角选择的选定时间段。
在查询字段中是否有任何变量(或类似的东西)可以使用?
换句话说,如果我选择 24hs,我想在查询中使用该数据。
我正在将 Grafana 与 Prometheus 一起使用,我想构建一个查询,该查询取决于在屏幕右上角选择的选定时间段。
在查询字段中是否有任何变量(或类似的东西)可以使用?
换句话说,如果我选择 24hs,我想在查询中使用该数据。
我知道有两种方法:
您可以像这样使用$__interval变量:
increase(http_requests_total[$__interval])
有一个缺点是 $__interval 变量的值会根据图形的分辨率进行调整,但这在某些情况下也可能会有所帮助。
转到仪表板的模板设置,创建类型为Interval的新变量。启用“自动选项”,将“步数”调整为相等1
。然后确保在仪表板顶部的相应下拉列表中选择“自动”。
假设您命名它timeRange
,那么查询将如下所示:
increase(http_requests_total[$timeRange])
此变量不会通过图形分辨率进行调整,如果您选择“过去 10 小时”,其值将为10h
.
如果您正在考虑使用 prometheus 作为数据源,$__range 支持您的仪表板时间非常好。
increase(gin_total_requests[$__range])
当您可以使用内置全局变量时,为什么要创建您的变量。
我添加了文档链接来支持我的答案 Grafana 5.3+
count_over_time({job="gerrit-sshd"}[$__interval])
它对我有用,更重要的是,您应该 Max data point
在查询选项中设置为 1 。
然后$__interval
是与 Grafana 右上角的面板相同的时间范围。