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

安装prometheus-community helm栈后无法获取default命名空间指标如何解决

问题根因与解决步骤

1. 无法获取default命名空间Pod指标的核心原因

默认安装的kube-prometheus-stack存在两个默认限制:

  • Prometheus实例默认配置的podMonitorNamespaceSelector和serviceMonitorNamespaceSelector仅匹配带release: prometheus标签的命名空间,未打标签的default命名空间下的采集规则不会被Prometheus识别
  • 若业务Pod未暴露metrics接口、也没有配置对应的采集规则告知Prometheus需要抓取其指标,自然也无法查询到相关数据

2. 修复命名空间扫描权限

给default命名空间添加匹配标签,让Prometheus可以扫描该命名空间下的采集规则:

kubectl label namespace default release=prometheus

3. 配置业务Pod指标采集

可根据场景二选一:

方案A:注解自动抓取(适合快速测试)

给业务Pod添加以下注解,Prometheus默认通用抓取规则会自动识别:

annotations:
  prometheus.io/scrape: "true"
  prometheus.io/port: "<业务Pod暴露metrics的端口号>"
  prometheus.io/path: "/metrics" # 指标路径不是默认/metrics时才需要配置

方案B:PodMonitor配置(生产环境推荐)

在default命名空间下创建PodMonitor资源,明确指定需要抓取的Pod范围:

apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: business-pod-monitor
  namespace: default
  labels:
    release: prometheus # 需和Prometheus配置的selector匹配
spec:
  selector:
    matchLabels:
      app: <业务Pod的标签值>
  podMetricsEndpoints:
  - port: <metrics端口名或者端口号>
    path: /metrics

4. 配置自定义监控告警规则

通过创建PrometheusRule资源即可添加自定义规则,Prometheus会自动识别带匹配标签的规则资源:

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: business-alert-rules
  namespace: default
  labels:
    release: prometheus # 必须和Prometheus的ruleSelector匹配
spec:
  groups:
  - name: business-pod.rules
    rules:
    - alert: BusinessPodDown
      expr: kube_pod_status_phase{namespace="default", phase="Running"} == 0
      for: 1m
      labels:
        severity: warning
      annotations:
        summary: "业务Pod {{ $labels.pod }} 运行异常"
        description: "default命名空间下的Pod {{ $labels.pod }} 已经1分钟未处于Running状态"

5. 验证配置生效

配置完成后等待1~2分钟,进入Prometheus后台的Status > Configuration和Status > Targets页面,即可看到新增的采集目标和告警规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:45:05