PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力非常丰富,内置函数很多,在日常数据可视化以及rule 告警中都会使用到它。
在页面 http://localhost:9090/graph
中,输入下面的查询语句,查看结果,例如:
| PromQL 查询结果主要有 3 种类型: |
| 1、瞬时数据(Instant vector): 包含一组时序,每个时序只有一个点 |
| |
| 2、区间数据(Range vector): 包含一组时序,每个时序有多个点 |
| |
| 3、纯量数据(Scalar): 纯量只有一个数字,没有时序 |
| kubelet_http_requests_total |
| [5m] : 5分钟以内的数据 |
| s:seconds |
| m:minutes |
| h:hours |
| d:days |
| w:weeks |
| y:years |
| Offset :查看多少分钟之前的数据 |
| kubelet_http_requests_total[5m] |
| kubelet_http_requests_total offset 30m |
| kubelet_http_requests_total [5m] offset 30m |
| count(kubelet_http_requests_total) |
| |
| |
| prometheus的底层数据模型有四种。 |
| |
| Counter:---->只增不减的计数器 |
| cpu运行时间 |
| http请求数 |
| |
| gauge: ---->可憎可减的 |
| 系统负载情况 |
| 内存使用情况 |
| |
| Histogram & Summary --->用于统计分析样本的分布情况 |
| http平均响应时间 |
Prometheus 存储的是时序数据,而它的时序是由名字和一组标签构成的,其实名字也可以写出标签的形式。
| container_spec_cpu_quota{container="config-reloader"} |
| |
| container_spec_cpu_quota{container=~"config-reloader"} |
| container_spec_cpu_quota{container!="config-reloader"} |