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

Kube-Prometheus-Stack无法采集部分Ingress Nginx指标求助

排查Ingress-Nginx缺失nginx_ingress_controller_requests指标的可能原因

以下是几种常见的配置遗漏点,按优先级排查:

  • Ingress-Nginx Controller未正确启用指标模块
    检查Helm安装Ingress-Nginx时的values配置,确保metrics相关开关已开启:

    controller:
      metrics:
        enabled: true
        serviceMonitor:
          enabled: true
      config:
        enable-metrics: "true"
    

    若未开启controller.metrics.enabled,Controller不会暴露metrics端口;若serviceMonitor.enabled未开,不会自动生成ServiceMonitor供Prometheus发现。

  • Kube-Prometheus-Stack的ServiceMonitor选择器未匹配目标
    Prometheus仅会采集匹配其serviceMonitorSelector规则的ServiceMonitor资源。检查Kube-Prometheus的values配置,确保选择器能覆盖Ingress-Nginx的ServiceMonitor标签(默认标签为app.kubernetes.io/name: ingress-nginx):

    prometheus:
      prometheusSpec:
        serviceMonitorSelector:
          matchLabels:
            app.kubernetes.io/name: ingress-nginx
        # 若使用多标签匹配,可改用matchExpressions,或关闭默认选择器限制
        serviceMonitorSelectorNilUsesHelmValues: false
    
  • Ingress-Nginx版本不兼容或指标被禁用
    部分旧版Ingress-Nginx中,状态码相关指标的名称为nginx_ingress_requests_total而非nginx_ingress_controller_requests,需确认当前版本与官方文档匹配。同时检查Controller的启动参数,确保未通过--disable-metrics=requests之类的参数禁用请求指标。

  • 网络策略或端口访问限制
    确认Prometheus所在命名空间(通常为monitoring)能访问Ingress-Nginx Controller的metrics端口(默认10254)。检查是否存在网络策略阻止了Prometheus Pod与Ingress Controller Pod的通信,或节点防火墙限制了该端口的入站流量。

  • ServiceMonitor的Endpoint配置错误
    查看Ingress-Nginx自动生成的ServiceMonitor资源,确认其endpoint的port、path与实际一致:

    endpoints:
    - port: metrics
      path: /metrics
      scheme: http
    

    若自定义了metrics端口或路径,需确保此处配置与Controller的暴露方式匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:43:24