NGINX Ingress Metrics Exporter Configuration

Metrics exporter provides Prometheus metrics for monitoring. This guide covers metrics exporter configuration.

Enable Metrics

Basic Metrics Export

NGINX Ingress Controller exposes metrics on port 10254 by default:

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx-controller-metrics
  namespace: ingress-nginx
spec:
  ports:
  - name: prometheus
    port: 10254
    targetPort: prometheus
  selector:
    app.kubernetes.io/component: controller

Prometheus Scraping

ServiceMonitor Configuration

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
spec:
  selector:
    matchLabels:
      app.kubernetes.io/component: controller
  endpoints:
  - port: prometheus
    interval: 30s
    path: /metrics

Key Metrics

Important Metrics to Monitor

  • nginx_ingress_controller_requests: Request count
  • nginx_ingress_controller_request_duration_seconds: Request duration
  • nginx_ingress_controller_connections: Active connections
  • nginx_ingress_controller_requests: Requests by status code

Best Practices

  1. Monitor key metrics: Track request rate, latency, errors
  2. Set up alerts: Alert on high error rates
  3. Create dashboards: Visualize metrics

Conclusion

Metrics exporter enables comprehensive monitoring. Configure Prometheus scraping and create dashboards for visibility.