首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进程重新启动后的数据丢失

进程重新启动后的数据丢失
EN

Stack Overflow用户
提问于 2022-06-22 19:15:49
回答 1查看 469关注 0票数 1

无论何时我们重新启动Prometheus服务,都会造成2-3小时的数据丢失。以前没有发生过这种情况,但是当我们开始向其中添加更多的数据/集成时,我们就遇到了这个问题。

试图谷歌但没有找到任何答案,是否有人面临同样的问题?

普罗米修斯版本: 2.13.1

任何线索都会有帮助的TIA。

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 21:35:16

Prometheus在预写日志 (又名WAL )中存储了长达2个小时的最近刮过的指标。它每两个小时运行一次压缩作业,将WAL中的数据转换为持久块。Prometheus将数据从WAL转换为一个持久的块(例如,当SIGINT或SIGTERM信号被发送到它并且控制过程等待Prometheus进程成功完成时)。

在您的例子中,Prometheus很可能通过SIGKILL信号或out of memory事件(又名OOM)关闭。在这种情况下,最近收集到的样本(长达2小时)的WAL数据没有存储在持久块中,因此会丢失。

Prometheus尝试在下一次启动时重放WAL (例如从WAL中恢复数据),但是如果WAL数据由于Prometheus先前的不干净关闭而损坏,则可能会失败。详情请参见这篇文章

试试我工作的另一个类似普罗米修斯的监控系统- VictoriaMetrics。它不使用WAL,而是每秒钟将数据存储到持久块。因此,它可能只丢失在不干净关闭前的最后一秒收集的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72720898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档