【问题标题】:通过 grafana 变量将正则表达式传递给 prometheus 查询
【发布时间】:2020-03-05 02:13:19
【问题描述】:

我正在尝试通过 grafana 变量将自定义变量传递给 prometheus。

我在 grafana 中设置的值如下:

  • .+(作为自定义 All 变量)
  • eu.+
  • us.+

变量用于查询,例如:

some_metric{availability_zone=~"$az", ...}

All 变量按预期工作,直接放入查询中的原始 eu-.+ 值等也可以正常工作 - 但是通过下拉分配变量时,不会返回任何指标。例如:

some_metric{availability_zone=~"eu.+", ...}

..正确匹配带有availability_zone="eu-west-1"等标签的所有指标

我已经尝试在自定义值中转义和不使用,但是对于两个自定义值都没有返回任何指标。

这里有什么问题?

【问题讨论】:

    标签: prometheus grafana


    【解决方案1】:

    这样做的方法似乎是:

    some_metric{availability_zone=~"${az:pipe}", ...}

    两个“陷阱”是您需要正则表达式比较“=~”和 ${variable:pipe} 才能运行正则表达式。

    【讨论】:

      【解决方案2】:

      要让 PromQL 在匹配标签时使用正则表达式,您必须使用 =~ 而不是 =

      您的查询应如下所示:

      some_metric{availability_zone=~"$az", ...}

      【讨论】:

      • 感谢您的回答 - 我已经这样做了,我将更新示例查询。
      猜你喜欢
      • 2019-12-07
      • 2018-04-06
      • 2021-08-18
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 2020-06-15
      • 2021-12-06
      • 2017-10-24
      相关资源
      最近更新 更多