我有一个表达方式有我的警告条件。如果任何条件返回NoData,它似乎会抢先计算其他条件,即使这样做会阻止对返回NoData的条件进行计算。有什么办法可以避免这种情况吗?我创建了我的条件,以避免在特定的日子和特定时间之外发出警报,这应该会抢先评估最后的状态检查,即在特定的日子和特定时间之外不返回数据的状态检查。然而,NoData似乎抢先了其他一切。在下面的片段中,前两个条件是一周中的一天和一天中的几个小时,而A是返回NoData的条件。谢谢你的帮助。如果我删除没有值条件的内容,就没有什么区别了。如果它在分配的时间内没有价值,我们希望它发出警报。

发布于 2022-11-16 13:57:26
首先,按照Grafana群落中的建议进行转换。不幸的是,这不适用于警报规则或定义警报规则的面板。
如果没有转换,事情就会变得复杂。
你用的是“经典条件”。尝试使用“减少”和“数学”的组合。
有时,当您用完数据时,您会得到NaN作为查询的结果。我发现数学表达式0 && NaN计算值为0是有用的(而NaN >x总是返回NaN,这有时很烦人)。
因此,当查询A、B或D返回NaN和所有其他情况下的正值时,您都可以构建一个返回0的查询D,而不是返回NaN。然后,您可以使用以下内容:
D& (2
请注意,为了简单起见,我省略了减缩表达式。
https://stackoverflow.com/questions/74435906
复制相似问题