prometheus存储模型

本文深入探讨Prometheus的存储模型,包括WAL(Write-Ahead Log)的概念、数据写入、Checkpoint、Truncate过程,Block的结构、压缩与清理,以及remote write功能,揭示了Prometheus如何高效地处理和存储时序数据。
摘要由CSDN通过智能技术生成

Prometheus是目前被广泛使用的容器云监控系统,其底层实现了一个时序数据库(tsdb),它拥有强大的数据压缩和检索能力,可轻松应对每秒百万级的数据采集。本文基于最新的prometheus 2.12,为读者介绍prometheus tsdb存储模型。

1 时序数据

时序数据,就是按时间顺序采集而来的数据,一般表示为:

identifier -> (t0, v0), (t1, v1), (t2, v2), (t3, v3), ....

identifier是一个时间序列的标示,在prometheus中是以指标名称+label的形式来表示的,例如:

requests_total{path="/status", method="GET", instance=”10.0.0.1:80”}
requests_total{path="/status", method="POST", instance=”10.0.0.3:80”}
requests_total{path="/", method="GET", instance=”10.0.0.2:80”}

这是我们使用prometheus时能看到的内容,在prometheus内部,它是:

{__name__="requests_total", path="/status", method="GET", instance=”10.0.0.1:80”}
{__name__="requests_total", path="/status", method="POST", instance=”10.0.0.3:80”}
{__name__="requests_total", path="/", method="GET", instance=”10.0.0.2:80”}

那么prometheus tsdb保存的数据就是标示及其时序数据。
在这里插入图片描述
在prometheus中,series代表标示,samples代表采集的时序数据(time,value)

2 WAL

Prometheus采集到的当前数据,存于内存中,如果程序异常关闭,会导致当前的监控数据丢失。为此Prometheus实现了 wal功能(write ahead log),wal负责将当前内存中的监控数据同步到磁盘。prometheus重启后,可以读取wal数据,达到恢复数据,减少损失的目的。

2.1 概念

wal segments:存储段,在磁盘中的形式是一个带编号的文件,例如000000

Prometheus是一个开源的监控和警报工具,用于监控和测量分布式系统的性能和健康状况。它提供了一个灵活的指标和标签存储管理系统,用于存储和管理各种指标数据。 Prometheus使用指标来表示系统中的各种度量或测量值。这些指标可以是关于系统性能、应用程序状态、网络流量等各种方面的数据。Prometheus使用一组标签来对指标进行分类和标识,以便于在存储和管理时进行组织和检索。 Prometheus的指标存储管理主要包括以下几个方面: 1. 指标收集:Prometheus通过监控目标(例如服务器的网络端口、应用程序的进程等)来收集指标数据。它使用定时器和执行器来定期从目标中提取指标数据,并将其存储Prometheus存储系统中。 2. 存储结构:Prometheus使用时间序列数据模型存储指标数据。每个指标数据具有一个时间戳和一个标签集合。时间序列数据模型使得Prometheus能够高效地检索和查询指标数据,并提供多种查询和分析功能。 3. 标签管理:Prometheus的标签用于标识和分类指标数据。通过使用标签,Prometheus可以将不同的指标分组,并为每个组创建不同的查询和警报规则。标签还用于过滤和检索指标数据,以便仅显示符合特定条件的指标。 4. 数据持久化:Prometheus将指标数据存储在持久化的存储系统中,如关系型数据库或分布式文件系统。这有助于确保数据的可靠性和可用性,即使在系统崩溃或发生故障的情况下也能保持数据的完整性。 5. 查询和分析:Prometheus提供了多种查询和分析功能,以支持对指标数据的实时监控和历史分析。它支持使用SQL风格的查询语言PromQL(Prometheus Query Language)进行数据检索和分析,并提供可视化工具以方便用户查看和分析结果。 总之,Prometheus的指标和标签存储管理系统提供了一种灵活、高效的方法来存储和管理各种指标数据,支持实时监控和历史分析,并提供了丰富的查询和分析功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值