首页 > 解决方案 > 比较 prometheus 中只有一个标签不同的两个指标

问题描述

这是情况以及我想要实现的目标:

我查找了如何使用逻辑 AND 和许多其他东西,但找不到正确的方法。我发现的下一个最好的事情是这个,但是当我只想有一个时它是两个警报:

(time() - node_textfile_mtime_seconds{instance="server2"} > 194400 unless (time() - node_textfile_mtime_seconds{instance="server1"}) < 194400)

(time() - node_textfile_mtime_seconds{instance="server1"} > 194400 unless (time() - node_textfile_mtime_seconds{instance="server2"}) < 194400)

你知道更好的方法吗?谢谢!

标签: prometheusmonitoring

解决方案


在测试了更多其他表达式之后,我想我终于找到了自己问题的答案。如果有人面临同样的问题,这是我的表达:

count by (file) (time() - node_textfile_mtime_seconds{instance=~"server1|server2"} > 194400) == 2

基本上我们知道,对于同一个文件,有两个版本:一个在 server1 上,另一个在 server2 上,所以我们检查两个文件的表达式是否为 true,并且在这种情况下引发警报。


推荐阅读