Skip to content

AWS MSK (Prometheus)

Amazon Managed Streaming for Apache Kafka (Amazon MSK) open monitoring exposes Kafka Broker JMX and Broker node metrics in Prometheus format. DataKit scrapes these endpoints directly with the Prometheus collector, without AWS AK, Func, or CloudWatch collection scripts.

Configuration

Prerequisites

  • This integration applies to MSK Provisioned clusters with Amazon MSK open monitoring enabled.
  • An existing cluster must be in the ACTIVE state before open monitoring can be enabled. Enable it during cluster creation or later in the Monitoring section of the cluster properties.
  • DataKit must be deployed in a network that can resolve and access the private DNS names of MSK Brokers, typically the same VPC or a connected VPC.
  • MSK security groups must allow the DataKit security group or network segment to access TCP ports 11001 and 11002; DNS must be enabled for the VPC. For network requirements, see AWS MSK Prometheus Collector prerequisites.
  • JMX Exporter uses port 11001, and Node Exporter uses port 11002. AWS recommends a scrape interval of at least 60 seconds; shorter intervals may increase cluster CPU utilization.

Note: KRaft metadata mode and MSK Express Broker cannot enable open monitoring and public access at the same time. Open monitoring itself is free, but cross-Availability Zone data transfer may incur charges.

Enable Open Monitoring

When creating an MSK Provisioned cluster, select Enable open monitoring with Prometheus in the Monitoring section and enable JMX Exporter, Node Exporter, or both.

Enable it for an existing cluster as follows:

  1. Sign in to the Amazon MSK console and open the target cluster.
  2. On the Properties tab, locate Monitoring and click Edit.
  3. Select Enable open monitoring with Prometheus.
  4. Enable JMX Exporter, Node Exporter, or both, and save the changes.

You can also use the AWS CLI to update the monitoring configuration:

aws kafka update-monitoring \
  --cluster-arn <cluster-arn> \
  --current-version <current-version> \
  --open-monitoring 'Prometheus={JmxExporter={EnabledInBroker=true},NodeExporter={EnabledInBroker=true}}'

For more information, see the official AWS documentation:

Obtain Prometheus Monitoring Targets

Use ListNodes to obtain the cluster Broker DNS names:

aws kafka list-nodes \
  --cluster-arn <cluster-arn>

Record all Broker DNS names in BrokerNodeInfo.Endpoints from the response. Configure two targets for each Broker:

Type Target Description
JMX Exporter <broker-dns>:11001 Kafka Broker JMX metrics and Consumer Lag metrics.
Node Exporter <broker-dns>:11002 Broker node CPU, memory, disk, and network metrics.

To collect Controller JMX metrics from a KRaft cluster, also add the Controller DNS names returned by ControllerNodeInfo.Endpoints to the 11001 targets. For endpoint formats and KRaft details, see AWS Prometheus host configuration.

Verify network connectivity from the DataKit host:

curl -sS "http://<broker-dns>:11001/metrics" | head
curl -sS "http://<broker-dns>:11002/metrics" | head

Configure DataKit

In the DataKit installation directory, go to conf.d/samples, copy prom.conf.sample, and name it aws_msk_prom.conf:

cp prom.conf.sample aws_msk_prom.conf

Edit aws_msk_prom.conf. Add all Broker DNS names to the corresponding urls; add KRaft Controller DNS names only to the JMX Exporter configuration.

[[inputs.prom]]
  urls = [
    "http://<broker-dns-1>:11001/metrics",
    "http://<broker-dns-2>:11001/metrics",
    # Optional for KRaft:
    # "http://<controller-dns-1>:11001/metrics",
  ]
  source = "kafka_jmx"
  interval = "60s"
  metric_name_filter = ["^kafka_"]
  measurement_prefix = ""
  keep_exist_metric_name = false
  honor_timestamps = true
  election = false
  disable_host_tag = true
  disable_instance_tag = true
  disable_info_tag = false

  [[inputs.prom.measurements]]
    prefix = "kafka_controller_"
    name = "kafka_controller"

  [[inputs.prom.measurements]]
    prefix = "kafka_network_"
    name = "kafka_network"

  [[inputs.prom.measurements]]
    prefix = "kafka_log_"
    name = "kafka_log"

  [[inputs.prom.measurements]]
    prefix = "kafka_server_"
    name = "kafka_server"

  [inputs.prom.tags]
    cloud_provider = "aws"
    service = "msk"
    region_id = "<aws-region>"
    cluster_id = "<cluster-arn-or-id>"
    cluster_name = "<msk-cluster-name>"


[[inputs.prom]]
  urls = [
    "http://<broker-dns-1>:11002/metrics",
    "http://<broker-dns-2>:11002/metrics",
  ]
  source = "kafka_node"
  interval = "60s"
  metric_name_filter = ["^node_"]
  measurement_prefix = ""
  keep_exist_metric_name = false
  honor_timestamps = true
  election = false
  disable_host_tag = true
  disable_instance_tag = true
  disable_info_tag = false

  [[inputs.prom.measurements]]
    prefix = "node_"
    name = "kafka_node"

  [inputs.prom.tags]
    cloud_provider = "aws"
    service = "msk"
    region_id = "<aws-region>"
    cluster_id = "<cluster-arn-or-id>"
    cluster_name = "<msk-cluster-name>"


# Optional: collect JMX Exporter metrics from application clients such as Producer, Consumer, Kafka Streams, and Kafka Connect.
[[inputs.prom]]
  urls = [
    "http://<producer-client-ip>:7072/metrics",
    "http://<consumer-client-ip>:7073/metrics",
    "http://<streams-client-ip>:7074/metrics",
    "http://<connect-worker-ip>:7075/metrics",
  ]
  source = "kafka_client"
  interval = "60s"
  metric_name_filter = ["^kafka_(producer|consumer|stream|connect)_"]
  measurement_prefix = ""
  keep_exist_metric_name = false
  honor_timestamps = true
  election = false
  disable_host_tag = false
  disable_instance_tag = true
  disable_info_tag = false

  [[inputs.prom.measurements]]
    prefix = "kafka_producer_"
    name = "kafka_producer"

  [[inputs.prom.measurements]]
    prefix = "kafka_consumer_"
    name = "kafka_consumer"

  [[inputs.prom.measurements]]
    prefix = "kafka_connect_"
    name = "kafka_connect"

  [[inputs.prom.measurements]]
    prefix = "kafka_stream_"
    name = "kafka_stream"

  [inputs.prom.tags]
    cloud_provider = "aws"
    service = "msk"
    region_id = "<aws-region>"
    cluster_id = "<cluster-arn-or-id>"
    cluster_name = "<msk-cluster-name>"

11001 exposes Kafka Broker JMX and Consumer Lag metrics, while 11002 exposes Broker node metrics such as CPU and disk. For the exact scope, see AWS Prometheus metrics. Producer, Consumer, Kafka Streams, and Kafka Connect are client-process metrics and require JMX Exporter on the corresponding processes.

Restart DataKit after completing the configuration:

datakit service -R

Verification

  1. Confirm in the DataKit logs that aws_msk_prom.conf has no connection or resolution errors.
  2. In TrueWatch Metrics, confirm that measurements such as kafka_controller, kafka_network, kafka_server, and kafka_node exist.
  3. Verify that cloud_provider=aws, cluster_name=<msk-cluster-name>, and the Broker host tag have the expected values.
  4. If client JMX Exporters are configured, confirm that kafka_producer, kafka_consumer, kafka_stream, and kafka_connect contain data.

Metrics

After configuring Prometheus collection, the recommended scope includes 9 measurements and 115 metric contexts distinguished by measurement, field, and fixed semantic tags. Amazon MSK open monitoring natively provides Broker JMX and Node Exporter metrics; Producer, Consumer, Kafka Streams, and Kafka Connect metrics require JMX Exporter on the corresponding client processes.

Controller Metrics

kafka_controller contains 8 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_controller.ControllerEventManager_Count{name=EventQueueTimeMs} Cumulative samples recorded by the Controller event-queue wait-time metric. cloud_provider, cluster_name, host, name count
kafka_controller.ControllerEventManager_Value{name=EventQueueSize} Number of events currently waiting in the Controller event queue. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=ActiveBrokerCount} Number of Brokers currently active and participating in cluster services. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=ActiveControllerCount} Number of active Controllers in the cluster; normally 1. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=FencedBrokerCount} Number of fenced Brokers that cannot participate in normal cluster services. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=GlobalPartitionCount} Current total partition count; use the maximum when multiple Brokers expose the same global value. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=GlobalTopicCount} Current total Topic count; use the maximum when multiple Brokers expose the same global value. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=OfflinePartitionsCount} Number of partitions without a Leader that cannot be read or written normally. cloud_provider, cluster_name, host, name count

Network Request Metrics

kafka_network contains 24 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_network.RequestChannel_Value{name=RequestQueueSize} Entries currently waiting in the Broker request queue. cloud_provider, cluster_name, host, name count
kafka_network.RequestChannel_Value{name=ResponseQueueSize} Entries currently waiting in the Broker response queue. cloud_provider, cluster_name, host, name count
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=FetchConsumer} FetchConsumer request end-to-end P95 processing time. cloud_provider, cluster_name, host ms
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=Produce} Produce request end-to-end P95 processing time. cloud_provider, cluster_name, host ms
kafka_network.RequestMetrics_Max{name=TemporaryMemoryBytes;request=Produce} Maximum temporary memory used by the Broker while processing Produce requests. cloud_provider, cluster_name, host, name, request B
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchConsumer} FetchConsumer request average local processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchFollower} FetchFollower request average local processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=MessageConversionsTimeMs;request=Produce} Produce request average message-format conversion time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchConsumer} FetchConsumer request average remote processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchFollower} FetchFollower request average remote processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=Produce} Produce request average remote processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=FetchConsumer} FetchConsumer request average wait time in the request queue. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=Produce} Produce request average wait time in the request queue. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchConsumer} FetchConsumer request average wait time in the response queue. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchFollower} FetchFollower request average wait time in the response queue. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=Produce} Produce request average wait time in the response queue. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchConsumer} FetchConsumer request average response-send time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchFollower} FetchFollower request average response-send time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=Produce} Produce request average response-send time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=FetchConsumer} FetchConsumer request average end-to-end processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=Produce} Produce request average end-to-end processing time. cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_OneMinuteRate{name=RequestsPerSec} Broker request rate over the last minute. cloud_provider, cluster_name, host, name, request ops
kafka_network.SocketServer_Value{name=MemoryPoolUsed} Memory currently used by the Broker network-layer memory pool. cloud_provider, cluster_name, host, name B
kafka_network.SocketServer_Value{name=NetworkProcessorAvgIdlePercent} Ratio of time that Broker network-processing threads are idle. cloud_provider, cluster_name, host, name percent

Log Metrics

kafka_log contains 4 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_log.LogFlushStats_OneMinuteRate{name=LogFlushRateAndTimeMs} Average number of Broker log flush operations per second. cloud_provider, cluster_name, host, name ops
kafka_log.Log_Value{name=LogEndOffset} Current log end offset of the selected Topic partition. cloud_provider, cluster_name, host, name, partition, topic offset
kafka_log.Log_Value{name=LogStartOffset} Earliest readable log offset of the selected Topic partition. cloud_provider, cluster_name, host, name, partition, topic offset
kafka_log.Log_Value{name=Size} Disk space used by logs for the selected Topic partition. cloud_provider, cluster_name, host, name, topic B

Broker Service Metrics

kafka_server contains 10 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesInPerSec} Bytes of produced messages received by the Broker or Topic per second. cloud_provider, cluster_name, host, name, topic B/S
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesOutPerSec} Bytes sent by the Broker or Topic to consumers per second. cloud_provider, cluster_name, host, name, topic B/S
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=FetchMessageConversionsPerSec} Number of Fetch message-format conversions performed by the Broker per second. cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=MessagesInPerSec} Messages received by the Broker or Topic per second. cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalFetchRequestsPerSec} Fetch requests received by the Broker or Topic per second. cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalProduceRequestsPerSec} Produce requests received by the Broker or Topic per second. cloud_provider, cluster_name, host, name, topic ops
kafka_server.KafkaRequestHandlerPool_FiveMinuteRate{name=RequestHandlerAvgIdlePercent} Average idle ratio of Broker request-handler threads over the last five minutes. cloud_provider, cluster_name, host percent
kafka_server.ReplicaManager_Value{name=UnderMinIsrPartitionCount} Number of partitions whose in-sync replica count is below min.insync.replicas. cloud_provider, cluster_name count
kafka_server.ReplicaManager_Value{name=UnderReplicatedPartitions} Number of partitions whose replica count is below the target replication factor. cloud_provider, cluster_name count
kafka_server.socket_server_metrics_response_rate Responses sent by Broker network-processing threads per second. cloud_provider, cluster_name, host ops

Node Resource Metrics

kafka_node contains 9 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_node.cpu_seconds_total{mode!=idle} Broker node CPU utilization calculated as the non-idle CPU-time increase divided by total CPU-time increase. cloud_provider, cluster_name, host, mode percent
kafka_node.disk_read_bytes_total Bytes read from Broker node disks per second. cloud_provider, cluster_name, host B/S
kafka_node.disk_reads_completed_total Disk read operations completed by Broker nodes per second. cloud_provider, cluster_name, host ops
kafka_node.disk_writes_completed_total Disk write operations completed by Broker nodes per second. cloud_provider, cluster_name, host ops
kafka_node.disk_written_bytes_total Bytes written to Broker node disks per second. cloud_provider, cluster_name, host B/S
kafka_node.filesystem_avail_bytes Percentage of used space on the Broker node filesystem. cloud_provider, cluster_name, host percent
kafka_node.filesystem_files Percentage of used Inodes on the Broker node filesystem. cloud_provider, cluster_name, host percent
kafka_node.filesystem_files_free Percentage of used Inodes on the Broker node filesystem. cloud_provider, cluster_name, host percent
kafka_node.filesystem_size_bytes Percentage of used space on the Broker node filesystem. cloud_provider, cluster_name, host percent

Producer Client Metrics

kafka_producer contains 13 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_producer.metrics_buffer_available_bytes Currently unused Producer buffer memory. client_id, cloud_provider, cluster_name, host B
kafka_producer.metrics_buffer_exhausted Cumulative record sends discarded by Producer due to buffer exhaustion. client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_buffer_exhausted_rate Producer record sends discarded per second due to buffer exhaustion. client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_bufferpool_wait_time_ns Cumulative time Producer waited for buffer-space allocation. client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_connection_count Current active client connections. client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_failed_authentication Cumulative client connections with authentication failures. client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_flush_time_ns Cumulative time spent by Producer on flush operations. client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_io_wait_time_ns Cumulative time Producer I/O threads waited for readable/writable sockets. client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_request_rate Requests sent by the client per second. client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_requests_in_flight Producer requests sent but not yet answered. client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_response_rate Responses received by the client per second. client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_select_rate Select operations performed by client I/O threads per second. client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_txn_commit_time_ns Cumulative time Producer spent committing transactions. client_id, cloud_provider, cluster_name, host ns

Consumer Client Metrics

kafka_consumer contains 14 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_consumer.coordinator_metrics_rebalance_latency Total duration of the latest Consumer Group rebalance. client_id, cloud_provider, cluster_name, host ms
kafka_consumer.coordinator_metrics_rebalance_rate_per_hour Average Consumer Group rebalances per hour. client_id, cloud_provider, cluster_name, host times/hour
kafka_consumer.metrics_connection_close_rate Connections closed by Consumer per second. client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_connection_count Current active client connections. client_id, cloud_provider, cluster_name, host count
kafka_consumer.metrics_failed_authentication Cumulative client connections with authentication failures. client_id, cloud_provider, cluster_name, host count
kafka_consumer.metrics_incoming_byte_rate Bytes read by the client from network sockets per second. client_id, cloud_provider, cluster_name, host B/S
kafka_consumer.metrics_io_time_ns_avg Average I/O time per Consumer select call. client_id, cloud_provider, cluster_name, host ns
kafka_consumer.metrics_io_wait_time_ns_avg Average time Consumer I/O threads wait for readable/writable sockets. client_id, cloud_provider, cluster_name, host ns
kafka_consumer.metrics_outgoing_byte_rate Bytes sent by the client to Brokers per second. client_id, cloud_provider, cluster_name, host B/S
kafka_consumer.metrics_request_rate Requests sent by the client per second. client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_request_size_avg Average Consumer request size. client_id, cloud_provider, cluster_name, host B
kafka_consumer.metrics_response_rate Responses received by the client per second. client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_select_rate Select operations performed by client I/O threads per second. client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_time_between_poll_avg Average interval between adjacent Consumer poll calls. client_id, cloud_provider, cluster_name, host ms

Kafka Streams Metrics

kafka_stream contains 25 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_stream.stream_state_metrics_all_rate Operations performed by Kafka Streams state stores per second. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id ops
kafka_stream.stream_state_metrics_block_cache_capacity Kafka Streams RocksDB block-cache capacity. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B
kafka_stream.stream_state_metrics_block_cache_data_hit_ratio Kafka Streams RocksDB block-cache data hit ratio. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_filter_hit_ratio Kafka Streams RocksDB block-cache filter hit ratio. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_index_hit_ratio Kafka Streams RocksDB block-cache index hit ratio. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_usage Current Kafka Streams RocksDB block-cache usage. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B
kafka_stream.stream_state_metrics_bytes_read_compaction_rate Bytes read per second during Kafka Streams state-store compaction. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_read_rate Bytes read by Kafka Streams state stores per second. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_written_compaction_rate Bytes written per second during Kafka Streams state-store compaction. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_written_rate Bytes written by Kafka Streams state stores per second. cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_task_metrics_active_process_ratio Ratio of Kafka Streams task-thread time spent processing records. cloud_provider, cluster_name, host, task_id, thread_id percent
kafka_stream.stream_task_metrics_cache_size_bytes Total size of the Kafka Streams task cache. cloud_provider, cluster_name, host, task_id, thread_id B
kafka_stream.stream_task_metrics_enforced_processing_rate Enforced processing operations performed by Kafka Streams tasks per second. cloud_provider, cluster_name, host, task_id, thread_id ops
kafka_stream.stream_task_metrics_process_rate Records processed by Kafka Streams tasks per second. cloud_provider, cluster_name, host, task_id, thread_id ops
kafka_stream.stream_thread_metrics_blocked_time_ns Cumulative time Kafka Streams threads were blocked while waiting. cloud_provider, cluster_name, host, thread_id ns
kafka_stream.stream_thread_metrics_commit_rate State commits by Kafka Streams threads per second. cloud_provider, cluster_name, host, thread_id ops
kafka_stream.stream_thread_metrics_poll_latency_avg Average latency of Kafka Streams thread poll calls. cloud_provider, cluster_name, host, thread_id ms
kafka_stream.stream_thread_metrics_poll_rate Poll operations performed by Kafka Streams threads per second. cloud_provider, cluster_name, host, thread_id ops
kafka_stream.stream_thread_metrics_task Cumulative tasks created by Kafka Streams threads. cloud_provider, cluster_name, host, thread_id count
kafka_stream.stream_thread_metrics_task_closed Cumulative tasks closed by Kafka Streams threads. cloud_provider, cluster_name, host, thread_id count
kafka_stream.stream_thread_metrics_thread_start_time Kafka Streams thread start timestamp. cloud_provider, cluster_name, host, thread_id ms
kafka_stream.stream_topic_metrics_bytes_consumed Cumulative bytes consumed by Kafka Streams from Topics. cloud_provider, cluster_name, host, thread_id, topic B
kafka_stream.stream_topic_metrics_bytes_produced Cumulative bytes produced by Kafka Streams to Topics. cloud_provider, cluster_name, host, thread_id, topic B
kafka_stream.stream_topic_metrics_records_consumed Cumulative records consumed by Kafka Streams source processor nodes. cloud_provider, cluster_name, host, processor_node_id, thread_id, topic count
kafka_stream.stream_topic_metrics_records_produced Cumulative records produced by Kafka Streams sink processor nodes. cloud_provider, cluster_name, host, processor_node_id, thread_id, topic count

Kafka Connect Metrics

kafka_connect contains 8 recommended metric contexts.

MetricName MetricDescribe Dimensions Unit
kafka_connect.worker_connector_count Number of Connectors currently running in the Kafka Connect Worker. cloud_provider, cluster_name, host count
kafka_connect.worker_connector_startup_attempts Cumulative Connector startup attempts by the Kafka Connect Worker. cloud_provider, cluster_name, host count
kafka_connect.worker_connector_startup_failure_percentage Kafka Connect Worker Connector startup failure ratio. cloud_provider, cluster_name, host percent
kafka_connect.worker_rebalance_completed_rebalances Cumulative rebalances completed by the Kafka Connect Worker. cloud_provider, cluster_name, host count
kafka_connect.worker_rebalance_time_since_last_rebalance_ms Time since the Kafka Connect Worker last completed a rebalance. cloud_provider, cluster_name, host ms
kafka_connect.worker_task_startup_attempts Cumulative Task startup attempts by the Kafka Connect Worker. cloud_provider, cluster_name, host count
kafka_connect.worker_task_startup_failure Cumulative Task startup failures in the Kafka Connect Worker. cloud_provider, cluster_name, host count
kafka_connect.worker_task_startup_failure_percentage Kafka Connect Worker Task startup failure ratio. cloud_provider, cluster_name, host percent