首页 > 系统相关 >记录一次prometheus占用大量内存故障处理

记录一次prometheus占用大量内存故障处理

时间:2022-10-04 22:31:20浏览次数:54  
标签:1m 占用 落盘 prometheus 内存 IO 数据

近期通过consul注册了100个node_exporter,发现prometheus所在服务器,频繁发生IO负载过高,内存耗尽的问题(4C8G,普通200GHDD盘),导致服务器短暂性失联,直到服务重启后,内存、IO等指标逐渐恢复正常,通过查看官方文档,得知,prometheus默认2小时会将采集的监控指标数据从内存中落到硬盘中,基本可以确定,是内存数据落盘时导致突发性IO增高,由于数据首先写入内存,所以内存也逐渐耗尽,找到问题后,第一个想到的办法是将本地存储改为远端的时序数据库tsdb,降低本地IO,但发现尽管配置了remote_wirte/remote_read,本地还是会落盘,问题没有得到改善,再经过查看配置文件,发现获取节点监控指标的频率是15s,即scrape_interval,而官方默认配置为1m,猜想应该是频率太高,导致内存积累的数据过大,于是将该参数调整为1m,降低了数据采集频率,情况好转,目前内存一直稳定在65-80%,落盘时内存会增大到最高点,数据回写完成后,降到最低点。问题得以解决【在不考虑硬件扩容的情况下】。

标签:1m,占用,落盘,prometheus,内存,IO,数据
From: https://blog.51cto.com/u_11028598/5731980

相关文章