PromQL深入解析:从基础到复杂查询及故障排除
1. 百分位数查询
在监控请求延迟时,有时我们不仅想知道在给定延迟下服务的请求百分比,还想了解给定百分位数请求的延迟情况。例如,要获取 95% 分位数的延迟,可以使用 histogram_quantile 函数。具体步骤如下:
1. 定义分位数(这里是 0.95)。
2. 提供代表我们感兴趣的数据集的查询表达式,即请求持续时间直方图中每个桶在滚动时间窗口内的平均增长率。
3. 如果想获取服务的全局延迟,而不是每个实例、Pod 或处理程序的延迟,需要应用 sum() 聚合。
示例代码如下:
histogram_quantile(0.95, sum without (instance, pod, handler)
(rate(prometheus_http_request_duration_seconds_bucket[5m])))
这个表达式会产生一个值,表示 95% 的请求将处于或低于该值。
2. 抓取任务的健康状态
对于每个定义的抓取任务,Prometheus 会自动生成一个名为 up 的指标,该指标反映了相关任务的健康状态:成功抓取为 1,失败为 0。我们可以使用这个指标快速可视化被抓取的所有导出器和/或应用程序的当前健康状态。
示例查询所有成功抓取的任务:
sum by (job) (up)
查询结果示例:
超级会员免费看
订阅专栏 解锁全文
6099

被折叠的 条评论
为什么被折叠?



