关于Prometheus记录规则示例中path label的技术问询
关于Prometheus记录规则示例中path label的解释
1. 什么是path label
path标签是Prometheus监控HTTP服务时常用的自定义标签,用来标记HTTP请求对应的具体接口路径(比如/api/login、/api/user/list)。它的作用是让你能区分不同接口的请求量、响应时间等指标,是细分业务监控维度的关键标签之一。
2. 示例中的具体用法
我们拆解官方示例里的两条记录规则来看:
第一条规则:按实例+路径计算请求率
record: instance_path:requests:rate5m expr: rate(requests_total{job="myjob"}[5m])
- 原指标
requests_total(属于myjob任务)本身就带有instance(实例标识)和path(接口路径)标签。 rate(...)函数计算该指标5分钟内的每秒请求增长率。- 生成的新指标
instance_path:requests:rate5m会保留原指标的instance和path标签,相当于为每个实例的每个接口路径单独统计请求率,保留了最细的维度。
第二条规则:按路径聚合所有实例的请求率
record: path:requests:rate5m expr: sum without (instance)(instance_path:requests:rate5m{job="myjob"})
sum without (instance)表示对第一步生成的指标,去掉instance标签做求和操作。- 最终生成的
path:requests:rate5m指标只保留path标签,代表同一个接口路径下,所有实例的总请求率,实现了跨实例的路径维度聚合,方便查看某个接口的整体请求量。
内容的提问来源于stack exchange,提问作者guettli
相关产品推荐
相关产品推荐

