推送 Promethus 报错 OOO

Q:推送 Promethus 报错 out of order 或者 out of bounds ,导致整个 Promethus 无法写入数据了,所有的采集指标都无法写入,怎么办?

A:

监控系统中对时间敏感,通常出现这样的错误大概率是重复或者客户机上报的时间和 prometheus 的不一样,而目前版本 prometheus 没有支持乱序写入导致的报错。

针对 prometheus 乱序数据的问题,最简单的处理方式就是清空历史数据,这样就没有乱序的数据了。新版本的 prometheus 会有一个配置项 out_of_order_time_window 可以允许一段时间内的乱序数据写入,不过还是建议时序库从 Prometheus 改成 VictoriaMetrics 单机版,性能更好,接口兼容 Prometheus,还规避了 Prometheus 的一些问题(比如数据乱序)。