【问题标题】:How to use the selected period of time in a query?如何在查询中使用选定的时间段?
【发布时间】:2018-04-18 21:54:00
【问题描述】:

我将 Grafana 与 Prometheus 一起使用,我想根据屏幕右上角选择的时间段构建 a query

在查询字段中是否有任何变量(或类似的东西)可以使用?

换句话说,如果我选择 24hs,我想在查询中使用该数据。

【问题讨论】:

    标签: grafana prometheus promql grafana-templating


    【解决方案1】:

    count_over_time({job="gerrit-sshd"}[$__interval])

    它适用于我,更重要的是,您应该在查询选项中将 Max data point 设置为 1。

    那么$__interval 与 Grafana 右上角面板的时间范围相同。

    【讨论】:

      【解决方案2】:

      如果您正在考虑使用 prometheus 作为数据源,$__range 支持您的仪表板时间非常好。

       increase(gin_total_requests[$__range])
      

      既然可以使用内置全局变量,为什么还要创建变量。

      我添加了文档链接来支持我的回答 Grafan 5.3+

      【讨论】:

      • 这是问题的答案,应该放在最前面,即使最上面的答案确实有效并且提供了一种有趣的方法。
      • 当我在选择器时间范围内执行 24 小时范围时,您知道为什么我不工作 increase 吗?数据存在是因为如果我删除 increase $__range ,它会显示数据。
      【解决方案3】:

      我知道有两种方法:

      1. 您可以像这样使用$__interval 变量:

        increase(http_requests_total[$__interval])
        

      有一个缺点是 $__interval 变量的值会根据图形的分辨率进行调整,但这在某些情况下也可能会有所帮助。

      1. 这种方法应该更适合您的情况:

      转到仪表板的Templating 设置,创建Interval 类型的新变量。启用“自动选项”,调整“步数”等于1。然后确保在仪表板顶部的相应下拉列表中选择了“自动”。

      假设您将其命名为timeRange,那么查询将如下所示:

      increase(http_requests_total[$timeRange])
      

      此变量不会根据图形分辨率进行调整,如果您选择“过去 10 小时”,其值将为 10h

      【讨论】:

        猜你喜欢
        • 2020-11-07
        • 2017-03-30
        • 2023-03-16
        • 1970-01-01
        • 2021-11-25
        • 2020-05-17
        • 2017-05-31
        • 1970-01-01
        • 2021-05-30
        相关资源
        最近更新 更多