Docs

Monitoring and alerting

Monitor API7 and APISIX Ingress Controller health and performance, and configure alerts for common failure modes.

Applies to:API7 Ingress Controller (drives API7 Gateway)APISIX Ingress Controller (drives Apache APISIX)

Both the Ingress Controller and the gateway it manages expose metrics. This guide describes how to scrape them and which signals to alert on.

What to scrape

Ingress Controller metrics

The controller exposes a metrics endpoint on port 8080 by default. The exact path and metric names are not published here; read them from the running pod:

kubectl port-forward -n aic deploy/api7-ingress-controller 8080:8080
# or for APISIX Ingress Controller
# kubectl port-forward -n apisix deploy/apisix-ingress-controller 8080:8080
curl -s http://localhost:8080/metrics

For the listening address, see Ports and Endpoints and Configuration File.

Gateway metrics

The gateway publishes Prometheus metrics on port 9091 at /apisix/prometheus/metrics. Typical pod annotations for Prometheus scraping:

prometheus.io/scrape: "true"
prometheus.io/port: "9091"
prometheus.io/path: "/apisix/prometheus/metrics"

The API7 Gateway chart requires enable_export_server: true and a configured export_addr. See Ports and Endpoints.

SymptomWhat to checkSuggested action
Controller pod not readyprobe_addr readiness and liveness probesCheck logs and common issues
Configuration not syncingLeader election, sync_latency, and sync_errors if availableSee configuration synchronization
High upstream error rateGateway 5xx rate and upstream healthVerify backend health and routes
Admission webhook failingWebhook certificate and port 9443See admission webhook
Certificate expiryTLS and mTLS certificate validityPlan rotation before expiry

Dashboards

  • Use the API7 Dashboard or APISIX Prometheus plugin for gateway traffic dashboards.
  • For the controller itself, build a dashboard from the api7_ingress_* or apisix_ingress_* metric prefixes scraped from port 8080.