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

如何通过VictoriaMetrics HTTP API获取指定过滤条件的指标名称?

实现方法

当然可以通过VictoriaMetrics的HTTP API直接实现,不用拉取全量指标数据,有两种更高效的方式:

方法一:利用/api/v1/series接口过滤后去重

调用/api/v1/series接口,它专门用于返回匹配标签条件的时间序列标签集合,不会返回指标数值,数据量小很多:

  • 请求示例:
    GET /api/v1/series?match[]={app="service1"}
    
  • 返回的data字段是一个数组,每个元素是该序列的所有标签键值对,你只需要遍历这个数组,提取每个元素里的name值,再做去重即可得到所有唯一的指标名称。

方法二:用label_values函数直接获取去重结果

通过/api/v1/query接口结合PromQL的label_values函数,能直接拿到去重后的指标名称,无需额外处理:

  • 请求示例:
    GET /api/v1/query?query=label_values({app="service1"}, name)
    
  • 这个请求会直接返回data.result数组,里面就是所有app=service1对应的唯一name标签值,省去了自己去重的步骤。可以指定time参数(比如time=-1m)来限定查询的时间范围,避免扫描过久之前的数据,提升效率。

这两种方法都比拉全量数据的方式高效得多,尤其是方法二,直接一步到位得到结果。

内容的提问来源于stack exchange,提问作者Yuri Win

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:25:17