<a id="client-kafka-streams-faq"></a>

# Frequently Asked Questions for Kafka Streams in Confluent Cloud

This FAQ answers common questions about the Confluent Cloud Console capabilities for
Kafka Streams applications, including monitoring, application status, and the
Kafka Streams Add-On. For general questions about building Kafka Streams
applications, running them at scale, state stores, or troubleshooting
application code, see the
[Kafka Streams FAQ for Confluent Platform](/platform/current/streams/faq.html).

## Does Confluent Cloud run my Kafka Streams application for me?

No. Kafka Streams applications are client-side applications that you build and
run on your own infrastructure. They don’t run inside Confluent Cloud or the Kafka
brokers. What Confluent Cloud provides is a **Kafka Streams** page in the
Confluent Cloud Console that visualizes the health and performance of applications
connected to your cluster. For more information, see [Monitor Kafka
Streams Applications in Confluent Cloud](monitor-kafka-streams-apps.md#client-kafka-streams-monitor-apps).

## How do I see my Kafka Streams applications in the Confluent Cloud Console?

Navigate to your cluster’s overview page in the Confluent Cloud Console and click
**Kafka Streams**. The page lists every Kafka Streams application connected to
the cluster, with aggregate metrics in the header and a table of
per-application metrics. Click an application name to open its detail page,
which shows per-thread status and performance charts. For step-by-step
instructions, see [Monitor Kafka Streams Applications in Confluent Cloud](monitor-kafka-streams-apps.md#client-kafka-streams-monitor-apps).

## Why don’t my Kafka Streams applications show up on the Kafka Streams page?

The most common causes are:

- **Client library version.** The **Kafka Streams** page requires
  applications built with Kafka Streams and Apache Kafka® client libraries version
  4.0.0 or later.
- **Metrics collection delay.** After an application starts, Confluent Cloud can
  take a few minutes to collect and display its metrics.
- **Self-managed clusters.** If your application connects to a Confluent Platform cluster
  registered with Confluent Cloud through Unified Stream Manager, the application must use a
  Kafka Streams Java library based on Kafka 4.2.0 or later, because USM
  identifies active applications using the application ID label that Kafka
  adds starting in that version. Earlier client versions don’t appear in the
  monitoring views.

## What metrics does the Kafka Streams page show?

The page shows a curated set of metrics for monitoring in the
Confluent Cloud Console, not the full set of Java Management Extensions (JMX)
metrics that the Kafka Streams library exposes. At the application level, you
see running threads, production and consumption totals, memtable size,
estimated key count, block cache usage, end-to-end latency, and a CPU ratio.
The CPU ratio breaks down into commit, poll, process, and punctuate
operations. At the thread level, you see status and a table of assigned
tasks, including per-task consumer lag. For the complete set of JMX metrics
available from the Kafka Streams library itself, which you can collect with
your own metrics reporters, see [Kafka Streams Metrics in Confluent Cloud](kafka-streams-metrics.md#kafka-streams-metrics).

## What do the application statuses mean?

The Cloud Console derives an application’s status from the state of
its threads:

- **Running**: All threads are actively processing records.
- **Rebalancing**: The application is reassigning tasks among its threads,
  for example, because an instance started or stopped.
- **Restoring**: One or more threads are restoring state from a changelog
  topic, for example, after a new instance joins the application or after
  local state is lost.

Rebalancing and restoring are normal, typically short-lived phases of a
Kafka Streams application’s lifecycle. If an application shows a
**Rebalancing** or **Restoring** status for an extended period, check the
application logs for errors. For more information, see
[Application status](monitor-kafka-streams-apps.md#client-kafka-streams-monitor-apps-application-status).

## What is the Kafka Streams Add-On?

The Kafka Streams Add-On unlocks deeper diagnostics for applications that use
the [Streams Rebalance Protocol](upgrade-guide.md#streams-upgrade-guide-streams-rebalance-protocol)
(`group.protocol=streams`). With the Add-On, the application overview page
and thread detail panel show more diagnostics during rebalances and
restores, such as per-thread task reassignment progress and state restoration
progress. Without the Add-On, or if your application uses the classic group
protocol, the application list, overview page, and thread detail panel are
still available. However, Cloud Console shows a banner prompting you
to get the Add-On. To request it, click **Get Add-On** on an application’s
overview page, or contact your Confluent account team.

## Can I monitor Kafka Streams applications running against a self-managed cluster?

Yes, if the cluster is Confluent Platform and registered with Confluent Cloud through Unified Stream Manager. This
lets you view the same **Kafka Streams** page for applications connected to
your on-premises Confluent Platform clusters. It requires Confluent Platform running in KRaft mode on
version 8.2.2 or later, deployed with Confluent for Kubernetes 3.3.0 or later or
Confluent Ansible 8.2.2 or later. You must also enable client monitoring on
the Confluent Platform cluster, which collects Kafka Streams application metrics along with
producer and consumer metrics. For details, see [Monitor Confluent Platform Kafka Streams Applications with Unified Stream Manager](../usm/monitor/kafka-streams.md#platform-kafka-streams).

## Can I use Control Center and Unified Stream Manager client monitoring at the same time?

No. A Confluent Platform cluster can’t have both Control Center client metrics and
USM client monitoring enabled simultaneously.

## Does monitoring my Kafka Streams applications increase network traffic?

It can increase network traffic, depending on how your applications
authenticate. Kafka Streams applications fetch metadata for every topic in the
cluster, not just the topics they produce to or consume from. The Kafka Streams
framework requires this broader metadata for its internal operations. If your
applications use [service accounts](../security/authenticate/workload-identities/service-accounts/overview.md#service-accounts) with the
[DataDiscovery](../security/access-control/rbac/predefined-rbac-roles.md#datadiscovery-role) or [DataSteward](../security/access-control/rbac/predefined-rbac-roles.md#datasteward-role) role, this can increase network traffic compared to
applications that use more restrictive service accounts. Monitor network
usage and the `request_count` metric using the [Metrics API](../monitoring/metrics-api.md#metrics-api), and determine whether a more restrictive role fits your use
case. This behavior is independent of, and not caused by, the **Kafka
Streams** monitoring page itself. For more information, see
[View thread and task details](monitor-kafka-streams-apps.md#client-kafka-streams-monitor-apps-thread-details).

## Where can I get help or support?

If you have questions or need support, see the [Kafka Streams
documentation for Confluent Cloud](overview.md#client-kafka-streams), ask in the
Confluent [Community Forum](https://forum.confluent.io/), or contact
[Confluent Support](https://support.confluent.io/) if you have a support
plan.

## Related content

- [Monitor Kafka Streams Applications in Confluent Cloud](monitor-kafka-streams-apps.md#client-kafka-streams-monitor-apps)
- [Kafka Streams Metrics in Confluent Cloud](kafka-streams-metrics.md#kafka-streams-metrics)
- [Monitor Confluent Platform Kafka Streams Applications with Unified Stream Manager](../usm/monitor/kafka-streams.md#platform-kafka-streams)
- [Kafka Streams FAQ for Confluent Platform](/platform/current/streams/faq.html)

#### NOTE
This website includes content developed at the [Apache Software Foundation](https://www.apache.org/)
under the terms of the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0.html).
