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

如何用Prometheus采集特定可用区Pods?配置报错求助

解决Prometheus采集特定可用区Pod的配置问题

错误原因

你当前的配置报错是因为:当kubernetes_sd_configs的role设为pod时,selectors里只能使用针对Pod的选择器,不能指定node角色的选择器,这违反了Prometheus的配置规则。

正确配置方案

要实现采集特定可用区(节点标签az=us-east-1)上的Pod,需要分两步:

  1. 开启节点元数据附加,让Pod目标带上所在节点的标签
  2. 通过重标记规则(relabel)过滤出符合可用区条件的Pod

完整配置如下:

- job_name: 'istio-monitoring'
  scrape_interval: 10s
  kubernetes_sd_configs:
  - role: pod
    namespaces:
      names:
      - integration
      - istio-system
    attach_metadata:
      node: true  # 开启节点元数据附加,Pod目标会带上节点的所有标签
  relabel_configs:
  - source_labels: [__meta_kubernetes_node_label_az]
    regex: us-east-1
    action: keep  # 只保留节点az标签等于us-east-1的Pod目标

配置说明

  • attach_metadata: node: true:会自动将Pod所在节点的所有标签以__meta_kubernetes_node_label_<标签键>的形式附加到Pod采集目标上,比如节点标签az=us-east-1会变成__meta_kubernetes_node_label_az="us-east-1"
  • relabel_configs的keep动作:只保留匹配regex规则的目标,这里就是筛选出节点az为us-east-1的Pod,不符合的会被丢弃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:17