Monitor the Confluent for Kubernetes operator
Confluent for Kubernetes (CFK) exposes its own Prometheus metrics—signals about how well the operator itself is managing your Confluent Platform resources, such as reconciling custom resources (CRs), keeping up with work, and staying healthy. These metrics describe the operator process, not the Kafka/Confluent Platform data it manages.
Note
This is a different endpoint from the JMX Prometheus exporter described in JMX Metrics. That exporter runs on each Confluent Platform component pod and exposes metrics about Confluent Platform itself. The endpoint on this page runs on the CFK operator pod and exposes metrics about the operator process. Both use port 7778, but on different pods.
The endpoint
Where:
http://<operator-pod>:7778/metrics. The Helm chart exposes this port through aClusterIPService namedconfluent-operator.Format: plain-text Prometheus/OpenMetrics exposition format, a standard format that most monitoring tools can read. Nothing Kubernetes-specific is required to consume it, and collecting it with a scraper is optional.
Access: cluster-internal only. The endpoint is unauthenticated and has no TLS, so only the Kubernetes network can reach it. Do not expose it publicly.
Metric types
Each metric is one of the following types, which tells you how to read it:
counter: A cumulative value that only increases, such as total reconciles. Read it as a rate.gauge: A current value that can go up or down, such as queue depth. Read it as-is.histogram: A distribution of measurements, for calculating percentiles. On this page, histograms measure durations, so their names end in_seconds.
Global (operator-wide) metrics
These metrics are emitted once for the operator process.
Metric |
Type |
Meaning |
|---|---|---|
|
gauge |
Number of operator replicas running. |
|
counter |
Liveness probe ( |
|
counter |
Readiness probe ( |
|
counter |
The operator’s calls to the Kubernetes API, labeled by |
|
counter |
Webhook TLS certificate reloads and reload failures. |
|
counter |
Admission webhook panics. Should be |
|
gauge/counter |
Go runtime and process metrics: memory, goroutines, garbage collection, CPU, and file descriptors. Use these for leak or resource-pressure detection. |
Controller (per-resource) metrics
A controller is the reconcile loop that manages one CR type. The operator
runs one controller per CR type, and every controller emits the same set of
metrics, distinguished by a controller (or cfk_controller_name)
label.
This covers both Day-1 and Day-2 resources. Every CR type has a controller
and emits these metrics, even if no CR of that type currently exists in the
cluster (the series reads 0):
Day-1 (workloads):
kafka,zookeeper,kraftcontroller,connect,schemaregistry,ksqldb,controlcenter,kafkarestproxy,gateway,flinkapplication,flinkenvironment,usmagentDay-2 (REST-driven):
kafkatopic,schema,connector,confluentrolebinding,clusterlink,schemaexporter,schemaimporterConfiguration/migration:
kafkarestclass,cmfrestclass,kraftmigrationjob
For example, a KafkaTopic (Day-2) controller emits the same
reconcile_total, workqueue_depth, and latency metrics as a Kafka
(Day-1) controller. Only the label value differs.
Reconcile
Metric |
Type |
Meaning |
|---|---|---|
|
counter |
Reconcile outcomes, by |
|
counter |
Reconciles that returned an error. |
|
counter |
Errors the operator gave up retrying. These need human action. |
|
counter |
Panics during reconcile. Should be |
|
histogram |
Reconcile duration. |
|
gauge |
Workers currently reconciling. |
|
gauge |
The worker cap for this controller. CFK runs one worker per controller. |
Work queue
These metrics describe the items waiting to be reconciled by a controller.
Metric |
Type |
Meaning |
|---|---|---|
|
gauge |
Items waiting to be reconciled. |
|
counter |
Items enqueued. |
|
counter |
Re-enqueues. A high value relative to |
|
histogram |
Time an item waits in the queue before pickup. |
|
histogram |
Time to process one item. |
|
gauge |
In-progress work. A growing value indicates a stuck reconcile. |
|
gauge |
Duration of the longest single in-flight reconcile. |
CFK-specific
These metrics come from CFK’s own instrumentation and supplement the controller-runtime and work queue metrics.
Metric |
Type |
Meaning |
|---|---|---|
|
counter |
The operator’s own per-controller error count, labeled by
|
|
histogram |
The operator’s own reconcile latency. |
|
counter |
Failures resolving a |
|
counter |
Requeues in the Kafka configure workflow, caused by an internal-topic produce issue, a stuck file watcher, or a secret that has not synced yet. Appears only after it first fires. |