【发布时间】:2021-06-25 11:21:34
【问题描述】:
这是我想要达到的情况和目标:
- 在两台不同的服务器上,我们每个主机都有一个文件,每天为多台主机更新一次。我们会监控此文件何时更新,并根据自上次修改日期以来花费的一定时间,我们会发出警报。
- 这是警报的样子:
time() - node_textfile_mtime_seconds{instance=~"server1|server2"} > 194400(其中一个标签是 file="filename.prom")。这可以很好地引发 PER 服务器的警报,但是如果我想在 194400 多秒前在两台服务器上针对同一文件完成最后一次修改时引发警报,那么这就是我卡住的地方。
我查找了如何使用逻辑 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)
您知道更好的方法吗? 谢谢!
【问题讨论】:
标签: prometheus monitoring