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...