Prometheus中两个计数器除法运算结果异常问题求助
问题原因与解决方法
核心问题:标签不匹配导致向量运算错误
你的两个rate查询中,app标签的值不一致:一个是serviceA,另一个是service-A(多了横杠)。Prometheus的向量运算默认要求标签完全精确匹配,只有标签键值对完全相同的时间序列才能参与运算。由于两个查询的
app标签不匹配,Prometheus无法将错误请求率的序列和总请求率的序列对应起来。你看到的结果为1,大概率是因为运算时没有找到匹配的序列对,反而出现了某个序列与自身匹配的异常情况。解决步骤
- 统一
app标签值:将两个rate查询的app标签修正为一致的取值,确保指向同一个服务:rate(istio_requests_total{app="service-A",grpc_response_status=~"13"}[5m]) / rate(istio_requests_total{app="service-A"}[5m]) - 适配多实例场景:如果服务存在多个实例,建议用
sum()聚合后再做除法,避免因实例维度的标签不匹配导致运算异常:sum(rate(istio_requests_total{app="service-A",grpc_response_status=~"13"}[5m])) / sum(rate(istio_requests_total{app="service-A"}[5m]))
- 统一
内容的提问来源于stack exchange,提问作者ankit
相关产品推荐
相关产品推荐

