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

如何通过relabeling/metricRelabeling删除Prometheus ServiceMonitor指定指标特定标签

配置说明

首先区分ServiceMonitor中两个重打标签配置段的适用场景:

  • relabelings:作用于服务发现阶段,仅处理抓取目标的元信息标签,不会修改实际抓取到的指标自带标签,不适用于当前需求
  • metricRelabelings:作用于指标抓取完成、写入时序库之前,可直接修改指标的标签、过滤指标,是当前场景需要使用的配置段

注意不要直接配置全局labeldrop: foo规则,该规则会对所有抓取到的指标生效,会把所有指标携带的foo标签全部删除,不符合仅处理node_metrics_first指标的要求。

具体配置

直接在ServiceMonitor的对应端点下添加metricRelabelings规则即可,核心是利用replace动作的特性:当replacement配置为空字符串时,会直接删除targetLabel指定的标签,且仅对匹配到sourceLabels规则的指标生效,不会影响其他指标。
完整配置片段参考:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: custom-metrics-monitor
spec:
  endpoints:
  - port: metrics
    interval: 30s
    metricRelabelings:
    # 仅删除node_metrics_first指标的foo标签
    - sourceLabels: [__name__]
      regex: node_metrics_first
      targetLabel: foo
      action: replace
      replacement: ""
  selector:
    matchLabels:
      # 替换为你自己的服务标签选择器
      app: your-service
效果验证

配置生效后,抓取到的指标会和预期完全一致:

node_metrics_first{AAA="aaa"}
node_metrics_second{BBB="bbb",CCC="ccc"}

如果需要对其他指定指标删除特定标签,只需要修改规则中regex字段为对应指标名、targetLabel字段为要删除的标签名即可,支持多条规则并列实现多指标/多标签的定向删除。

内容的提问来源于stack exchange,提问作者chocho li

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:25:04