Prometheus Query Language典型应用场景:在仪表板中可视化Prometheus数据、使用Prometheus的警报管理器构建警报规则等。了解如何构建PromQL是使用Prometheus的一项基本技能,通过上篇文章学习了基础知识,本文带你更深入学习并实践。
Prometheus metrics类型
我们已经知道,Prometheus将从各种exportor中获取的指标数据存储在时间序列数据库中。对于想要存储的度量,必须有标识符,还包括一些列标签,当然还有时间戳和收集数据。
- 格式:Identifier -> ( timestamp1, value 1), ( t2,v2),…
- 示例:http_request_total{job=”httpcollector”, method=”GET”, path=”/tesst’}
通过这些标签可以筛选指标。从技术上讲,指标存储在JSON对象中,如下所示:
{
job=”httpcollector”,
method=”GET”,
path=”/tesst’ ,
__name__=”http_request_total”
}
__name__
是指标的名称。例如,使用它来过滤具有特定名称的所有指标。当应用PromQL时,Prometheus将转换数据并以4种不同的格式呈现:
- String
- Scalar
- Instant vector
- Range vector
前两个很容易理解:String只是一种文本格式,而Scalar是一个数值。然而&#