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

如何在prometheus-operator栈中配置排除指定服务的监控

完全可以实现,你只需要调整Prometheus CR的重标记(relabel)配置,在服务发现阶段过滤掉foo、bar两个服务即可,原有默认全量监控其他服务的逻辑不会受影响。

操作步骤

1. 确认过滤规则匹配维度

Prometheus对K8s服务做服务发现时,会自动注入__meta_kubernetes_service_name元标签,值为对应服务的名称,我们就基于这个标签做过滤。

2. 调整Prometheus CR配置

找到你集群中已部署的Prometheus自定义资源对象,在spec字段下新增如下配置:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: <你的Prometheus实例名>
  namespace: monitoring
spec:
  # 你原有的所有配置(比如serviceAccountName、requests、replicas、serviceMonitorSelector等)全部保留,仅新增以下两段配置
  # 过滤ServiceMonitor关联的服务
  serviceMonitorRelabelings:
  - sourceLabels: ["__meta_kubernetes_service_name"]
    regex: "(foo|bar)"
    action: drop
  # 过滤PodMonitor关联的Pod资源
  podMonitorRelabelings:
  - sourceLabels: ["__meta_kubernetes_service_name"]
    regex: "(foo|bar)"
    action: drop

配置提交后,Prometheus Operator会自动触发Prometheus配置重载,不需要手动重启实例。

3. 验证过滤生效

打开Prometheus Web UI,进入/service-discovery路径,搜索foo、bar对应的服务目标,确认目标状态显示为Dropped即代表过滤成功。

如果你额外配置了基于prometheus.io/scrape注解的自动抓取job,需要在对应scrape job的relabel_configs字段下添加和上文完全一致的drop规则,否则注解匹配的服务不会触发上述过滤逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:39:00