【问题标题】:Grafana templating: Regex for Prometheus label_values variablesGrafana 模板:Prometheus label_values 变量的正则表达式
【发布时间】:2019-12-07 13:22:40
【问题描述】:

我正在尝试使用 label_values 函数在 Grafana 中设置模板。 该文档指定了查询 label_values 的可能性,例如:

label_values(metric, label)

在我的用例中,有两个主要的指标组,其名称类似于:

  • app1_current_sensor1
  • app1_current_sensor2
  • app2_current_sensor2
  • app2_current_sensor3

它们每个都有一个名为 'uid' 的标签。 我希望使用上述查询在一个仪表板上仅过滤“app1”的用户 ID,在另一个仪表板上过滤“app2”的用户 ID。

我试过了

label_values(app1_current_sensor1, uid)

但如果由于某种原因传感器 1 有一段时间没有发送数据,即使传感器 2 正在发送数据,我也不会在仪表板上看到更多用户 ID。

是否可以使用正则表达式作为度量变量的输入? 像这样的东西对我有用:

label_values(metric=~(app1_[^\s]+), uid)

但我不确定这在 Grafana 中是否可行。

【问题讨论】:

    标签: grafana prometheus grafana-templating


    【解决方案1】:

    以下表达式选择名称以 job_ 开头且标签为 method="GET" 的所有指标

    {__name__=~"job_.*", method="GET"}
    

    要获取名称以app1_ 开头的所有指标,请使用

    {__name__=~"app1_.*"}
    

    要获取名称以app1_uid 开头的所有指标等于某个特定值,请使用

     {__name__=~"app1_.*", uid="value"}
    

    【讨论】:

    猜你喜欢
    • 2020-03-05
    • 2019-12-02
    • 1970-01-01
    • 2019-01-12
    • 2021-05-20
    • 1970-01-01
    • 2021-08-18
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多