DevOps工程师-监控与日志-Prometheus_Prometheus数据模型与查询语言.docxVIP

DevOps工程师-监控与日志-Prometheus_Prometheus数据模型与查询语言.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

Prometheus数据模型概览

1Prometheus数据存储原理

Prometheus采用了一种基于时间序列的存储方式,这使得它能够高效地处理大量的监控数据。在Prometheus中,数据被存储为一系列的时间序列,每个时间序列由一个特定的度量名称和一组标签组成。时间序列中的数据点由时间戳和对应的值构成,这允许Prometheus在查询时能够精确地定位到特定时间的数据。

1.1数据存储结构

Prometheus的存储结构主要由两部分组成:内存中的时间序列数据和磁盘上的WAL(Write-AheadLog)和块存储。内存中的时间序列数据提供了快速的查询能力,而WAL和块存储则确保了数据的持久性和可靠性。

1.2写入流程

当Prometheus接收到监控数据时,它首先将数据写入WAL,然后将数据点添加到内存中的时间序列中。WAL的作用是确保在系统崩溃后,Prometheus可以从WAL中恢复数据,避免数据丢失。当内存中的数据达到一定量时,Prometheus会将这部分数据写入磁盘上的块存储,以节省内存空间。

2时间序列数据结构解析

时间序列数据是Prometheus的核心数据结构,它由度量名称、标签集和一系列的数据点组成。每个数据点包含一个时间戳和一个浮点数值。

2.1度量名称

度量名称是时间序列数据的唯一标识符,它描述了监控数据的类型,例如node_cpu表示节点的CPU使用情况。

2.2标签集

标签集是一组键值对,用于描述时间序列数据的特定实例。例如,对于node_cpu度量,可能有{instance=01:9100,job=node}这样的标签集,表示这是从IP地址为01,端口为9100的节点收集的CPU数据,该节点属于node任务。

2.3数据点

数据点由时间戳和对应的值构成。例如,对于node_cpu度量和上述的标签集,一个数据点可能为15923456780.75,表示在时间戳1592345678时,该节点的CPU使用率为75%。

3标签与度量类型介绍

Prometheus支持多种度量类型,包括计数器(Counter)、摘要(Summary)、直方图(Histogram)和信息(Gauge)。

3.1计数器(Counter)

计数器用于记录事件的次数,其值只能增加或重置为0。例如,http_requests_total是一个计数器,用于记录HTTP请求的总数。

#HELPhttp_requests_totalTotalnumberofHTTPrequests.

#TYPEhttp_requests_totalcounter

http_requests_total{method=GET,code=200}12345

http_requests_total{method=POST,code=200}6789

3.2摘要(Summary)

摘要用于收集数据的分布信息,包括数据的总和和特定百分位的值。例如,http_request_duration_seconds是一个摘要,用于记录HTTP请求的持续时间。

#HELPhttp_request_duration_secondsSummaryofHTTPrequestdurations.

#TYPEhttp_request_duration_secondssummary

http_request_duration_seconds_sum{method=GET,code=200}123.45

http_request_duration_seconds_count{method=GET,code=200}100

http_request_duration_seconds{method=GET,code=200,quantile=0.5}1.23

http_request_duration_seconds{method=GET,code=200,quantile=0.9}2.34

http_request_duration_seconds{method=GET,code=200,quantile=0.99}3.45

3.3直方图(Histogram)

直方图与摘要类似,但使用的是固定宽度的桶来收集数据的分布信息。例如,http_request_duration_seconds_bucket是一个直方图,用于记录HTTP请求持续时间的分布。

#HELPhttp_request_duration_secondsHistogramofHTTPrequestdurations.

#TYPEhttp_request_duration_se

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档