Gateway Exported Metrics

The Envoy Gateway provides a collection of self-monitoring metrics in Prometheus format.

These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).

Watching Components

The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway, they all follow the design of Watching Components.

Envoy Gateway collects the following metrics in Watching Components:

NameDescription
watchable_depthCurrent depth of watchable map.
watchable_subscribed_duration_secondsHow long in seconds a subscribed watchable is handled.
watchable_subscribed_totalTotal number of subscribed watchable.
watchable_subscribed_errors_totalTotal number of subscribed watchable errors.

Each metric includes the runner label to identify the corresponding components, the relationship between label values and components is as follows:

ValueComponents
gateway-apiGateway API Translator
infrastructureInfrastructure Manager
xds-serverxDS Server
xds-translatorxDS Translator
global-ratelimitGlobal RateLimit xDS Translator

Metrics may include one or more additional labels, such as message etc.

Status Updater

Envoy Gateway monitors the status updates of various resources (like GatewayClass, Gateway and HTTPRoute etc.) through Status Updater.

Envoy Gateway collects the following metrics in Status Updater:

NameDescription
status_update_totalTotal number of status updates by object kind.
status_update_failed_totalNumber of status updates that failed by object kind.
status_update_conflict_totalNumber of status update conflicts encountered by object kind.
status_update_success_totalNumber of status updates that succeeded by object kind.
status_update_noop_totalNumber of status updates that are no-ops by object kind. This is a subset of successful status updates.
status_update_duration_secondsHow long a status update takes to finish.

Each metric includes kind label to identify the corresponding resources.

xDS Server

Envoy Gateway monitors the cache and xDS connection status in xDS Server.

Envoy Gateway collects the following metrics in xDS Server:

NameDescription
xds_snapshot_creation_totalTotal number of xds snapshot cache creation.
xds_snapshot_creation_failedNumber of xds snapshot cache creation that failed.
xds_snapshot_creation_successNumber of xds snapshot cache creation that succeed.
xds_snapshot_update_totalTotal number of xds snapshot cache updates by node id.
xds_snapshot_update_failedNumber of xds snapshot cache updates that failed by node id.
xds_snapshot_update_successNumber of xds snapshot cache updates that succeed by node id.
xds_stream_duration_secondsHow long a xds stream takes to finish.
xds_delta_stream_duration_secondsHow long a xds delta stream takes to finish.
  • For xDS snapshot cache update and xDS stream connection status, each metric includes nodeID label to identify the connection peer.
  • For xDS stream connection status, each metric also includes streamID label to identify the connection stream.

Infrastructure Manager

Envoy Gateway monitors the apply (create or update) and delete operations in Infrastructure Manager.

Envoy Gateway collects the following metrics in Infrastructure Manager:

NameDescription
resource_apply_totalTotal number of applied resources.
resource_apply_failedNumber of applied resources that failed.
resource_apply_successNumber of applied resources that succeed.
resource_apply_duration_secondsHow long in seconds a resource be applied successfully.
resource_delete_totalTotal number of deleted resources.
resource_delete_failedNumber of deleted resources that failed.
resource_delete_successNumber of deleted resources that succeed.
resource_delete_duration_secondsHow long in seconds a resource be deleted successfully.

Each metric includes the kind label to identify the corresponding resources being applied or deleted by Infrastructure Manager.

Metrics may also include name and namespace label to identify the name and namespace of corresponding Infrastructure Manager.