Prometheus: Data Model

10th January 2022 at 6:12pm

Prometheus 的 数据模型 中,metric 是重点。

Metric 由 job / exporter 生成。Metric 由这两部分组成:

  • Metric name
  • A set of labels

Prometheus 用这种标记来表达 metric:

<metric name>{<label name>=<label value>, ...}

比如:

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

这表示名为 api_http_requests_total,带同样两个 label name(但 value 不同)的 两个不同 metric(但可以理解为同一类型)。

每一个 metric 在某个特定的时刻,会有一个确定的 float64 值与之关联;当 Prometheus server 爬取到这批 metric 时,它当时的值就会被作为一个采样(sample)保存进 server 中。因此一个采样包含了:

  • 一个 metric 及值关联的值
  • 采样的时间

一批采样数据则被称为时间序列(time-series)数据。

命名要求