콘텐츠로 이동

AWS MSK (Prometheus)

Amazon Managed Streaming for Apache Kafka(Amazon MSK)오픈 모니터링은 Kafka Broker JMX와 Broker 노드 지표를 Prometheus 형식으로 노출할 수 있습니다. DataKit은 AWS AK, Func 또는 CloudWatch 클라우드 수집 스크립트를 사용하지 않고 Prometheus 수집기를 통해 이러한 엔드포인트를 직접 수집합니다.

구성

사전 조건

  • 이 통합은 Amazon MSK 오픈 모니터링이 활성화된 MSK Provisioned 클러스터에 적용됩니다.
  • 기존 클러스터에서 오픈 모니터링을 활성화하려면 먼저 ACTIVE 상태여야 합니다. 새 클러스터는 생성 시 활성화할 수 있으며, 기존 클러스터는 클러스터 속성의 Monitoring 영역에서 편집하여 활성화할 수 있습니다.
  • DataKit은 MSK Broker의 사설 DNS를 해석하고 접근할 수 있는 네트워크에 배포되어야 하며, 일반적으로 동일한 VPC이거나 네트워크가 연결된 VPC여야 합니다.
  • MSK 보안 그룹은 DataKit이 속한 보안 그룹 또는 서브넷이 TCP 1100111002에 접근할 수 있도록 허용해야 하며, VPC에는 DNS가 활성화되어 있어야 합니다. 네트워크 요구 사항은 AWS MSK Prometheus Collector 사전 조건을 참고하십시오.
  • JMX Exporter는 11001, Node Exporter는 11002를 사용합니다. AWS는 수집 간격을 60초 이상으로 설정할 것을 권장하며, 너무 짧은 간격은 클러스터 CPU 사용률을 증가시킬 수 있습니다.

주의: KRaft 메타데이터 모드와 MSK Express Broker는 오픈 모니터링과 퍼블릭 액세스를 동시에 사용할 수 없습니다. 오픈 모니터링 자체는 무료이지만, 가용 영역 간 데이터 전송에는 비용이 발생할 수 있습니다.

오픈 모니터링 활성화

새 MSK Provisioned 클러스터를 생성할 때 Monitoring 영역에서「Enable open monitoring with Prometheus」를 선택하고, JMX Exporter, Node Exporter 또는 둘 다 활성화합니다.

기존 클러스터는 아래 절차로 활성화합니다.

  1. Amazon MSK 콘솔에 로그인한 뒤 대상 클러스터를 엽니다.
  2. Properties 탭에서 Monitoring을 찾아 Edit를 클릭합니다.
  3. 「Enable open monitoring with Prometheus」를 선택합니다.
  4. JMX Exporter, Node Exporter 또는 둘 다 활성화한 뒤 변경 사항을 저장합니다.

AWS CLI로도 모니터링 구성을 업데이트할 수 있습니다.

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

자세한 내용은 AWS 공식 문서를 참고하십시오.

Prometheus 모니터링 대상 가져오기

ListNodes를 사용하여 클러스터의 Broker DNS를 가져옵니다.

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

반환 결과의 BrokerNodeInfo.Endpoints에 있는 모든 Broker DNS를 기록합니다. 각 Broker마다 두 개의 대상을 구성해야 합니다.

유형 대상 설명
JMX Exporter <broker-dns>:11001 Kafka Broker JMX 지표와 Consumer Lag 지표.
Node Exporter <broker-dns>:11002 Broker 노드 CPU, 메모리, 디스크 및 네트워크 지표.

KRaft 클러스터에서 Controller JMX 지표도 수집하려면 ControllerNodeInfo.Endpoints에 반환된 Controller DNS를 11001 대상에 추가해야 합니다. 엔드포인트 형식과 KRaft 설명은 AWS Prometheus Host 구성을 참고하십시오.

DataKit 호스트에서 네트워크 연결을 검증합니다.

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

DataKit 구성

DataKit 설치 디렉터리의 conf.d/samples 디렉터리로 이동하여 prom.conf.sample을 복사한 뒤 aws_msk_prom.conf로 이름을 바꿉니다.

cp prom.conf.sample aws_msk_prom.conf

aws_msk_prom.conf를 조정합니다. 모든 Broker DNS를 해당 urls에 추가하고, KRaft Controller DNS는 JMX Exporter 구성에만 추가합니다.

[[inputs.prom]]
  urls = [
    "http://<broker-dns-1>:11001/metrics",
    "http://<broker-dns-2>:11001/metrics",
    # 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>"


# 선택 사항: 비즈니스 Producer, Consumer, Kafka Streams, Kafka Connect 등의 클라이언트 JMX Exporter 지표를 수집합니다.
[[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은 Kafka Broker JMX와 Consumer Lag 지표를 노출하고, 11002는 Broker 노드 CPU와 디스크 등의 지표를 노출합니다. 구체적인 범위는 AWS Prometheus 지표 설명을 참고하십시오. Producer, Consumer, Kafka Streams, Kafka Connect는 클라이언트 프로세스 지표이므로, 해당 프로세스에 JMX Exporter를 별도로 마운트한 뒤 수집해야 합니다.

구성이 끝나면 DataKit을 재시작합니다.

datakit service -R

검증

  1. DataKit 로그에서 aws_msk_prom.conf에 연결 또는 파싱 오류가 없는지 확인합니다.
  2. Guance「메트릭」에서 kafka_controller, kafka_network, kafka_server, kafka_node 등의 메트릭 세트가 존재하는지 확인합니다.
  3. 메트릭 태그에서 cloud_provider=aws, cluster_name=<msk-cluster-name>, 그리고 Broker host가 예상과 일치하는지 확인합니다.
  4. 클라이언트 JMX Exporter를 구성했다면 kafka_producer, kafka_consumer, kafka_stream, kafka_connect 메트릭 세트에도 데이터가 있는지 다시 확인합니다.

지표

Prometheus 수집 구성이 완료되면, 권장 지표 범위에는 다음 9개의 지표 세트와 measurement, field, 고정 의미 태그로 구분되는 115개의 지표 컨텍스트가 포함됩니다. Amazon MSK 오픈 모니터링은 Broker JMX와 Node Exporter 지표를 기본 제공하며, Producer, Consumer, Kafka Streams, Kafka Connect 지표는 해당 클라이언트 프로세스에서 JMX Exporter를 별도로 활성화해야 합니다.

Controller 지표

kafka_controller 지표 세트에는 8개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_controller.ControllerEventManager_Count{name=EventQueueTimeMs} Controller 이벤트 큐 대기 시간 지표의 누적 샘플 수. cloud_provider, cluster_name, host, name count
kafka_controller.ControllerEventManager_Value{name=EventQueueSize} Controller 이벤트 큐에서 현재 처리 대기 중인 이벤트 수. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=ActiveBrokerCount} 현재 활성 상태이며 클러스터 서비스에 참여 중인 Broker 수. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=ActiveControllerCount} 클러스터에서 현재 활성인 Controller 수로, 정상적으로는 보통 1입니다. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=FencedBrokerCount} 현재 격리되어 정상적인 클러스터 서비스에 참여할 수 없는 Broker 수. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=GlobalPartitionCount} 클러스터의 현재 전체 partition 수; 여러 Broker가 동일한 전역 값을 노출하면 최대값을 사용합니다. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=GlobalTopicCount} 클러스터의 현재 전체 Topic 수; 여러 Broker가 동일한 전역 값을 노출하면 최대값을 사용합니다. cloud_provider, cluster_name, host, name count
kafka_controller.KafkaController_Value{name=OfflinePartitionsCount} 클러스터에서 현재 Leader가 없어 정상적으로 읽기/쓰기를 할 수 없는 partition 수. cloud_provider, cluster_name, host, name count

네트워크 요청 지표

kafka_network 지표 세트에는 24개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_network.RequestChannel_Value{name=RequestQueueSize} Broker 요청 큐에서 현재 처리 대기 중인 항목 수 cloud_provider, cluster_name, host, name count
kafka_network.RequestChannel_Value{name=ResponseQueueSize} Broker 응답 큐에서 현재 처리 대기 중인 항목 수 cloud_provider, cluster_name, host, name count
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=FetchConsumer} FetchConsumer 요청의 엔드투엔드 P95 처리 시간 cloud_provider, cluster_name, host ms
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=Produce} Produce 요청의 엔드투엔드 P95 처리 시간 cloud_provider, cluster_name, host ms
kafka_network.RequestMetrics_Max{name=TemporaryMemoryBytes;request=Produce} Broker가 Produce 요청을 처리할 때 사용한 최대 임시 메모리. cloud_provider, cluster_name, host, name, request B
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchConsumer} FetchConsumer 요청의 로컬 처리 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchFollower} FetchFollower 요청의 로컬 처리 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=MessageConversionsTimeMs;request=Produce} Produce 요청의 메시지 형식 변환 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchConsumer} FetchConsumer 요청의 원격 처리 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchFollower} FetchFollower 요청의 원격 처리 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=Produce} Produce 요청의 원격 처리 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=FetchConsumer} FetchConsumer 요청이 요청 큐에서 대기한 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=Produce} Produce 요청이 요청 큐에서 대기한 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchConsumer} FetchConsumer 요청이 응답 큐에서 대기한 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchFollower} FetchFollower 요청이 응답 큐에서 대기한 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=Produce} Produce 요청이 응답 큐에서 대기한 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchConsumer} FetchConsumer 요청의 응답 전송 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchFollower} FetchFollower 요청의 응답 전송 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=Produce} Produce 요청의 응답 전송 평균 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=FetchConsumer} FetchConsumer 요청의 엔드투엔드 평균 처리 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=Produce} Produce 요청의 엔드투엔드 평균 처리 시간 cloud_provider, cluster_name, host, name, request ms
kafka_network.RequestMetrics_OneMinuteRate{name=RequestsPerSec} Broker의 최근 1분 요청 속도 cloud_provider, cluster_name, host, name, request ops
kafka_network.SocketServer_Value{name=MemoryPoolUsed} Broker 네트워크 계층 메모리 풀의 현재 사용 메모리 크기 cloud_provider, cluster_name, host, name B
kafka_network.SocketServer_Value{name=NetworkProcessorAvgIdlePercent} Broker 네트워크 처리 스레드의 유휴 상태 시간 비율 cloud_provider, cluster_name, host, name percent

로그 지표

kafka_log 지표 세트에는 4개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_log.LogFlushStats_OneMinuteRate{name=LogFlushRateAndTimeMs} Broker가 초당 수행하는 로그 flush 작업의 평균 횟수 cloud_provider, cluster_name, host, name ops
kafka_log.Log_Value{name=LogEndOffset} 선택한 Topic partition의 현재 로그 끝 offset cloud_provider, cluster_name, host, name, partition, topic offset
kafka_log.Log_Value{name=LogStartOffset} 선택한 Topic partition의 현재 가장 오래된 읽기 가능 로그 offset cloud_provider, cluster_name, host, name, partition, topic offset
kafka_log.Log_Value{name=Size} 선택한 Topic partition 로그가 차지하는 디스크 공간 cloud_provider, cluster_name, host, name, topic B

Broker 서비스 지표

kafka_server 지표 세트에는 10개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesInPerSec} Broker 또는 Topic이 초당 수신한 생산 메시지 바이트 수 cloud_provider, cluster_name, host, name, topic B/S
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesOutPerSec} Broker 또는 Topic이 초당 소비자에게 전송한 바이트 수 cloud_provider, cluster_name, host, name, topic B/S
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=FetchMessageConversionsPerSec} Broker가 초당 수행한 Fetch 메시지 형식 변환 횟수 cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=MessagesInPerSec} Broker 또는 Topic이 초당 수신한 메시지 수 cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalFetchRequestsPerSec} Broker 또는 Topic이 초당 받은 Fetch 요청 수 cloud_provider, cluster_name, host, name, topic ops
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalProduceRequestsPerSec} Broker 또는 Topic이 초당 받은 Produce 요청 수 cloud_provider, cluster_name, host, name, topic ops
kafka_server.KafkaRequestHandlerPool_FiveMinuteRate{name=RequestHandlerAvgIdlePercent} Broker 요청 처리 스레드의 최근 5분 평균 유휴 비율 cloud_provider, cluster_name, host percent
kafka_server.ReplicaManager_Value{name=UnderMinIsrPartitionCount} 동기 복제본 수가 min.insync.replicas보다 낮은 partition 수 cloud_provider, cluster_name count
kafka_server.ReplicaManager_Value{name=UnderReplicatedPartitions} 복제본 수가 목표 replication factor보다 낮은 partition 수 cloud_provider, cluster_name count
kafka_server.socket_server_metrics_response_rate Broker 네트워크 처리 스레드가 초당 전송한 응답 수. cloud_provider, cluster_name, host ops

노드 리소스 지표

kafka_node 지표 세트에는 9개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_node.cpu_seconds_total{mode!=idle} Broker 노드의 비유휴 CPU 시간 증가율을 전체 CPU 시간 증가율로 나눈 CPU 사용률 cloud_provider, cluster_name, host, mode percent
kafka_node.disk_read_bytes_total Broker 노드 디스크가 초당 읽은 바이트 수 cloud_provider, cluster_name, host B/S
kafka_node.disk_reads_completed_total Broker 노드 디스크가 초당 완료한 읽기 작업 수 cloud_provider, cluster_name, host ops
kafka_node.disk_writes_completed_total Broker 노드 디스크가 초당 완료한 쓰기 작업 수 cloud_provider, cluster_name, host ops
kafka_node.disk_written_bytes_total Broker 노드 디스크가 초당 기록한 바이트 수 cloud_provider, cluster_name, host B/S
kafka_node.filesystem_avail_bytes Broker 노드 파일 시스템의 사용 공간 비율. cloud_provider, cluster_name, host percent
kafka_node.filesystem_files Broker 노드 파일 시스템의 사용 Inode 비율. cloud_provider, cluster_name, host percent
kafka_node.filesystem_files_free Broker 노드 파일 시스템의 사용 Inode 비율. cloud_provider, cluster_name, host percent
kafka_node.filesystem_size_bytes Broker 노드 파일 시스템의 사용 공간 비율. cloud_provider, cluster_name, host percent

Producer 클라이언트 지표

kafka_producer 지표 세트에는 13개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_producer.metrics_buffer_available_bytes Producer가 현재 사용하지 않는 버퍼 메모리 크기 client_id, cloud_provider, cluster_name, host B
kafka_producer.metrics_buffer_exhausted Producer가 버퍼 소진으로 인해 폐기한 누적 record 전송 수 client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_buffer_exhausted_rate Producer가 초당 버퍼 소진으로 인해 폐기한 record 전송 수 client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_bufferpool_wait_time_ns Producer가 버퍼 공간 할당을 기다린 누적 시간 client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_connection_count 클라이언트의 현재 활성 연결 수 client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_failed_authentication 클라이언트 인증에 실패한 누적 연결 수 client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_flush_time_ns Producer가 flush 작업을 수행하는 데 걸린 누적 시간 client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_io_wait_time_ns Producer I/O 스레드가 읽기/쓰기 가능한 소켓을 기다린 누적 시간 client_id, cloud_provider, cluster_name, host ns
kafka_producer.metrics_request_rate 클라이언트가 초당 전송한 요청 수 client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_requests_in_flight Producer가 전송했지만 아직 응답을 받지 못한 요청 수 client_id, cloud_provider, cluster_name, host count
kafka_producer.metrics_response_rate 클라이언트가 초당 받은 응답 수 client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_select_rate 클라이언트 I/O 스레드가 초당 select를 실행한 횟수 client_id, cloud_provider, cluster_name, host ops
kafka_producer.metrics_txn_commit_time_ns Producer가 트랜잭션을 커밋하는 데 소요한 누적 시간 client_id, cloud_provider, cluster_name, host ns

Consumer 클라이언트 지표

kafka_consumer 지표 세트에는 14개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_consumer.coordinator_metrics_rebalance_latency Consumer Group의 가장 최근 rebalance 총 소요 시간 client_id, cloud_provider, cluster_name, host ms
kafka_consumer.coordinator_metrics_rebalance_rate_per_hour Consumer Group에서 시간당 발생하는 rebalance 평균 횟수 client_id, cloud_provider, cluster_name, host 회/시간
kafka_consumer.metrics_connection_close_rate Consumer가 초당 닫은 연결 수 client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_connection_count 클라이언트의 현재 활성 연결 수 client_id, cloud_provider, cluster_name, host count
kafka_consumer.metrics_failed_authentication 클라이언트 인증에 실패한 누적 연결 수 client_id, cloud_provider, cluster_name, host count
kafka_consumer.metrics_incoming_byte_rate 클라이언트가 초당 네트워크 소켓에서 읽은 바이트 수 client_id, cloud_provider, cluster_name, host B/S
kafka_consumer.metrics_io_time_ns_avg Consumer가 각 select 호출에서 I/O를 수행한 평균 시간 client_id, cloud_provider, cluster_name, host ns
kafka_consumer.metrics_io_wait_time_ns_avg Consumer I/O 스레드가 읽기/쓰기 가능한 소켓을 기다린 평균 시간 client_id, cloud_provider, cluster_name, host ns
kafka_consumer.metrics_outgoing_byte_rate 클라이언트가 초당 Broker로 전송한 바이트 수 client_id, cloud_provider, cluster_name, host B/S
kafka_consumer.metrics_request_rate 클라이언트가 초당 전송한 요청 수 client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_request_size_avg Consumer 요청의 평균 크기 client_id, cloud_provider, cluster_name, host B
kafka_consumer.metrics_response_rate 클라이언트가 초당 받은 응답 수 client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_select_rate 클라이언트 I/O 스레드가 초당 select를 실행한 횟수 client_id, cloud_provider, cluster_name, host ops
kafka_consumer.metrics_time_between_poll_avg Consumer의 연속 두 poll 호출 사이 평균 간격 client_id, cloud_provider, cluster_name, host ms

Kafka Streams 지표

kafka_stream 지표 세트에는 25개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_stream.stream_state_metrics_all_rate Kafka Streams 상태 저장소에서 초당 수행하는 작업 수 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id ops
kafka_stream.stream_state_metrics_block_cache_capacity Kafka Streams RocksDB 블록 캐시 용량 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B
kafka_stream.stream_state_metrics_block_cache_data_hit_ratio Kafka Streams RocksDB 블록 캐시 데이터 적중 비율 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_filter_hit_ratio Kafka Streams RocksDB 블록 캐시 필터 적중 비율 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_index_hit_ratio Kafka Streams RocksDB 블록 캐시 인덱스 적중 비율 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id percent
kafka_stream.stream_state_metrics_block_cache_usage Kafka Streams RocksDB 블록 캐시 현재 사용량 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B
kafka_stream.stream_state_metrics_bytes_read_compaction_rate Kafka Streams 상태 저장소 압축에서 초당 읽은 바이트 수 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_read_rate Kafka Streams 상태 저장소에서 초당 읽은 바이트 수 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_written_compaction_rate Kafka Streams 상태 저장소 압축에서 초당 기록한 바이트 수 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_state_metrics_bytes_written_rate Kafka Streams 상태 저장소에서 초당 기록한 바이트 수 cloud_provider, cluster_name, host, rocksdb_state_id, thread_id B/S
kafka_stream.stream_task_metrics_active_process_ratio Kafka Streams 작업 스레드가 record 처리에 사용한 시간 비율 cloud_provider, cluster_name, host, task_id, thread_id percent
kafka_stream.stream_task_metrics_cache_size_bytes Kafka Streams 작업 캐시의 총 크기 cloud_provider, cluster_name, host, task_id, thread_id B
kafka_stream.stream_task_metrics_enforced_processing_rate Kafka Streams 작업이 초당 강제 처리를 수행한 횟수 cloud_provider, cluster_name, host, task_id, thread_id ops
kafka_stream.stream_task_metrics_process_rate Kafka Streams 작업이 초당 처리한 record 수 cloud_provider, cluster_name, host, task_id, thread_id ops
kafka_stream.stream_thread_metrics_blocked_time_ns Kafka Streams 스레드가 대기 때문에 차단된 누적 시간 cloud_provider, cluster_name, host, thread_id ns
kafka_stream.stream_thread_metrics_commit_rate Kafka Streams 스레드가 초당 상태를 커밋한 횟수 cloud_provider, cluster_name, host, thread_id ops
kafka_stream.stream_thread_metrics_poll_latency_avg Kafka Streams 스레드의 poll 호출 평균 지연 cloud_provider, cluster_name, host, thread_id ms
kafka_stream.stream_thread_metrics_poll_rate Kafka Streams 스레드가 초당 poll을 실행한 횟수 cloud_provider, cluster_name, host, thread_id ops
kafka_stream.stream_thread_metrics_task Kafka Streams 스레드가 생성한 누적 task 수 cloud_provider, cluster_name, host, thread_id count
kafka_stream.stream_thread_metrics_task_closed Kafka Streams 스레드가 종료한 누적 task 수 cloud_provider, cluster_name, host, thread_id count
kafka_stream.stream_thread_metrics_thread_start_time Kafka Streams 스레드 시작 타임스탬프 cloud_provider, cluster_name, host, thread_id ms
kafka_stream.stream_topic_metrics_bytes_consumed Kafka Streams가 Topic에서 누적 소비한 바이트 수 cloud_provider, cluster_name, host, thread_id, topic B
kafka_stream.stream_topic_metrics_bytes_produced Kafka Streams가 Topic으로 누적 생산한 바이트 수 cloud_provider, cluster_name, host, thread_id, topic B
kafka_stream.stream_topic_metrics_records_consumed Kafka Streams 소스 프로세서 노드가 누적 소비한 record 수 cloud_provider, cluster_name, host, processor_node_id, thread_id, topic count
kafka_stream.stream_topic_metrics_records_produced Kafka Streams 싱크 프로세서 노드가 누적 생성한 record 수 cloud_provider, cluster_name, host, processor_node_id, thread_id, topic count

Kafka Connect 지표

kafka_connect 지표 세트에는 8개의 권장 지표 컨텍스트가 포함됩니다.

MetricName MetricDescribe Dimensions Unit
kafka_connect.worker_connector_count Kafka Connect Worker에서 현재 실행 중인 Connector 수 cloud_provider, cluster_name, host count
kafka_connect.worker_connector_startup_attempts Kafka Connect Worker가 Connector 시작을 시도한 누적 횟수 cloud_provider, cluster_name, host count
kafka_connect.worker_connector_startup_failure_percentage Kafka Connect Worker의 Connector 시작 실패 비율 cloud_provider, cluster_name, host percent
kafka_connect.worker_rebalance_completed_rebalances Kafka Connect Worker가 완료한 rebalance 누적 횟수 cloud_provider, cluster_name, host count
kafka_connect.worker_rebalance_time_since_last_rebalance_ms Kafka Connect Worker의 마지막 rebalance 완료 이후 경과 시간 cloud_provider, cluster_name, host ms
kafka_connect.worker_task_startup_attempts Kafka Connect Worker가 Task 시작을 시도한 누적 횟수 cloud_provider, cluster_name, host count
kafka_connect.worker_task_startup_failure Kafka Connect Worker의 Task 시작 실패 누적 횟수 cloud_provider, cluster_name, host count
kafka_connect.worker_task_startup_failure_percentage Kafka Connect Worker의 Task 시작 실패 비율 cloud_provider, cluster_name, host percent

문서 평가

이 페이지가 도움이 되었나요?