tencent cloud

腾讯云可观测平台

动态与公告
产品动态
产品简介
产品概述
产品优势
基本功能
基本概念
应用场景
使用限制
购买指南
云产品监控
应用性能监控
终端性能监控
前端性能监控
云拨测
Prometheus 监控服务
Grafana 服务
事件总线
云压测
快速入门
监控概览
实例分组
云产品监控
应用性能监控
云拨测
云压测
Prometheus 监控服务
Grafana 服务
创建 Dashboard
事件总线
告警服务
云产品监控
云产品监控指标
控制台操作指南
云服务器监控组件
云产品监控对接 Grafana
故障处理
实践教程
应用性能监控
应用性能监控简介
接入指南
控制台操作指南
实践教程
参考信息
常见问题
终端性能监控
终端性能监控概述
控制台操作指南
接入指南
实践教程
前端性能监控
前端性能监控简介
控制台操作指南
接入指南
常见问题
云拨测
产品简介
控制台操作指南
常见问题
云压测
云压测概述
控制台操作指南
实践教程
JavaScript API 列表
常见问题
Prometheus 监控
Prometheus 监控简介
接入指南
控制台操作指南
实践教程
Terraform
常见问题
Grafana 服务
产品简介
控制台操作指南
Grafana 平台常用功能指引
常见问题
Dashboard
什么是 Dashboard
控制台操作指南
告警管理
控制台操作指南
故障处理
常见问题
事件总线
事件总线简介
控制台操作指南
实践教程
常见问题
报表管理
常见问题
腾讯云可观测平台常见问题
告警服务相关
一般性问题
监控图表相关
云服务器监控组件相关
动态阈值告警相关
云监控对接 Grafana 相关
文档阅读指南
相关协议
应用性能监控服务等级协议
APM 隐私协议
APM 数据处理和安全协议
前端性能监控服务等级协议
终端性能监控服务等级协议
云拨测服务等级协议
Prometheus 监控服务服务等级协议
Grafana 服务服务等级协议
云压测服务等级协议
云压测使用限制
Cloud Monitor Service Level Agreement
词汇表

Nginx Ingress Controller Exporter 接入

PDF
聚焦模式
字号
最后更新时间: 2025-09-17 19:07:49

操作场景

在使用 Nginx Ingress Controller 过程中需要对 Nginx Ingress Controller 运行状态进行监控,以便了解 Nginx Ingress Controller 服务是否运行正常,排查 Nginx Ingress Controller 故障等。腾讯云可观测平台 Prometheus 监控服务提供了开箱即用的 Nginx Ingress Controller Grafana 监控大盘,本文将为您介绍如何使用 Prometheus 监控 Nginx Ingress Controller。

接入方式

前提条件

在 Prometheus 实例对应地域及私有网络(VPC)下,创建腾讯云容器服务 Kubernetes 集群,并为集群创建 命名空间
在容器集群中已成功部署自建的 Nginx Ingress。
Prometheus 监控服务控制台,选择对应的 Prometheus 实例,在数据采集 > 集成容器服务中找到对应容器集群完成关联集群操作。可参见指引 关联集群

操作步骤

步骤1:确认 Nginx Ingress 暴露指标

1. 用户使用社区提供的 Helm repo 进行安装。需确认 values.yaml 中设置了开启指标的配置项 metrics,具体配置如下:
controller:
metrics:
port: 10254
portName: metrics
2. 用户自行创建 Nginx Ingress 工作负载。
2.1 需在工作负载 ingress-nginx-controller 的端口设置 spec.template.spec.containers[0].ports 中增加以下配置项:
- containerPort: 10254
name: metrics
protocol: TCP
配置完成后的效果如下图所示:

2.2 如果使用 v1.12.0及以上的 ingress-nginx-controller 镜像版本,还需在启动参数中增加开启指标的配置项,需在工作负载 ingress-nginx-controller 的参数设置 spec.template.spec.containers[0].args 中增加配置项 --enable-metrics=true,配置完成后的效果如下图所示:

2.3 重启工作负载 ingress-nginx-controller 以应用最新配置。

步骤2:添加采集任务

1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 数据采集 > 集成容器服务中选择已经关联的集群,通过数据采集配置 > 新建自定义监控来添加采集配置。
方式一
方式二
通过服务发现添加 PodMonitors 来定义 Prometheus 抓取任务,选择 yaml 编辑 > PodMonitors,填写 yaml 配置后单击确定即可,如下图所示:

YAML 配置示例如下:
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: ingress-nginx-monitor # 填写一个唯一名称
namespace: prom-xxxxxxxx # 可填 prometheus 实例 ID 对应的 namespace,也可填写 ingress-nginx-controller 所在的 namespace
spec:
podMetricsEndpoints:
- interval: 30s
port: metrics # 填写步骤1 values.yaml 中 metrics 对应的 portName
path: /metrics
honorLabels: true
relabelings:
- action: labeldrop
regex: endpoint
namespaceSelector: # 选择要监控的 ingress-nginx-controller pod 所在的 namespace
matchNames:
- ingress-nginx
selector: # 填写要监控 pod 的 Label 值,以定位目标 pod
matchLabels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/component: controller
通过控制台的页面编辑能力添加 Prometheus 原生采集配置,选择页面编辑,根据提示填充各配置项。配置完成后单击确定即可,具体示例如下:
监控类型选择 PodMonitors。
采集任务填写一个唯一名称。
命名空间选择 ingress-nginx-controller 所在的命名空间。
工作负载类型选择 ingress-nginx-controller 的负载类型。
工作负载选择 ingress-nginx-controller 的负载名称。
targetPort 填写步骤一中设置的端口号数字。
metricsPath 保持为 /metrics。


步骤3:验证

1. 在当前 Prometheus 实例,在数据采集 > 集成容器服务中选择对应集群,通过数据采集配置 > 自定义监控来查看采集配置。
2. 找到步骤二中添加的采集配置(二者选其一即可),查看指标采集速率是否大于0,Targets 是否与 ingress-nginx-controller pod 数量一致且均为 up 状态,如下图所示:

3. 单击采集配置对应的指标明细,可查看指标的采集详情,检查指标列表中包含以 nginx_ingress 为前缀的指标即可,如下图所示:


查看监控

前提条件

Prometheus 实例已绑定 Grafana 实例。

操作步骤

1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 数据采集 > 集成中心中找到并单击 Nginx Ingress Controller 监控,选择 Dashboard > Dashboard 操作 > Dashboard 安装/升级,单击安装/升级即可开启 Nginx Ingress Controller 监控大盘。
3. 在实例基本信息页面,找到绑定的 Grafana 地址,打开并登录,然后在 middleware 文件夹中找到 nginx-ingress 相关面板,即可观察上述 ingress-nginx-controller 的 dashboards,如下图所示:

NGINX Ingress controller:

Request Handling Performance:



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈