如何通过PromQL计算时间差,实现超过12小时的告警触发?
解决Prometheus时间戳差值告警问题
- 你的核心需求是判断当前时间与应用启动/最后同步时间的间隔超过12小时,对应的PromQL逻辑应该是:当前时间戳减去指标值的结果大于12小时的秒数(43200秒)。
- 你之前的表达式逻辑搞反了,正确的写法是:
time() - custom_gauge_exporter_in_app{job="python-app"} > 43200 - 逻辑说明:
time()返回Prometheus服务器的当前epoch时间戳custom_gauge_exporter_in_app{job="python-app"}是你的exporter导出的应用启动/最后同步时间戳指标- 两者相减得到时间间隔(单位:秒),当差值大于43200时,表达式会返回满足条件的指标(值为1),刚好适配告警触发的布尔值需求
内容的提问来源于stack exchange,提问作者Vaitheesh
相关产品推荐
相关产品推荐

