promrtheus信息的存储方式

有本地存储,远端存储两种

本地存储即通过时序数据库(TSDB)存在本地,可以实现高性能的读写,大门时存储容量有限
核心是block和WAL。
TSDB按照时间间隔分隔成block,其大小不固定,默认的最小的是2h,TSDB会自动把小的block合成大的,
block主要包含chunks,index,meta.json,tombstones四个部分
chunks用来保存压缩后的时序数据,512mb每个,超过就会被截断
index记录chunk中的时许的偏移位置
tombstones用来对数据软删除
meta.json记录block中的元数据信息,起始时间,截止时间,样本数,时序数,数据源等,在后期删除block或者合并block时候会用到
WAL(write-ahead logging,预写日志)可以实现事务性和持久性,每个操作之前先把该事记录下来,方便以后进行回滚重试的操作,WAL被分割为128MB大小的文件段。
promtheus会将采集到的监控数据通过add接口添加到head block中,但这些数据没有被持久化。TSDB通过WAL将数据保存到磁盘中,再TSDB宕机重启后,会首先启动多线程读取WAL,恢复之前的状态。

远端存储可以读写第三方数据库,写入接口Appender,有Add,AddFast,Commit和Rollback四种方法,Querier接口是查询接口,定义了Select方法(通过标签搜索),还有fanout接口先遍历本地数据库,再遍历远端数据库。
通过Adapter适配器,将prometheus的读写请求转化为第三方远端存储接口,主要有InfluxDB,OpenDB,CreateDB,TiKV,Cortex,M3DB。
需要在promrtheus.yml文件中配置Adapter信息,然后从才能读写远端数据库。在对接远端存储之前需要先对远端存储和Adapter压测,确保可以承受来自peometheus的数据写入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值