Skip to content

1. Prometheus本地存储

1.1 简介

  1. prometheus将样本数据保存在本地磁盘当中。按照两个小时为一个时间窗口,将两小时内产生的数据存储在一个块(Block)中,每一个块中包含该时间窗口内的所有样本数据(chunks),元数据文件(meta.json)以及索引文件(index)。
  2. 当前时间窗口内正在收集的样本数据,Prometheus则会直接将数据保存在内存当中。为了确保此期间如果Prometheus发生崩溃或者重启时能够恢复数据,Prometheus启动时会从写入日志(WAL)进行重播,从而恢复数据。此期间如果通过API删除时间序列,删除记录也会保存在单独的逻辑文件当中(tombstone)。
  3. Prometheus保存块数据的目录结构如下

image.png

1.2 本地存储配置

用户可以通过命令行启动参数的方式修改本地存储的配置。

启动参数默认值含义
--storage.tsdb.pathdata/本地存储路径
--storage.tsdb.retention15d样本保存时间
--storage.tsdb.min-block-duration2h样本数据持久化到磁盘时间