You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Prometheus转VictoriaMetrics:用vmrange计算请求≤500ms占比

从Prometheus的le标签查询转换为VictoriaMetrics的vmrange查询

转换后的查询语句(推荐方式)

使用VictoriaMetrics提供的vm_le函数可以直接替代Prometheus中le标签的筛选逻辑,得到与原查询等价的结果:

sum(rate(vm_le(demo_service_request_duration_seconds_bucket, 0.5)[5m])) by (exported_job)
/
sum(rate(demo_service_request_duration_seconds_count[5m])) by (exported_job)

逻辑说明

  • vm_le(metric, value)函数会自动筛选出所有区间上限小于等于value(此处为0.5)的histogram bucket,完全对应Prometheus中{le="0.5"}标签的作用。
  • 后续的rate、sum by (exported_job)以及除法逻辑和原PromQL保持一致,确保计算的是各exported_job下请求耗时≤0.5秒的比例。

备选方案:直接匹配vmrange标签

如果不想使用函数,也可以通过正则表达式匹配vmrange标签来筛选目标区间(注意正则的转义处理):

sum(rate(demo_service_request_duration_seconds_bucket{vmrange=~"\\[.*,0\\.5\\]|\\[.*,0\\.5\\)"}[5m])) by (exported_job)
/
sum(rate(demo_service_request_duration_seconds_count[5m])) by (exported_job)

这种方式需要匹配所有右边界为0.5的区间格式(VictoriaMetrics的区间为左闭右开,格式如[0,0.5)或[0.25,0.5)),但相比vm_le函数不够灵活,当区间格式变化时需要调整正则,因此更推荐使用vm_le函数。

内容的提问来源于stack exchange,提问作者Thang Ha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:36:11