Skip to main content
Quick navigation

Health & Monitoring

Health

To check the health of your Gateway, you can check the endpoint /health on the Gateway API (port 8888 by default).

cURL Example
curl -s  http://localhost:8888/health | jq .
Output Example
{
"status": "UP",
"checks": [
{
"id": "buildInfo",
"status": "UP",
"data": {
"version": "3.1.0",
"time": "2024-06-03T20:32:32+0000",
"commit": "41967691f4c54b5d76a3f1fa8aee3701903b89d9"
}
},
{
"id": "live",
"status": "UP"
}
],
"outcome": "UP"
}

Monitoring

How to access Prometheus metrics from Gateway

The Prometheus endpoint is <gateway_host>:<gateway_port>/metrics, for example:

localhost:8888/metrics

Please be aware that if GATEWAY_SECURED_METRICS is enabled (which is the default setting), you will need to use the credentials specified in GATEWAY_ADMIN_API_USERS to access it.

For example, using the default credentials, you can access the metrics with the following command:

Retrieve Gateway Metrics
curl conduktor-gateway:8888/metrics --user "admin:conduktor"

See the API environment variables for more details.

Available metrics for Prometheus

Metric descriptionMetric value
The number of connections closed per secondgateway_upstream_connection_close_rate
The total number of connections closedgateway_upstream_connection_close_total
The number of new connections established per secondgateway_upstream_connection_creation_rate
The total number of new connections establishedgateway_upstream_connection_creation_total
The number of times the I/O layer checked for new I/O to perform per secondgateway_upstream_select_rate
The total number of times the I/O layer checked for new I/O to performgateway_upstream_select_total
The number of time the I/O thread spent waitinggateway_upstream_io_wait_rate
The total time the I/O thread spent waitinggateway_upstream_io_wait_total
The number of active broker connections of the connection poolgateway_brokered_active_connections
The number of active connections per vclustergateway_active_connections_vcluster
The latency to process a request and generate a responsegateway_latency_request_response
The latency to process a request and generate a response for each ApiKeygateway_apiKeys_latency_request_response
The total number of bytes exchanged through the gatewaygateway_bytes_exchanged
The total bytes exchanged within the context of the specified virtual clustergateway_bytes_exchanged_vcluster
A counter on number of rebuilding kafka requestgateway_thread_request_rebuild
The number of pending tasks on our Gateway thread (where all rebuilding request/response happen)gateway_thread_tasks
The number of connections from Gateway to the backing Kafka clustergateway_upstream_connections_upstream_connected
The number of connections from clients to Gatewaygateway_upstream_connections_downstream
The number of Kafka nodesgateway_upstream_io_nodes
The size of the kcache (equal to the number of key-value pairs we have in the cache)gateway_kcache_size
The number of active backend brokersgateway_backend_brokered_active_connections
The number of authentication attempts that failed for each usergateway_failed_authentications
The log end offset of client topicsgateway_topic_log_end_offset
The current offset of consumer group on client topicgateway_topic_current_offset
The total bytes exchanged within the context of the specified topicgateway_bytes_exchanged_topic_total
The total errors per API key for the specified virtual cluster and usernamegateway_error_per_apiKeys
The current inflight API keys of the specified virtual cluster and usernamegateway_current_inflight_apiKeys