Get Started Free
  • Get Started Free
  • Courses
      What are the courses?

      Video courses covering Apache Kafka basics, advanced concepts, setup and use cases, and everything in between.

      View all courses
      Kafka® 101
      Kafka® Internal Architecture
      Kafka® Connect 101
      Kafka® Security
      Kafka Streams 101
      NewDesigning Events and Event Streams
      Event Sourcing and Storage
      NewSchema Registry 101
      Data Mesh 101
      ksqlDB 101
      Inside ksqlDB
      Spring Frameworks and Kafka®
      NewKafka® for Python Developers
      Building Data Pipelines
      Confluent Cloud Networking
      Confluent Cloud Security
      NewGoverning Data Streams
  • Learn
      Pick your learning path

      A wide range of resources to get you started

      Start Learning
      Articles

      Deep-dives into key concepts

      Patterns

      Architectures for event streaming

      FAQs

      Q & A about Kafka® and its ecosystem

      100 Days of Code

      A self-directed learning path

      Blog

      The Confluent blog

      Podcast

      Our podcast, Streaming Audio

      Confluent Developer Live

      Free live professional training

      Coding in Motion

      Build a real-time streaming app

  • Build
      Design. Build. Run.

      Build a client app, explore use cases, and build on our demos and resources

      Start Building
      Language Guides

      Build apps in your favorite language

      Tutorials

      Hands-on stream processing examples

      Demos

      More resources to get you started

  • Community
      Join the Community

      Confluent proudly supports the global community of streaming platforms, real-time data streams, Apache Kafka®️, and its ecosystems

      Learn More
      Kafka Summit and Current Conferences

      Premier data streaming events

      Meetups & Events

      Kafka and data streaming community

      Ask the Community

      Community forums and Slack channels

      Community Catalysts

      Sharing expertise with the community

  • Docs
      Get started for free

      Use the Cloud quick start to get up and running with Confluent Cloud using a basic cluster

      Learn more
      Documentation

      Guides, tutorials, and reference

      Confluent Cloud

      Fully managed, cloud-native service

      Confluent Platform

      Enterprise-grade distribution of Kafka

      Confluent Connectors

      Stream data between Kafka and other systems

      Tools

      Operational and developer tools

      Clients

      Use clients to produce and consume messages

Courses
What are the courses?

Video courses covering Apache Kafka basics, advanced concepts, setup and use cases, and everything in between.

View all courses
Kafka® 101
Kafka® Internal Architecture
Kafka® Connect 101
Kafka® Security
Kafka Streams 101
NewDesigning Events and Event Streams
Event Sourcing and Storage
NewSchema Registry 101
Data Mesh 101
ksqlDB 101
Inside ksqlDB
Spring Frameworks and Kafka®
NewKafka® for Python Developers
Building Data Pipelines
Confluent Cloud Networking
Confluent Cloud Security
NewGoverning Data Streams
Learn
Pick your learning path

A wide range of resources to get you started

Start Learning
Articles

Deep-dives into key concepts

Patterns

Architectures for event streaming

FAQs

Q & A about Kafka® and its ecosystem

100 Days of Code

A self-directed learning path

Blog

The Confluent blog

Podcast

Our podcast, Streaming Audio

Confluent Developer Live

Free live professional training

Coding in Motion

Build a real-time streaming app

Build
Design. Build. Run.

Build a client app, explore use cases, and build on our demos and resources

Start Building
Language Guides

Build apps in your favorite language

Tutorials

Hands-on stream processing examples

Demos

More resources to get you started

Community
Join the Community

Confluent proudly supports the global community of streaming platforms, real-time data streams, Apache Kafka®️, and its ecosystems

Learn More
Kafka Summit and Current Conferences

Premier data streaming events

Meetups & Events

Kafka and data streaming community

Ask the Community

Community forums and Slack channels

Community Catalysts

Sharing expertise with the community

Docs
Get started for free

Use the Cloud quick start to get up and running with Confluent Cloud using a basic cluster

Learn more
Documentation

Guides, tutorials, and reference

Confluent Cloud

Fully managed, cloud-native service

Confluent Platform

Enterprise-grade distribution of Kafka

Confluent Connectors

Stream data between Kafka and other systems

Tools

Operational and developer tools

Clients

Use clients to produce and consume messages

Get Started Free
Confluent Documentation
/

CONFLUENT PLATFORM

  • Overview
  • Get Started
    • What is Confluent Platform?
    • Quick Start for Confluent Platform
    • Kafka Basics on Confluent Platform
    • Introduction to Kafka
    • Kafka Design
    • Videos, Demos, and Reading Material
      • Scripted Confluent Platform Demo
        • Overview
        • Deploy Confluent Platform Environment
        • Deploy Hybrid Confluent Platform and Cloud Environment
        • End Demo
        • Troubleshooting
      • Tutorial: Introduction to Streaming Application Development
      • Clickstream Data Analysis Pipeline Using ksqlDB
      • RBAC Example for Confluent Platform
      • Replicator Schema Translation Example for Confluent Platform
      • DevOps for Kafka with Kubernetes and GitOps
        • Overview
        • Kafka DevOps Case Studies
          • Case Study: Graduated Environments
          • Case Study: Manage Cloud Secrets
          • Case Study: Kafka Connect management with GitOps
    • Course: Apache Kafka 101
  • Install and Upgrade
    • On-Premises Deployments
      • Overview
      • ZIP and TAR
      • Ubuntu and Debian
      • RHEL and CentOS
      • Docker
        • Install using Docker
        • Docker Configuration Parameters
        • Docker Image Reference
        • Docker Security
        • Docker Developer Guide
    • Confluent System Requirements
    • Confluent Platform Licenses
    • Confluent Platform Upgrade Checklist
    • Upgrade
    • Supported Versions and Interoperability
    • Using Confluent Platform systemd Service Unit Files
    • Confluent Platform Packages
    • Migrate to Confluent Platform
    • Migrate an Existing Kafka Deployment
    • Migrate to Confluent Server
  • Build Client Applications
    • Kafka Clients
      • Overview
      • Kafka Consumer
      • Kafka Producer
      • Client Guides
        • Python Client
        • .NET Client
        • Go Client
        • Java Client
        • C++ Client
        • JMS Client
      • Client Examples
        • Overview
        • C/C++ Example
        • .NET Example
        • Go Example
        • Spring Boot Example
        • Java Example
        • KafkaProducer Example
        • Python Example
        • REST Example
        • Node.js Example
        • Clojure Example
        • Groovy Example
        • Kafka Connect Datagen Example
        • kafkacat Example
        • Kotlin Example
        • Ruby Example
        • Rust Example
        • Scala Example
      • Client APIs
        • Kafka C++ Client API
        • Kafka Python Client API
        • Kafka Go Client API
        • Kafka .NET Client API
        • JMS Client
          • Overview
          • JMS Client Installation
          • JMS Client Development Guide
    • Application Development
    • MQTT Proxy
      • Introduction
      • Communication Security Settings
      • MQTT Proxy Configuration Options
    • Command Line Tools
      • CLI Tools for Confluent Platform
      • Confluent CLI
    • kcat (formerly kafkacat) Utility
  • Confluent REST APIs
    • Overview
    • Quick Start
    • API Reference
    • Production Deployment
      • Confluent Server
        • Configuration
        • Security
      • REST Proxy
        • Overview
        • Configuration
        • Monitoring
        • Security
    • Connect to Confluent Cloud
    • REST Proxy Tutorial
  • ksqlDB and Kafka Streams
    • Overview
    • ksqlDB
      • ksqlDB Overview
      • ksqlDB Quickstart
      • Install ksqlDB
      • Operate ksqlDB
      • Upgrade ksqlDB
      • Develop applications for ksqlDB
      • Run ksqlDB in Confluent Cloud
      • Connect ksqlDB to Confluent Cloud
      • Migrate Confluent Cloud ksqlDB applications
      • Run ksqlDB in Confluent Control Center
      • Connect ksqlDB to Confluent Control Center
      • Secure ksqlDB with RBAC
      • Frequently Asked Questions
      • Troubleshoot ksqlDB issues
      • Tutorials and Examples
        • Tutorials overview
        • ksqlDB Quick Start
        • How-to Guides
        • Example Code Snippets
        • Materialized View/cache
        • Streaming ETL Pipeline
        • Event-driven Microservice
        • ksqlDB with Embedded Connect
        • Clickstream Data Analysis Pipeline Using ksqlDB
        • Kafka Tutorials Using ksqlDB
    • Kafka Streams
      • Kafka Streams Overview
      • Introduction
      • Build your first Streams application
      • Tutorial: Introduction to Streaming Application Development
      • Connect Confluent Platform Components to Confluent Cloud
      • Streams Concepts
      • Streams Architecture
      • Streams Code Examples
      • Streams Developer Guide
        • Writing a Streams Application
        • Testing Streams Code
        • Configuring a Streams Application
        • Streams DSL
        • Naming Kafka Streams DSL Topologies
        • Optimizing Kafka Streams Topologies
        • Processor API
        • Data Types and Serialization
        • Interactive Queries
        • Memory Management
        • Running Streams Applications
        • Managing Streams Application Topics
        • Kafka Streams Security
        • Application Reset Tool
      • Pipelining with Kafka Connect and Kafka Streams
      • Streams Operations
        • Capacity Planning and Sizing
        • Monitoring Kafka Streams Applications
      • Streams Upgrade Guide
      • Streams FAQ
      • Streams Javadocs
  • Integrate External Systems to Kafka
    • Overview
    • Getting Started with Kafka Connect
    • Kafka Connect 101
    • Connect to Confluent Cloud
    • Connect to External Systems
    • Connector Developer Guide
    • Quick Start: Moving Data In and Out of Kafka with Kafka Connect
    • Kafka Connect Concepts
    • Kafka Connect Reference
      • Connect Javadocs
      • Connect REST Interface
      • Worker Configuration Properties
      • Connector Configuration Properties
    • Kafka Connect Licensing
    • Kafka Connect Monitoring
    • Kafka Connect Logging
    • Kafka Connect Transformations
      • Single Message Transforms for Confluent Platform
      • Cast
      • Drop
      • DropHeaders
      • ExtractField
      • ExtractTopic
      • Filter (Apache Kafka)
      • Filter (Confluent)
      • Flatten
      • GzipDecompress
      • HeaderFrom
      • HoistField
      • InsertField
      • InsertHeader
      • MaskField
      • MessageTimestampRouter
      • RegexRouter
      • ReplaceField
      • SetSchemaMetadata
      • TimestampConverter
      • TimestampRouter
      • TombstoneHandler
      • TopicRegexRouter
      • ValueToKey
      • Custom transformations
    • Kafka Connect Security
      • Kafka Connect Security Basics
      • Kafka Connect and RBAC
        • Getting started with RBAC and Kafka Connect
        • Configuring RBAC for a Connect cluster
        • Configuring RBAC for a Connect worker
        • RBAC for self-managed connectors
        • Connect Secret Registry
        • Example Connect role-binding sequence
    • Kafka Connect Architecture
    • FileStream Connectors
    • Kafka Connect FAQ
  • Schema Management
    • Overview
    • Installing and Configuring
      • Overview
      • Configuration Options
      • Run in Production
      • Connect to Confluent Cloud
      • Migrate Schemas
    • Schema Registry Tutorials
      • Tutorials Overview
      • On-Premises
      • Confluent Cloud
    • Schema Linking
    • Schema Validation on Confluent Server
    • Monitoring
    • Single and Multi-Datacenter Setup
    • Schema Evolution and Compatibility
    • Schemas in Control Center
    • Schemas on Confluent Cloud
    • Migrate Schemas
    • Deleting Schemas
    • Security
      • Schema Registry Security Overview
      • Role-Based Access Control
      • Schema Registry Security Plugin
        • Overview
        • Install and Configure
        • Schema Registry Authorization
          • Supported Operations and Resources
          • Role-Based Access Control
          • Schema Registry ACL Authorizer
          • Topic ACL Authorizer
    • Developer Guide
      • Overview
      • Maven Plugin
      • API Reference
      • API Usage Examples
    • Schema Formats
      • Formats, Serializers, and Deserializers
      • Avro
      • Protobuf
      • JSON Schema
    • Integrate Schemas from Connectors
  • Security
    • General Security
      • Security Overview
      • Security Tutorial
      • Configuring Confluent Server Authorizer
      • Cluster Registry
      • Security Compliance
      • Prefixes for Configuring Security
    • Authentication
      • Authentication Methods Overview
      • Authentication with SASL
        • Authentication with SASL using JAAS
        • Install
        • Configuring GSSAPI
        • Configuring OAUTHBEARER
        • Configuring PLAIN
        • Configuring SCRAM
        • Authentication using Delegation Tokens
        • Configuring Kafka Client Authentication with LDAP
      • Encrypt and Authenticate with TLS
      • HTTP Basic Authentication
      • Adding security to a running cluster
    • Authorization
      • Authorization using Role-Based Access Control
        • RBAC Overview
        • Quick Start
        • Predefined Roles
        • Enable RBAC in a Running Cluster
        • Discover Identifiers for Clusters
        • Configuring Token Authentication
        • Confluent Metadata API Reference
        • RBAC Example for Confluent Platform
      • Configure RBAC using the REST API
      • ACLs
        • Authorization using centralized ACLs
        • Authorization using ACLs
      • Group-Based Authorization Using LDAP
        • Configuring Confluent Server Authorizer
        • Configuring LDAP
        • Tutorial: Group-Based Authorization Using LDAP
    • Data Protection
      • Audit Logs
        • Audit Log Concepts
        • Auditable Events
        • Configure Audit Logs using the Confluent CLI
        • Configure MDS to Manage Centralized Audit Logs
        • MDS API Audit Log Configuration
        • Configure Audit Logs using the Properties File
      • Encrypt with TLS
      • Secrets
        • Secrets Management
        • Tutorial: Secret Protection
      • Redact Confluent Logs
    • Component Security
      • Confluent Control Center Security
        • Overview
        • Configure TLS/SSL
        • Configure SASL
        • Configure HTTP Basic Authentication
        • Authorize with Kafka ACLs
        • Configure LDAP
        • Configure RBAC
        • Manage and View RBAC Roles
          • Log in to Control Center when RBAC enabled
          • Manage RBAC roles with Control Center
          • View your RBAC roles in Control Center
      • Kafka Streams Security
      • Schema Registry Security
      • Kafka Connect Security
        • Kafka Connect Security Basics
        • Kafka Connect and RBAC
          • Getting started with RBAC and Kafka Connect
          • Configuring RBAC for a Connect cluster
          • Configuring RBAC for a Connect worker
          • RBAC for self-managed connectors
          • Connect Secret Registry
          • Example Connect role-binding sequence
      • ksqlDB RBAC
      • REST Proxy Security
        • REST Proxy Security
        • REST Proxy Security Plugins
      • ZooKeeper Security
    • Security Management Tools
      • Ansible Playbooks for Confluent Platform
      • Docker Security for Confluent Platform
  • Multi-DC Deployment Architectures
    • Overview
    • Architecture Patterns and Use Cases
    • Cluster Linking
      • Cluster Linking
      • Tutorial
      • Hybrid Cloud and Bridge-to-Cloud
      • Data Migration
      • Mirror Topics
      • Commands
      • Configuration Options
      • Metrics and Monitoring
      • Security
      • Frequently Asked Questions (FAQs)
    • Multi-Region Clusters
      • Overview
      • Tutorial: Multi-Region Clusters
      • Transition Standard Active-Passive Data Centers to a Multi-Region Stretched Cluster
    • Replicator for Multi-Datacenter Replication
      • Replicator Overview
      • Tutorial: Replicating Data Across Clusters
      • Active-active Demo
      • Download and Install
      • Configure and Run
      • Tuning Replicator
      • Monitoring Replicator
      • Replicator and Cross-Cluster Failover
      • Configuration Options
      • Migrate from MirrorMaker to Replicator
      • Replicator Verifier
      • Replicator to Cloud Configurations
  • Administer
    • Confluent Control Center
      • Control Center Overview
      • Installing and Configuring Control Center
        • Configuring
        • Configuration Reference
        • Check Control Center Version and Enable Auto-Update
        • Properties File
        • Connecting Control Center to Confluent Cloud
        • Confluent Monitoring Interceptors in Control Center
        • Installing Control Center on Kafka
        • Managing Confluent Platform Licenses
        • Troubleshooting Control Center
        • Upgrading Control Center
      • Clusters
      • Brokers
      • Topics Overview
        • Topics Overview
        • Create
        • View Topic Metrics
        • Message Browser
        • Manage Schemas for Topics
        • Edit Configuration Settings for Topics
        • Delete Topics
      • Connect
      • ksqlDB
      • Consumers
      • Replicators
      • Clusters
      • Control Center Alerts
        • Overview
        • Access Alerts and Alert History
        • Configure Alerts Properties
        • View and Manage Triggers
        • Manage Actions
        • Configure PagerDuty Emails with Alerts
        • REST API for Alerts History
        • Example Triggers and Actions
        • Troubleshooting Alerts
      • Security
    • Configuration Reference
      • Overview
      • Kafka Broker Configurations for Confluent Platform
      • Kafka Topic Configurations for Confluent Platform
      • Kafka Consumer Configurations for Confluent Platform
      • Kafka Producer Configurations for Confluent Platform
      • Kafka Connect Configurations for Confluent Platform
        • Overview
        • Sink Configurations
        • Source Configurations
      • Kafka AdminClient Configurations for Confluent Platform
      • License Configurations for Confluent Platform
      • Kafka Streams Configurations for Confluent Platform
      • Docker Configuration Parameters for Confluent Platform
      • Control Center Configurations
      • Streams Configurations
      • ZooKeeper Configurations
      • ksqlDB Server Configurations
    • CLI Tools for Confluent Platform
      • CLI Tools for Confluent Platform
      • Confluent CLI
    • Dynamic Kafka Configurations
    • Configure Multi-Node Environment
    • Metadata Service (MDS)
      • Configure Metadata Service (MDS)
      • Configure Confluent Platform Components to Communicate with MDS over TLS/SSL
      • Configure mTLS Authentication and RBAC for Kafka Brokers
      • Configure Kerberos Authentication for Brokers Running MDS
      • Configure LDAP Authentication
      • Configure LDAP Group-Based Authorization for MDS
      • Configure MDS to Manage Centralized Audit Logs
      • Metadata Service Configuration Options
      • Confluent Metadata API Reference
    • Confluent Metrics Reporter
    • Confluent Health+
      • Health+ Overview
      • Enable Health+
      • Health+ Intelligent Alerts
      • Health+ Monitoring Dashboard
      • Confluent Telemetry Reporter
      • Telemetry Reporter Metrics
      • Confluent Health+ FAQ
    • Confluent REST APIs
      • Overview
      • Quick Start
      • API Reference
      • Production Deployment
        • Confluent Server
          • Configuration
          • Security
        • REST Proxy
          • Overview
          • Configuration
          • Monitoring
          • Security
      • Connect to Confluent Cloud
      • REST Proxy Tutorial
    • Kafka Operations
      • Overview
      • Running Kafka in Production
      • Dynamic Kafka Configurations
      • Post Kafka Deployment
      • Self-Balancing Clusters
        • Self-Balancing Overview
        • Quick Start Demo (Docker)
        • Tutorial: Adding and Removing Brokers
        • Configuration Options and Commands
        • Performance and Resource Usage
      • Auto Data Balancing
        • Quick Start
        • Tutorial (Docker)
        • Command and Configuration Options
      • Monitoring Kafka
      • Confluent Metrics Reporter
      • Tiered Storage
    • Docker Operations
      • Overview
      • Kafka Monitoring and Metrics Using JMX
      • Configure Docker Logging
      • Mounting Docker External Volumes
    • Post Kafka Deployment
    • ZooKeeper Operations
      • Running ZooKeeper in Production
      • Kafka Raft (KRaft)
    • Kafka Streams Operations
      • Capacity Planning and Sizing
      • Monitoring Kafka Streams Applications
    • ksqlDB Operations
    • DevOps for Kafka with Kubernetes and GitOps
      • Overview
      • Kafka DevOps Case Studies
        • Case Study: Graduated Environments
        • Case Study: Manage Cloud Secrets
        • Case Study: Kafka Connect management with GitOps
  • Confluent Health+
    • Health+ Overview
    • Enable Health+
    • Health+ Intelligent Alerts
    • Health+ Monitoring Dashboard
    • Confluent Telemetry Reporter
    • Telemetry Reporter Metrics
    • Confluent Health+ FAQ
  • Resources
  • Confluent CLI
  • Release Notes
    • Release Notes
    • Component Changelogs
  • API and Javadocs
    • Overview
    • Kafka Java APIs
      • Kafka Java Client APIs
      • Kafka Producer Java API
      • Kafka Consumer Java API
      • Kafka AdminClient Java API
      • Kafka Streams Java API
      • Kafka Connect Java API
    • Kafka Client APIs
      • Kafka C++ Client API
      • Kafka Python Client API
      • Kafka Go Client API
      • Kafka .NET Client API
      • JMS Client
        • Overview
        • JMS Client Installation
        • JMS Client Development Guide
    • Confluent APIs
      • Confluent Schema Registry API
      • ksqlDB API
      • Confluent REST API
      • Confluent Metadata API
  1. Home
  2. Platform
  3. Multi-DC Deployment Architectures
  4. Cluster Linking

Monitoring Cluster Metrics and Optimizing Links¶

Looking for Confluent Cloud Cluster Linking docs? You are currently viewing Confluent Platform documentation. If you are looking for Confluent Cloud docs, check out Cluster Linking on Confluent Cloud.

Confluent Platform exposes several metrics through Java Management Extensions (JMX) that are useful for monitoring Cluster Linking. Some of these are derived from extending existing interfaces, and others are new for Cluster Linking.

To monitor Cluster Linking, set the JMX_PORT environment variable before starting the cluster, then collect the reported metrics using your usual monitoring tools. JMXTrans, Graphite, and Grafana are a popular combination for collecting and reporting JMX metrics from Kafka. Datadog is another popular monitoring solution.

Wherever possible, metrics are categorized below per associated link names.

Also, you can set quotas to limit resources and bandwidth used by Cluster Linking to help optimize the system.

Cluster Link Fetcher Metrics¶

kafka.server.link:type=ClusterLinkFetcherManager,name=MaxLag,clientId=ClusterLink,link-name={linkName}
Maximum lag in messages between the replicas on the destination cluster and the leader replica on the source cluster. Provides an indication of overall cluster link health and a relative measure of whether the destination cluster is lagging behind.
kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId},topic={topic},partition={partition},link-name={linkName}
Drill-down of MaxLag, which provides lag in number of messages per replica on the destination cluster from the leader replica on the source cluster. Useful to debug any specific lagging topic partitions/replicas on the destination cluster.
kafka.server.link:type=ClusterLinkFetcherManager,name=DeadThreadCount,clientId=ClusterLink,link-name={linkName}
Number of dead threads of type ClusterLinkThread, where a dead thread is indicative of an issue with fetching from the source cluster for a partition.
kafka.server:type=FetcherStats,name=BytesPerSec,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId},brokerHost={host},brokerPort={port},link-name={linkName}
Rate at which data is fetched from the source cluster. Indicates amount of throughput in bytes per second on the cluster link.
kafka.server:type=FetcherStats,name=RequestsPerSec,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId}, brokerHost={host},brokerPort={port},link-name={linkName}
Rate at which requests are issued to the source cluster over the cluster link.

Throttle Time Metrics for Cluster Link Fetchers¶

kafka.server:type=cluster-link,link-name={linkName}
Throttle time metrics may indicate that a cluster link connection is being throttled, which is useful for understanding why lag may be increasing over a cluster link.
Name Description
fetch-throttle-time-avg, fetch-throttle-time-max Gives throttle times for the cluster linking fetchers. May indicate increases in lag on the cluster link due to throttling/quotas being enforced.

Cluster Link Network Client Metrics¶

kafka.server:type=cluster-link-metadata-metrics,link-name={linkName}
Metrics pertaining to the metadata refresh client in the cluster link.
kafka.server:type=cluster-link-fetcher-metrics,link-name={linkName},broker-id={id},fetcher-id={id}
Metrics pertaining to data fetcher requests in the cluster link.

Metrics seen through cluster-link-fetcher-metrics are shown in the following table.

Name Description
connection-count Number of connections for a cluster link
connection-creation-rate, connection-creation-total Rate per second and total for connections created for the cluster link. If the rate is high, the source cluster may be overloaded with connections.
connection-close-rate, connection-close-total Rate per second and total for connections closed for the cluster link. Can be compared to connection creation to understand the balance of creating/closing connections.
incoming-byte-rate, incoming-byte-total Number of bytes per second and total received from the source cluster.
outgoing-byte-rate, outgoing-byte-total Number of bytes per second and total sent to the source cluster.
network-io-rate, network-io-total Indicates rate and total network input/output (IO).
request-rate, request-total Rate per second and total requests issued to the source cluster over the cluster link.
response-rate, response-total Rate per second and total number of responses received from the source cluster over the cluster link.
request-size-avg, request-size-max Average and maximum size in bytes of requests issued to the source cluster over the cluster link.
io-ratio, io-wait-time-ns-avg, io-waittime-total, iotime-total Statistics of the destination cluster’s network IO for the requests over the cluster link.
successful-authentication-rate, successful-authentication-total Rate per second and total number of cluster link clients authenticating to the source cluster over the cluster link.
successful-reauthentication-rate, successful-reauthentication-total Rate per second and total re-authentication to the source cluster over the cluster link.
failed-reauthentication-rate, failed-reauthentication-total Rate per second and total failed re-authentications to the source cluster over the cluster link. If failures are present, it could indicate misconfigured or stale cluster link credentials.
reauthentication-latency-avg Average re-authentication latency. Helps to assess whether clients are taking too long to authenticate to the clusters.

Request Metrics for Cluster Link APIs¶

kafka.network:type=RequestMetrics,name={ LocalTimeMs| RemoteTimeMs | RequestBytes | RequestQueueTimeMs| ResponseQueueTimeMs | ResponseSendIoTimeMs | ResponseSendTimeMs | ThrottleTimeMs| TotalTimeMs },request={CreateClusterLinks| DeleteClusterLinks| ListClusterLinks}
Depending on the request name, provides statistics on requests on the cluster link, including requests and response times, time requests wait in the queue, size of requests (bytes), and so forth.
kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=ClusterLink
Provides metrics on delayed operations on the cluster link.

Metrics on the Destination Cluster¶

Starting with Confluent Platform 6.0.0, the following broker metrics, specific to Cluster Linking, are available on the brokers in the destination cluster.

kafka.server:type=cluster-link-metrics,name=mirror-partition-count,link-name={linkName}
Number of actively mirrored partitions for which the broker is leader
kafka.server:type=cluster-link-metrics,name=failed-mirror-partition-count,link-name={linkName}
Number of failed mirror partitions for which the broker is leader. A partition may be in a failed state if the source partition’s epoch has gone backwards; for example, if the topic was recreated.
kafka.server:type=ReplicaManager,name=UnderMinIsrMirrorPartitionCount
Number of mirrored partitions that are under min ISR.
kafka.server:type=ReplicaManager,name=BlockedOnMirrorSourcePartitionCount
Number of mirrored partitions that are blocked on fetching data due to issues on the source cluster.
kafka.server:type=ReplicaManager,name=UnderReplicatedMirrorPartitions
Number of mirrored partitions that are under replicated.
kafka.server:type=cluster-link-metrics,name=(linked-leader-epoch-change-rate, linked-leader-epoch-change-total),link-name={linkName}

Rate per second and total number of times leader election was triggered on this broker due to source leader changes.

  • Frequent triggers for leader election might indicate issues on the source cluster. This can be a useful metric during on-premises to Confluent Cloud migrations to identify if there are issues on the source cluster.
kafka.server:type=cluster-link-metrics,name=(linked-topic-partition-addition-rate, linked-topic-partition-addition-total),link-name={linkName}

Rate per second and total number of times at which the partition count was updated due to source changes.

  • A high volume or rate of partition count updates might indicate issues on the source cluster.
kafka.server:type=cluster-link-metrics,name=(consumer-offset-committed-rate, consumer-offset-committed-total),link-name={linkName}

Rate per second and total number of consumer offsets committed for a cluster link.

  • Helps verify if offset migration is happening correctly, a critical metric for failover readiness scenarios.
kafka.server:type=cluster-link-metrics,name=(topic-config-update-rate, topic-config-update-total),link-name={linkName}

Rate per second and total number of topic configurations updates due to source topic configuration changes.

  • Can help troubleshooting and debugging issues where configurations are not propagated.
kafka.server:type=cluster-link-metrics,name=(acls-added-rate, acls-added-total),link-name={linkName}
Rate per second and total number of access control lists (ACLs) that are being added for each link.
kafka.server:type=cluster-link-metrics,name=(acls-deleted-rate, acls-deleted-total),link-name={linkName
Rate per second and total number of access control lists (ACLs) that are being deleted for each link.
kafka.server:type=cluster-link-metrics,state=Mirror,link-name={link_name},name=mirror-topic-count
Total number of active (healthy) mirror topics.
kafka.server:type=cluster-link-metrics,state=PausedMirror,link-name={link_name},name=mirror-topic-count
Total number of mirror topics for which mirroring from the source has been paused.
kafka.server:type=cluster-link-metrics,state=PendingStoppedMirror,link-name={link_name},name=mirror-topic-count
Total number of mirror topics whose mirroring has been temporarily stopped.
kafka.server:type=cluster-link-metrics,state=FailedMirror,link-name={link_name},name=mirror-topic-count
Total number of failed mirror topics; that is, mirroring cannot proceed.

Metrics on the Source Cluster¶

The source cluster (with Kafka or Confluent Server previous to 6.1.0) is unaware of cluster links, but can monitor cluster link related usage by allocating link-specific credentials. Quota metrics for each credential is available in both Kafka and Confluent Platform when user quotas are enabled.

kafka.server:type=Fetch,user={linkPrincipal},client-id={optionalLinkClientId}
  • byte-rate
  • throttle-time
kafka.server:type=Request,user={linkPrincipal},client-id={optionalLinkClientId}
  • request-time
  • throttle-time

If the source cluster is Confluent Server with a version of 6.1.0 or higher, then you can also monitor cluster links on the source cluster with the following metrics.

kafka.server:type=cluster-link-source-metrics,request={request},link-id={linkUUID}
  • request-byte-total
  • request-total
  • response-byte-total
  • response-time-ns-avg

Setting Quotas on Resources and Bandwidth Usage¶

You can set various types of quotas to place caps on resources and bandwidth used for Cluster Linking on the source and destination clusters.

Destination Cluster Quotas¶

You can limit total usage for cluster links on each broker in the destination cluster by setting the broker config confluent.cluster.link.io.max.bytes.per.second.

Source Cluster Quotas¶

The source cluster is unaware of cluster links, but can limit usage for cluster links by allocating link-specific credentials and assigning quotas for the link principal.

  • Fetch byte-rate (replication throughput) for each cluster link principal
  • Request rate quota (CPU/thread usage) for each cluster link principal. This also includes CPU usage for metadata and configuration sync as well as ACL and consumer offset migration.

Suggested Reading¶

  • See Monitoring Kafka for a full list of metrics for Confluent Platform.
  • See the Apache Kafka® documentation on metrics reporting and monitoring through JMX endpoints.

Confluent Cloud is a fully-managed Apache Kafka service available on all three major clouds. Try it free today.

Get Started Free
  • Confluent
  • About
  • Careers
  • Contact
  • Professional Services
  • Product
  • Confluent Cloud
  • ksqlDB
  • Developer
  • Free Courses
  • Tutorials
  • Event Streaming Patterns
  • Documentation
  • Blog
  • Podcast
  • Community
  • Forum
  • Meetups
  • Kafka Summit
  • Catalysts
Terms & Conditions Privacy Policy Do Not Sell My Information Modern Slavery Policy Cookie Settings Feedback

Copyright © Confluent, Inc. 2014- . Apache, Apache Kafka, Kafka, and associated open source project names are trademarks of the Apache Software Foundation

On this page: