ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Prometheus学习(三)之Prometheus概念:数据模型、metric类型、任务、实例

2021-08-06 11:02:42  阅读:270  来源: 互联网

标签:http 标签 metric labels 指标 Prometheus 数据模型 度量


目录

0.前言

本文来自Prometheus官网手册Prometheus简介

1.说明

Prometheus从根本上存储的所有数据都是时间序列: 具有时间戳的数据流只属于单个度量指标和该度量指标下的多个标签维度。除了存储时间序列数据外,Prometheus还可以生成临时派生的时间序列作为查询的结果。

1.1metrics和labels(度量指标名称和标签)

每一个时间序列数据由metric度量指标名称和它的标签labels键值对集合唯一确定。

这个metric度量指标名称指定监控目标系统的测量特征(如:http_requests_total接收http请求的总计数)。

注意:冒号保留用于用户定义的录制规则。 它们不应被exporter或直接仪表使用。

labels开启了Prometheus的多维数据模型:对于相同的度量名称,通过不同标签列表的结合, 会形成特定的度量维度实例。(例如:所有包含度量名称为/api/tracks的http请求,打上method=POST的标签,则形成了具体的http请求)。这个查询语言在这些度量和标签列表的基础上进行过滤和聚合。改变任何度量上的任何标签值,则会形成新的时间序列图。

metric度量指标可能包含ASCII字母、数字、下划线和冒号,他必须配正则表达式[a-zA-Z_:][a-zA-Z0-9_:]*

label标签名称可以包含ASCII字母、数字和下划线。它们必须匹配正则表达式[a-zA-Z_][a-zA-Z0-9_]*

带有_下划线的标签名称被保留内部使用,标签labels值包含任意的Unicode码。

具体详见metrics和labels命名最佳实践

1.2样本

样本形成了实际的时间序列数据列表。每个采样值包括:

  • 一个64位的浮点值
  • 一个精确到毫秒级的时间戳

1.3Notation(符号)

表示一个度量指标和一组键值对标签,需要使用以下符号:

[metric name]{[label name]=[label value], ...}

例如,度量指标名称是api_http_requests_total, 标签为method="POST", handler="/messages" 的示例如下所示:

api_http_requests_total{method="POST", handler="/messages"}

这些命名和OpenTSDB使用方法是一样的。

1.4度量指标类型

Prometheus客户端库提供了四种核心的metrics类型,这四种类型目前仅在客户端库和wire协议中区分。Prometheus服务还没有充分利用这些类型,将来可能会发生改变。

1.5Counter(计数器)

counter 是表示单个单调递增计数器的累积度量,其值只能在重启时增加或重置为零。 例如,您可以使用计数器来表示所服务的请求数,已完成的任务或错误。

不要使用计数器来暴露可能减少的值。例如,不要使用计数器来处理当前正在运行的进程数,而是使用gauge。

客户端使用计数器的文档:

1.6Gauge(测量器)

gauge是一个度量指标,它表示一个既可以递增, 又可以递减的值。

测量器主要测量类似于温度、当前内存使用量等,也可以统计当前服务运行随时增加或者减少的Goroutines数量

客户端使用计量器的文档:

1.7Histogram(柱状图)

直方图对观察结果进行采样(通常是请求持续时间或响应大小等),并将其计入可配置存储桶中。它还提供所有观察值的总和。基本度量标准名称为的直方图在scrape期间显示多个时间序列:

标签:http,标签,metric,labels,指标,Prometheus,数据模型,度量
来源: https://www.cnblogs.com/even160941/p/15107606.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有