By default, the Gloo Gateway control plane exposes metrics in Prometheus format. You can use these metrics to monitor the health and performance of your gateway environment. For more information about how metrics are implemented, refer to the kgateway project developer docs.

View control plane metrics

The following steps show you how to quickly view the metrics endpoint of the control plane deployment. To integrate the metrics into your observability stack, see the OpenTelemetry guide.

  1. Port-forward the control plane deployment on port 9092.

      kubectl -n gloo-system port-forward deployment/gloo-gateway 9092
      
  2. Open your browser to the metrics endpoint: http://localhost:9092/metrics.

    Example output:

      # HELP kgateway_controller_reconciliations_total Total controller reconciliations
    # TYPE kgateway_controller_reconciliations_total counter
    kgateway_controller_reconciliations_total{controller="gateway",result="success"} 1
    kgateway_controller_reconciliations_total{controller="gatewayclass",result="success"} 2
    kgateway_controller_reconciliations_total{controller="gatewayclass-provisioner",result="success"} 2
      

Control plane metrics reference

Review the following table to understand more about each metric.

Helpful terms:

  • Controller: A Kubernetes controller that reconciles resources as part of the Gloo Gateway control plane deployment.

  • Resource: A Kubernetes object that is managed by a controller of the control plane.

  • Snapshot: A complete, point-in-time representation of the current state of resources that the controller builds and serves to a gateway proxy via the Envoy extensible Discovery Service (XDS) API.

  • Sync: The metrics refer to two kinds of syncs:

    • Status sync metrics represent the time it takes for you as a user to view the status that is reported on the resource.
    • Snapshot sync metrics roughly represent the time it takes for a resource change to become effective in the gateway proxies.
  • Transform: The process of the control plane converting high-level resources or intermediate representations (IR) into lower-level representations into the structure that the XDS API expects for a snapshot.

NameTypeLabelsHelp
gloo_gateway_controller_reconcile_duration_secondshistogramcontroller,Reconcile loop duration for controller Labels: controller, name, namespace File: internal/ext_services/metrics.go
gloo_gateway_controller_reconciliations_runninggaugecontroller,Number of controller reconciliations currently running Labels: controller, name, namespace File: internal/ext_services/metrics.go
gloo_gateway_controller_reconciliations_totalcountercontroller,Total number of controller reconciliation loops run to align actual resource states with desired states Labels: controller, name, namespace, result File: internal/ext_services/metrics.go
gloo_gateway_translator_translation_duration_secondshistogramname,Translation duration Labels: name, namespace, translator File: internal/plugins/metrics/metrics.go
gloo_gateway_translator_translations_runninggaugename,Current number of translations running Labels: name, namespace, translator File: internal/plugins/metrics/metrics.go
gloo_gateway_translator_translations_totalcountername,Total number of translations Labels: name, namespace, translator, result File: internal/plugins/metrics/metrics.go
gloo_gateway_xds_streamsgaugegateway,Number of XDS streams Labels: gateway, namespace, resource File: internal/nack_detector/stats.go
gloo_gateway_xds_streams_insyncgaugegateway,Number of XDS streams in sync Labels: gateway, namespace, resource File: internal/nack_detector/stats.go
gloo_gateway_xds_streams_nackgaugegateway,Number of XDS streams that reported NACK Labels: gateway, namespace, resource File: internal/nack_detector/stats.go
gloo_gateway_xds_streams_outofsyncgaugegateway,Number of XDS streams out of sync Labels: gateway, namespace, resource File: internal/nack_detector/stats.go
gloo_gateway_xds_sync_duration_secondshistogramgateway,Duration of time for an XDS stream to sync Labels: gateway, namespace, resource File: internal/nack_detector/stats.go
gloo_gateway_xds_syncs_totalcountergateway,Total number of XDS stream syncs Labels: gateway, namespace, resource File: internal/nack_detector/stats.go