数据模型

浏览 0      扫码          2019-11-14 09:38:42     码农文档      译文原文 英文原文

公告:如果您也想加入翻译队伍,或者您有相关中文文档想要贡献给大家,请联系coderdocument@163.com ,谢谢!

Prometheus基本上将所有数据存储为时间序列:具有时间戳的值流,属于相同的指标和相同的标签维度集。除了存储时间序列外,Prometheus还可以根据查询结果生成临时派生的时间序列。

指标名称和标签

每个时间序列由其指标名称和称为标签的可选键值对作为唯一标识。

指标名称指定要度量的系统的一般特性(例如http_requests_total:接收到的HTTP请求的总数)。它可能包含ASCII字母和数字,以及下划线和冒号。它必须匹配正则表达式: [a-zA-Z_:][a-zA-Z0-9_:]*

注意:冒号是为用户定义的记录规则保留的。他们不应该被导出器或直接添加监控时使用。

标签支持Prometheus的维度数据模型:相同指标名称的任何给定的标签组合都标识该度量的特定维度实例化(例如:POST/api/tracks处理器的所有HTTP请求)。查询语言允许基于这些维度进行筛选和聚合。更改任何标签值,包括添加或删除标签,将创建一个新的时间序列。

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

标签值可以包含任何Unicode字符。

请参阅指标命名和标签的最佳实践

采样

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

  • 一个float64 的值
  • 一个毫秒精度时间戳

表示法

给定一个指标名称和一组标签,时间序列通常使用以下符号标识:


   
       

例如,指标名称为api_http_requests_total的时间序列和标签 method="POST"handler="/messages" 可以这样写:


   
       

这与OpenTSDB使用的是相同表示法。

返回顶部