PromQL (Prometheus Query Language) 是 Prometheus 监控系统自带的一种强大的查询语言,能够快速有效地分析监控数据。在本文中,我们将详细介绍 PromQL 的各种用法和常用函数。
PromQL 的用途
PromQL 可以非常方便地对监控样本数据进行统计分析。它支持常见的运算符和一些内置函数,并且监控告警也是依赖于 PromQL 实现的。通过 PromQL,我们可以从海量的监控数据中快速提取所需信息,从而更好地了解系统的运行状态。
时间序列
在 Prometheus 中,每个监控指标都对应一个时间序列,其中每一个点称之为一个样本。每个样本由三部分组成:
- 指标(Metric):由指标名称和描述指标的标签组成。
- 时间戳(Timestamp):一个精确到毫秒级别的时间戳。
- 值(Value):一个 float64 位的值。
指标类型
Prometheus 支持以下几种指标类型:
- Counter:只增不减的计数器。
- Gauge:可增可减的仪表盘。
- Histogram和Summary:用于分析数据分布情况。
PromQL 基础
运算符
PromQL 支持以下常见的运算符:
- 等于(
=
)、不等于(!=
) - 匹配(
=~
)、排除(!~
) - 范围查询(
[]
)、时间位移(offset
) - 聚合操作(
sum
、