对于一个2分钟的时间窗口,该向量有以下结果(我正在使用Grafana探索,并选择2分钟的时间):
instana_metrics{aggregation="max", endpoint="mutation addProduct"}
t1 - 3051
t2 - 5347
t3 - 5347
t4 - 4224
t5 - 4224我需要一些相当于
SELECT Count(*)
FROM instana_metrics结果为5。
我能想到的最好的就是这个
count( instana_metrics{aggregation="max", endpoint="mutation addProduct"} )
t1 | 1
t2 | 1
t3 | 1
t4 | 1
t5 | 1我的解释是,每一个时间点都有一个样本值。但结果本身是一个时间序列,我期望有一个标量。
顺便说一句:我知道我可以使用Grafana转换,但不幸的是,我需要一个只使用PromQL的解决方案。
发布于 2022-07-10 19:37:44
只需使用时间函数即可。例如,下面的查询返回名称为instana_metrics的每个时间序列在过去2分钟内的原始样本数
count_over_time(instana_metrics[2m])注意,Prometheus根据图上的每个点独立计算提供的查询,例如,图上的每个值显示每个匹配的时间序列在2分钟后查找窗口中的原始样本数,并以给定的点结束。
如果在Grafana中的选定时间范围内,每个匹配序列只需要一个值,那么使用以下即时查询:
count_over_time(instana_metrics[$__range])参见关于这些医生变量的$__range。
请参阅关于Grafana中即时查询类型的这些医生。
https://stackoverflow.com/questions/72896698
复制相似问题