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

如何在Prometheus中仅为特定Istio指标保留criticality标签?

你的配置逻辑搞反了——现在是先给所有指标加上criticality标签,然后把目标指标的这个标签删掉,完全和需求相反。

要实现只给istio_request_duration_milliseconds_bucket和istio_requests_total这两个指标添加criticality标签,推荐用带条件匹配的replace动作,直接只给符合条件的指标赋值标签:

- action: replace
  # 同时取注解值和指标名称作为源标签
  sourceLabels:
    - __meta_kubernetes_pod_annotation_fire_layout_criticality
    - __name__
  # 正则匹配:注解值任意,指标名称是指定的两个之一
  regex: '(.+);(istio_request_duration_milliseconds_bucket|istio_requests_total)'
  targetLabel: criticality
  # 提取注解值作为标签值
  replacement: '$1'

如果习惯先给所有指标加标签再清理,也可以这么写:

# 先给所有指标添加上criticality标签
- action: replace
  sourceLabels: [__meta_kubernetes_pod_annotation_fire_layout_criticality]
  targetLabel: criticality
# 然后移除非目标指标的criticality标签
- action: labeldrop
  regex: criticality
  # 匹配所有不是目标指标的名称
  sourceLabels: [__name__]
  regex: '^(?!istio_request_duration_milliseconds_bucket$|istio_requests_total$).*'

两种方式都能实现需求,第一种更高效,避免多余的标签操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:55:01