【问题标题】:Grafana Ad-hoc Filter with Prometheus query带有 Prometheus 查询的 Grafana Ad-hoc 过滤器
【发布时间】:2020-11-05 20:40:57
【问题描述】:

我刚刚开始使用 Grafana 和 Prometheus 来开发仪表板。在我的 Grafana 仪表板中,我尝试添加一个 Ad-hoc 过滤器,允许用户从下拉列表中选择值。

以下是 Prometheus 数据示例

Element                                                                                                                                ,  Value
default_jenkins_builds_last_build_result{instance="jenkins-m1.abc.com",jenkins_m1_prod="XXX/YYYY/AAA",job="jenkins-m1",repo="ABC"}, 0
default_jenkins_builds_last_build_result{instance="jenkins-m2.abc.com",jenkins_m2_prod="XXX/YYYY/BBB",job="jenkins-m2",repo="BCD"}, 0
default_jenkins_builds_last_build_result{instance="jenkins-m1.abc.com",jenkins_m1_prod="XXX/YYYY/CCC",job="jenkins-m1",repo="ABCD"},    0

我想在 Grafana 中为 实例标签 添加一个 Ad-hoc 过滤器。下面是我目前进展的一个例子。您可以看到我在下拉列表中没有得到任何结果。我还添加了ad-hoc变量配置的sn-p。

我假设我的查询不正确,这就是它没有返回任何结果的原因。那么,有人可以帮我找到正确的路径,下拉列表应显示上述示例数据“jenkins-m1.abc.com”和“jenkins-m2.abc.com”中的两个选项吗?

谢谢

【问题讨论】:

    标签: prometheus grafana promql grafana-variable


    【解决方案1】:

    在变量定义中使用以下查询:

    label_values(default_jenkins_builds_last_build_result,instance)
    

    比这更好,我建议改用以下查询:

    label_values(default_jenkins_up,instance)
    

    【讨论】:

      【解决方案2】:

      两件事:

      1. 您提供的屏幕截图显示变量类型为 Query 而不是 Ad Hoc Filter。如果您将其设置为 ad-hoc 过滤器,您将拥有您需要的东西(仅当您要每次都执行复杂查询且它们之间存在一些差异时,才会推荐此选项。)。

      2. 解决此问题的另一种方法是 Marcelo 的回答,您将变量类型保留为 Query 并将查询设置为:label_values(default_jenkins_builds_last_build_result,instance)

      由于您只想为实例标签提供下拉菜单,因此我推荐第二种方式,因为它对仪表板用户来说更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-03
        • 1970-01-01
        • 1970-01-01
        • 2021-03-20
        • 2019-10-15
        • 2016-07-17
        • 1970-01-01
        • 2021-10-12
        相关资源
        最近更新 更多