Grafana 模板:Prometheus label_values 变量的正则表达式
Grafana templating: Regex for Prometheus label_values variables
我正在尝试使用 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)
但是,如果出于某种原因,sensor1 有一段时间没有发送数据,即使 sensor2 正在发送数据,我也不会在仪表板上看到更多用户 ID。
是否可以使用正则表达式作为度量变量的输入?
像这样的东西对我有用:
label_values(metric=~(app1_[^\s]+), uid)
但我不确定这在 Grafana 中是否可行。
以下表达式选择名称以 job_
开头且标签为 method="GET"
的所有指标
{__name__=~"job_.*", method="GET"}
要获取名称以 app1_
开头的所有指标,请使用
{__name__=~"app1_.*"}
要获取名称以 app1_
和 uid
开头的所有指标等于某个特定值,请使用
{__name__=~"app1_.*", uid="value"}
我正在尝试使用 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)
但是,如果出于某种原因,sensor1 有一段时间没有发送数据,即使 sensor2 正在发送数据,我也不会在仪表板上看到更多用户 ID。
是否可以使用正则表达式作为度量变量的输入? 像这样的东西对我有用:
label_values(metric=~(app1_[^\s]+), uid)
但我不确定这在 Grafana 中是否可行。
以下表达式选择名称以 job_
开头且标签为 method="GET"
{__name__=~"job_.*", method="GET"}
要获取名称以 app1_
开头的所有指标,请使用
{__name__=~"app1_.*"}
要获取名称以 app1_
和 uid
开头的所有指标等于某个特定值,请使用
{__name__=~"app1_.*", uid="value"}