Monitor Confluent Cloud Gateway Metrics
Confluent Cloud Gateway (Confluent Gateway) exposes Prometheus-format metrics and a liveness check through a single administrative service. For information on how to enable the metrics endpoint, see Administration and metrics configuration.
Metric names and labels can change between Confluent Gateway releases. Query the
administrative service’s /metrics endpoint
(http://{bindAddress}:{port}/metrics) directly on your Confluent Gateway instance
to verify the exact metric names exposed by your deployed version.
To view pre-built Grafana dashboards and a sample Prometheus stack you can run
locally, see the gateway monitoring examples
in the confluent-kubernetes-examples repository.
Monitor failed connections
Use these metrics to detect downstream request failures and upstream broker connections that fail to establish.
Metric |
Description |
Alert guidance |
|---|---|---|
|
Total count of downstream client-facing errors. Measures failures occurring on the proxy before requests reach upstream Kafka brokers. |
Alert on a sustained non-zero rate over five minutes. |
|
Measures cumulative connection attempts from clients to the proxy with connection attempts from the proxy to upstream brokers. Divergence indicates the proxy accepts client connections but fails to establish broker connections. |
Alert if the gap remains non-zero for more than five minutes. |
|
Measures total client disconnections partitioned by cause, such as graceful
shutdowns ( |
Alert on spikes in |
|
Identifies current lifecycle state of virtual cluster routes, returning |
Alert if any route reports |
Example Prometheus Query Language (PromQL) query for the downstream error rate:
rate(kroxylicious_client_to_proxy_errors_total[5m])
Track request and response completion
Use these metrics to identify requests that do not complete and schema validation failures on enforced routes.
Metric |
Description |
Alert guidance |
|---|---|---|
|
Requests that never receive a response. |
Alert if the ratio of responses to requests drifts from
|
|
Schema validation success and failure counts per route and topic. Confluent Gateway emits this metric only for routes that have schema validation enforcement enabled. For more information, see Enforce Data Governance Centrally with Confluent Gateway. |
Alert on a sustained |
Example PromQL queries:
# Request rate
rate(kroxylicious_client_to_proxy_request_total[5m])
# Response rate
rate(kroxylicious_proxy_to_client_response_total[5m])
# Schema validation failure rate by route and topic
sum by (route, topic) (rate(gateway_schema_validation_requests_total{outcome="failure"}[5m]))
Measure throughput and latency
Use these metrics for capacity planning and to track authentication swapping (AuthSwap) latency against your service-level objectives (SLOs).
Metric |
Description |
Alert guidance |
|---|---|---|
|
Traffic volume and payload sizes for client-to-proxy and proxy-to-broker traffic. |
Track for capacity planning. No default alert required. |
|
Client-observed end-to-end AuthSwap latency percentiles. |
Alert if the |
|
Secret store lookup latency during AuthSwap. |
Alert if the |
|
Client-side and cluster-side AuthSwap authentication success and failure counts. |
Alert on a sustained |
Note
Confluent Gateway emits gateway_authswap_* metrics only for routes configured
with AuthSwap authentication. Routes using passthrough authentication
do not emit these series. For details,
see Authentication swapping.
Example PromQL queries:
# Average request size by virtual cluster
rate(kroxylicious_client_to_proxy_request_size_bytes_sum[5m])
/ rate(kroxylicious_client_to_proxy_request_size_bytes_count[5m])
# AuthSwap client authentication failure rate by route
rate(gateway_authswap_client_auth_total{result="failure"}[5m])
# 99th-percentile AuthSwap latency by route
gateway_authswap_latency_seconds{quantile="0.99"}
Check process health
Use standard Java Virtual Machine (JVM) and process metrics to monitor process health.
Metric |
Description |
Alert guidance |
|---|---|---|
|
Heap and non-heap memory usage compared to configured limits. |
Alert if usage exceeds 85% of maximum memory. |
|
Garbage collection pause time. |
Alert on a rising |
|
Process CPU usage compared to total host CPU usage. |
Alert if usage exceeds your configured threshold. |
|
Open file descriptors compared to the maximum limit. Requires
|
Alert if open files exceed 80% of the maximum limit. |
|
Active client-to-proxy and proxy-to-broker connection counts. |
Track against expected client and broker counts. |
|
Pending tasks per Netty event-loop thread. |
Alert on a sustained non-zero value to detect event-loop saturation. |
Example PromQL query for heap usage:
jvm_memory_used_bytes{area="heap"} / jvm_memory_max_bytes{area="heap"}