Prometheus PromQL查询以选择其值包含在给定的多个选择变量中的度量

Prometheus PromQL查询以选择其值包含在给定的多个选择变量中的度量,prometheus,grafana,promql,Prometheus,Grafana,Promql,在Grafana中,我需要创建一个PromQL查询来选择一些指标,这些指标的值包含在给定的多重选择变量中 例如: 我有一个自定义变量selectedStatus,它的值是1、2和3,带有一个“包含所有选项”(不确定要为此指定什么作为自定义值) 以及度量标准状态 我只想选择那些在selectedStatus(变量)下拉列表中选择的status 度量标准 status{} 1 status{} 2 status{} 3 如果我选择显示值为1的状态(变量selectedStatus=1) 我

在Grafana中,我需要创建一个PromQL查询来选择一些指标,这些指标的值包含在给定的多重选择变量中

例如:

  • 我有一个自定义变量
    selectedStatus
    ,它的值是
    1
    2
    3
    ,带有一个“包含所有选项”(不确定要为此指定什么作为自定义值)

  • 以及度量标准
    状态

我只想选择那些在
selectedStatus
(变量)下拉列表中选择的
status

度量标准

status{} 1
status{} 2
status{} 3
如果我选择显示值为1的
状态
(变量
selectedStatus
=
1

我可以这样写(如果我想独立地选择每个
状态
),它会起作用:


现在,如果我想选择
status
es哪些值是
1
2
3
selectedStatus
=
All
),我如何编写PromQL?(类似于SQL中的或的等价物)

在ProMQ中,我想不出任何东西可以支持这种开箱即用的方法。但是,您可以将整个PromQL表达式放入Grafana变量中,然后在仪表板中进行选择。

尝试以下查询:

status == 1 or status == 2 or status == 3
它应该返回值仅等于(1、2或3)的时间序列


查询使用
运算符-请参阅

中有关此运算符的更多详细信息,只是为了澄清,您希望按时间序列的值(在您的情况下为
状态
)而不是标签的值进行筛选?@trallnag是:我希望按时间序列的值进行筛选(
状态
)而不是标签的价值。这真的很好。我需要找出如何使它与我的
All
选项(如问题中所述)中的变量一起工作。
status == 1 or status == 2 or status == 3