(三)数据模型(指标、标签、时间序列定义和使用) | 普罗米修斯(Prometheus)

Prometheus 从根本上将所有数据存储为时间序列:属于同一指标和同一组标记维度的时间戳值流。除了存储的时间序列,Prometheus 可能会生成临时派生的时间序列作为查询的结果。

指标(metric )名称和标签(labels)

每个时间序列都由"指标名称"和"标签"(可选的键值对)唯一标识。

指标名称(metric name):指定被测量的系统的一般特征(例如http_requests_total - 接收到的 HTTP 请求的总数)。

它可能包含 ASCII 字母和数字,以及下划线和冒号。它必须与正则表达式匹配[a-zA-Z_:][a-zA-Z0-9_:]*

注意:冒号是为用户定义的录制规则保留的。导出者或直接仪器不应使用它们。

标签(label): Prometheus 的维度数据模型:相同度量名称的任何给定标签组合标识该度量的特定维度实例(例如:使所有使用POST方法访问/api/tracks的http请求)。查询语言允许基于这些维度进行过滤和聚合。更改任何标签值,包括添加或删除标签,都会创建一个新的时间序列。

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

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

具有空标签值的标签被认为等同于不存在的标签。

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

样例

样例由实际的时间序列数据组成。每个样本包括:

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

标记方法

给定一个指标名称和一组标签,时间序列经常使用这个符号来识别:

{

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

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

你可能感兴趣的:(云原生,普罗米修斯,Prometheus,metric,指标,数据模型)