prometheus改为remote存储后,依然会在本地文件生成data目录进行存储。
问题描述:
因为我们想长期存储prometheus的监控数据,所以选择了influxdb作为remote storage,但是按照官方文档配置完以后启动promethues,在不指定storage.tsdb.path
的前提下依然会在当前目录下生成data目录,在prometheus运行一段时间后,执行如下命令
systemctl stop prometheus
rm -rf ./data
systemctl start prometheus
执行完以后依然会生成data目录,这时登录web-ui界面查看,之前删除的数据还是可以看到的,说明远程读写没有问题。
请问造成这种现象的原因是什么呢,有什么方法可以只把数据存储在远端,本地不存储呢?
这是我的prometheus的配置文件片段:
remote_write:
- url: "http://localhost:8086/api/v1/prom/write?db=prometheus"
remote_read:
- url: "http://localhost:8086/api/v1/prom/read?db=prometheus"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没法设置不存到本地的tsdb。如果实在不想的话,可以设置本地存储的保留时间为1个小时。理论上相当于本地不存储了。
prome 在本地获取不到的时候再去远程读取数据。
但是实际的场景下,我们这边本地存储是保留时间是1天,因为prometheus的远程读的效率并没有本地读的高,其实整个监控的本质,都是频繁读取最近的数据,越是历史数据被读取的少。这样做对远程存储介质也好。