prometheus TSDB和外部存储系统
作者:互联网
一、TSDB
prometheus可以以自定义格式在磁盘上的本地时序数据库TSDB存储时间序列数据。 ./data ├── 01BKGV7JBM69T2G1BGBGM6KB12 │ └── meta.json ├── 01BKGTZQ1SYQJTR4PB43C8PD98 │ ├── chunks │ │ └── 000001 │ ├── tombstones │ ├── index │ └── meta.json ├── 01BKGTZQ1HHWHV8FBJXW1Y3W0K │ └── meta.json ├── 01BKGV7JC0RY8A6MACW02A2PJD │ ├── chunks │ │ └── 000001 │ ├── tombstones │ ├── index │ └── meta.json ├── chunks_head │ └── 000001 └── wal ├── 000000002 └── checkpoint.00000001 └── 00000000 存储相关启动参数: --storage.tsdb.path:这决定了Prometheus写入数据库的位置。 默认为/data。 --storage.tsdb.retention.time:这决定了何时删除旧数据。 默认为15d,不包括head block和最新生成的block --storage.tsdb.retention.size:存储块可以使用的最大字节数,最早的数据将被删除。 默认为0或禁用。 --storage.tsdb.wal-compression:启用预写日志(WAL)的压缩,略微消耗CPU负载以大幅减少WAL大小。 文件块block 采集的样本按每两个小时的时间段保存到一个目录,该目录就是一个block 当其保存了3小时数据时会被重新分为2个block(2h+1h) 每个block的名称按照ULID原理生成,共128位(16字节),前48位是时间戳,后80位是随机数,经过base32算法转换成26字节可排序字符串 包含- chunks:保存压缩后的时序数据,每个chunk大小为512MB
- index:用于将度量名称和标签索引到块文件中的时间序列
- meta.json
- tombstones
二、外部存储
为支持支持外部存储系统,引入了Adapter适配器,将prometheus读写请求转化为第三方存储远端接口 目前支持的外部存储系统包括: https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage 通过HTTP POST请求+protobuf编码方式调用Adapter的读写接口标签:index,存储,标签,存储系统,时序,索引,prometheus,TSDB,block 来源: https://www.cnblogs.com/yangyuliufeng/p/14906474.html