Grafana新手求助:如何基于现有查询语句获取metrics的中位数
Grafana 中位数计算操作指南
基于你现有查询逻辑,根据指标类型不同,中位数计算实现方式如下:
- 若你使用的
backend_service_manager_className_methodName_request_time为Summary类型指标,且采集配置中已开启0.5分位预计算:
直接修改查询语句即可,结果和原有逻辑一致统一为毫秒单位:
其中avg(backend_service_manager_className_methodName_request_time{quantile="0.5"}) * 1000quantile="0.5"对应的就是中位数统计结果。 - 若你使用的是Histogram类型指标,或是Summary指标未预配置中位数采集:
用histogram_quantile函数计算全局中位数,语句示例如下:
可根据实际需求调整语句中的histogram_quantile(0.5, sum(rate(backend_service_manager_className_methodName_request_time_bucket[5m])) by (le)) * 10005m时间统计窗口大小。
注意:跨实例直接对Summary预计算的分位数取平均,得到的结果不是严谨的全局中位数,对准确性要求高的场景优先使用Histogram类型指标计算中位数。
内容的提问来源于stack exchange,提问作者babycoder
相关产品推荐
相关产品推荐

