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