prometheus改为remote存储后,依然会在本地文件生成data目录进行存储。

caozhijian
  • 94

问题描述:
因为我们想长期存储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"
回复
阅读 3.1k
1 个回答

没法设置不存到本地的tsdb。如果实在不想的话,可以设置本地存储的保留时间为1个小时。理论上相当于本地不存储了。
prome 在本地获取不到的时候再去远程读取数据。
但是实际的场景下,我们这边本地存储是保留时间是1天,因为prometheus的远程读的效率并没有本地读的高,其实整个监控的本质,都是频繁读取最近的数据,越是历史数据被读取的少。这样做对远程存储介质也好。

你知道吗?

宣传栏