如何根据 Grafana 查询变量的值在 PromQL 中合并 if/else 逻辑?
if($query_variable == "ALL")
<a modified query>
else
<the primary query>
对于
$query_variable
的单个值,该值将过滤<the primary query>
的结果。但是,<the primary query>
不适用于多个 $query_variable
值,因此需要 <a modified query>
才能查看未过滤的结果。
在 promQL 中没有直接的方法来实现基于任意外部变量的 if-else 语句。
但是,通过使用函数
absent
、向量匹配和布尔逻辑的一些技巧,我们可以构建所需的内容。
让我们从查询开始,如果变量等于
ALL
,则返回值。