Data model
Prometheus存储所有数据作为一个带有时间戳的属于同一个指标名称和标签集的一批值的数据流,简称时间序列。除了原始时间序列以外,可以将查询的结果衍生出新的时间序列。
metric names and labels
每一个时间序列由指标名称和标签集唯一标识,指标名指定系统的一个可度量的状态,比如http_requests_total表示接收到的http请求的总的数量。指标名称由字母、数字、下划线、冒号组成,需要匹配正则表达式[a-zA-Z_:][a-zA-Z0-9_:],冒号预留给用户定义的recording rules使用。
标签实现了多维度的数据模型,针对一个指标给定的任意组合的标签,唯一确定一个具体维度的指标实例化。例如,http_requests_total{method="post"}表示post类型的http请求总数,http_requests_total{method="post",errcode="500"}表示500错误的post类型的http请求总数,改变任意标签值,将产生新的时间序列。标签名称由字幕、数字、下划线组成,需要匹配正则表达式[a-zA-Z_][a-zA-Z0-9_],下划线开头的预留给内部使用。
Samples
Samples是真正的时间序列数据,每一个采样由float64的值和毫秒精度的时间戳组成。
Notation
序列通常是这样定义<metric name>{<label name>=<label value>, ...},例如:api_http_requests_total{method="POST", handler="/messages"}
Prometheus-数据模型(2)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Prometheus从根本上是将所有数据存储为时间序列(属于同一度量的时间戳值和相同的标记维度集)。除了存储的时间...
- Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由Soun...