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

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

近期通过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%,落盘时内存会增大到最高点,数据回写完成后,降到最低点。问题得以解决【在不考虑硬件扩容的情况下】。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部