博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Prometheus学习系列(八)之数据模型
阅读量:7190 次
发布时间:2019-06-29

本文共 1023 字,大约阅读时间需要 3 分钟。

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

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

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

这个metric度量指标名称指定监控目标系统的测量特征(如:http_requests_total- 接收http请求的总计数)。 metric度量指标可能包含ASCII字母、数字、下划线和冒号,他必须配正则表达式[a-zA-Z_:][a-zA-Z0-9_:]*

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

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

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

标签labels值包含任意的Unicode码。

具体详见。

样本

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

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

Notation(符号)

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

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

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

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

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

链接

Prometheus官网地址: 我的Github:

转载于:https://juejin.im/post/5d04a9b8f265da1b5e72f14b

你可能感兴趣的文章
职场日记2-上班第一天
查看>>
技术人如何才不至于虚度一生?
查看>>
linux下文件的复制、移动与删除
查看>>
logo
查看>>
你属于开源性格测试六大分类中的哪一类呢
查看>>
MyBatis学习总结(15)——定制Mybatis自动代码生成的maven插件
查看>>
图形学国际学术会议及期刊收集
查看>>
你必须知道的ADO.NET(五) 细说数据库连接池
查看>>
ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节集合
查看>>
给ubuntu系统的root设置密码:
查看>>
linux下nginx配置https(cent os 7.3)
查看>>
python获取系统时间
查看>>
frame与bounds的区别比较
查看>>
<正则吃饺子> :关于使用pd创建表时需要注意的地方
查看>>
Python输入和输出
查看>>
GIL(全局解释器锁)
查看>>
sqlserver 计算数据库时间差
查看>>
SQL 存储过程使用
查看>>
Gradle 配置国内镜像
查看>>
php实现排列组合
查看>>