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

如何通过Prometheus记录规则生成自定义INFO指标?

更通用的Prometheus自定义INFO指标实现方法

你当前使用absent(non_exist{network_id="1",network_name="Ethereum"})的方式虽能生效,但依赖一个不存在的指标,逻辑不够直观。以下是更通用、易维护的实现方法:

方法1:静态生成单个元数据指标

利用vector()函数创建基础时间序列,再通过记录规则的labels字段直接定义所需元数据标签,无需依赖不存在的指标:

groups:
- name: custom_network_metadata
  rules:
  - record: networks_id
    expr: vector(1)
    labels:
      network_id: "1"
      network_name: "Ethereum Mainnet"

执行后会生成目标序列:networks_id{network_id="1", network_name="Ethereum Mainnet"} 1,逻辑清晰且无额外依赖。

方法2:批量生成多个同类指标

若需创建多条元数据记录,可在同一规则组内添加多条record规则,维护成本低:

groups:
- name: custom_network_metadata
  rules:
  - record: networks_id
    expr: vector(1)
    labels:
      network_id: "1"
      network_name: "Ethereum Mainnet"
  - record: networks_id
    expr: vector(1)
    labels:
      network_id: "2"
      network_name: "BNB Chain"

方法3:基于已有指标扩展(动态场景)

如果元数据来自已存在的监控指标(比如配置类指标),可直接在记录规则中补充标签,实现动态关联:

groups:
- name: custom_network_metadata
  rules:
  - record: networks_id
    expr: config_network  # 假设这是已有的配置指标
    labels:
      network_name: "Ethereum Mainnet"

上述方法均无需依赖不存在的指标,更符合Prometheus记录规则的常规用法,可读性和可维护性更强。

内容的提问来源于stack exchange,提问作者Ivan Aracki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:36:06