Prometheus 速查
共 30 条 Prometheus 命令与 PromQL,覆盖启动与检查、PromQL 基础、聚合与函数、 选择器与技巧、配置要点五组内容。支持搜索与分类筛选,点击即可复制。
启动与检查
服务启动、配置校验与热加载。
| 命令 / 表达式 | 说明 |
|---|---|
| 按配置启动 Prometheus | |
| 设置数据保留时长 | |
| 允许通过 HTTP 触发热加载 | |
| 校验配置文件语法(改配置后先跑这个) | |
| 校验告警 / 记录规则文件 | |
| 热加载配置(需开启 lifecycle) | |
| 健康检查接口 |
PromQL 基础
查询时序数据的基本写法。
| 命令 / 表达式 | 说明 |
|---|---|
| 查询某指标的所有序列 | |
| 用标签筛选序列 | |
| 计算 5 分钟内的每秒平均速率(用于计数器) | |
| 瞬时速率,对突变更敏感 | |
| 过去 1 小时的总增量 | |
| 对结果做算术运算 | |
| 用比较运算符过滤(返回布尔序列) |
聚合与函数
按标签聚合与常用函数。
| 命令 / 表达式 | 说明 |
|---|---|
| 全部序列求和 | |
| 按 status 标签分组求和 | |
| 常见聚合函数 | |
| 取请求量最高的 5 个路径 | |
| 用直方图估算 P95 延迟 | |
| 区间内的平均值(还有 max/min_over_time) |
选择器与技巧
正则、偏移与时间点。
| 命令 / 表达式 | 说明 |
|---|---|
| 标签正则匹配(=~ 匹配、!~ 排除) | |
| 向量匹配(and / or / unless / on / ignoring) | |
| 查询 1 小时前该区间的时间点(对比昨天同刻) | |
| 查询指定 Unix 时间点的值 | |
| 重写标签,生成新的维度 |
配置要点
抓取目标与告警规则。
| 命令 / 表达式 | 说明 |
|---|---|
| 声明抓取任务与静态目标 | |
| 自定义抓取路径与间隔 | |
| 在抓取前重写 / 过滤目标的标签 | |
| 引入告警与记录规则文件 | |
| 配套组件:告警发送与主机指标采集 |
使用说明
Prometheus 命令与 PromQL 速查:启动检查、PromQL 基础、聚合函数、选择器与配置;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:启动与检查、PromQL 基础、聚合与函数、选择器与技巧、配置要点。
- 点「命令 / 表达式」列复制,替换指标名、标签与时间窗口后使用。
- 查计数器用量必用 rate()/increase(),别直接看累计值。
- 改配置后先 promtool check config 校验,再热加载或重启。
常见问题
- rate 和 irate 有什么区别?
- rate 用区间内首尾两点算平均速率,曲线平滑;irate 只用最后两个点,对变化更敏感但更抖。看趋势用 rate,看瞬时尖峰用 irate。
- 为什么 rate 要求区间至少两个样本?
- rate 需要窗口内至少有 2 个数据点才能计算斜率。若抓取间隔是 15s,窗口至少用 [1m] 才稳妥;窗口太小会频繁出现空值。
- P95 / P99 延迟怎么算?
- 用 histogram_quantile(0.95, sum by (le) (rate(指标_bucket[5m])))。前提是应用暴露了直方图指标(_bucket),summary 类型则用另一个写法。
- 怎么找到请求量最高的接口?
- 用 topk(5, sum by (path) (rate(http_requests_total[5m]))),按维度聚合后再取前列,便于定位热点。