Apache Kafka용 Google Cloud 관리형 서비스 클러스터 모니터링

Managed Service for Apache Kafka는 Kafka 클러스터를 모니터링하는 데 사용할 수 있는 측정항목을 수집합니다. 이 페이지에서는 Google Cloud 콘솔에서 이러한 측정항목을 보는 방법을 설명합니다.

개요

Managed Service for Apache Kafka는 오픈소스 Kafka 배포에서 사용할 수 있는 여러 측정항목과 소비자 그룹 오프셋 지연과 같은 서비스별 측정항목을 내보냅니다.

측정항목은 다음 네 가지 리소스 카테고리로 구성됩니다.

  • 클러스터: 이러한 측정항목은 클러스터의 전반적인 상태를 유지하는 데 유용합니다.

  • 주제: 이러한 측정항목에는 게시자 및 소비자 비율과 오류가 포함됩니다. Kafka 애플리케이션의 전반적인 상태와 브로커와 관련된 문제를 모니터링합니다.

  • 주제 파티션: 이러한 측정항목은 불균등한 키 분포와 같은 개별 파티션과 관련된 성능 문제를 모니터링하고 디버깅하기 위한 것입니다.

  • 주제 파티션 소비자 그룹: 이 측정항목은 소비자 애플리케이션의 상태(주로 소비자 지연)를 모니터링합니다. 소비자 그룹의 오픈소스 Kafka 오류 측정항목은 파티션별로 제공되지 않고 주제 수준에서만 제공됩니다.

일부 측정항목은 브로커 색인별로 그룹화할 수 있습니다. 브로커 색인을 기반으로 해당 브로커가 프로비저닝된 영역을 조회할 수 있습니다. 자세한 내용은 브로커 보기를 참고하세요.

Kafka 클러스터의 측정항목 보기

다음과 같은 방법으로 측정항목을 확인할 수 있습니다.

  • 클러스터 세부정보 페이지에는 클러스터, 주제, 소비자 그룹의 모니터링 대시보드가 포함됩니다. 이러한 대시보드에는 클러스터의 전반적인 상태와 성능을 확인할 수 있는 사전 정의된 차트가 포함되어 있습니다.

  • 측정항목 탐색기를 사용하여 사용 가능한 모든 측정항목을 확인하거나, 맞춤 차트를 만들거나, 여러 클러스터에서 측정항목을 집계할 수 있습니다.

필수 역할 및 권한

모니터링 차트를 보는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 관리형 Kafka 뷰어 (roles/managedkafka.Viewer) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

모니터링 대시보드 사용

Managed Service for Apache Kafka 클러스터의 모니터링 대시보드를 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 클러스터 페이지로 이동합니다.

    클러스터로 이동

  2. 클러스터 이름을 클릭합니다.

  3. 클러스터의 측정항목을 보려면 모니터링 탭을 선택합니다.

  4. 클러스터의 주제에 대한 측정항목을 보려면 다음 단계를 따르세요.

    1. 리소스 탭을 선택합니다.

    2. 주제 목록에서 주제 이름을 클릭합니다.

    3. 주제 세부정보 페이지에서 모니터링 탭을 선택합니다.

  5. 클러스터의 소비자 그룹 측정항목을 보려면 다음을 실행하세요.

    1. 리소스 탭을 선택합니다.

    2. 소비자 그룹 목록에서 소비자 그룹의 이름을 클릭합니다.

    3. 컨슈머 그룹 세부정보 페이지에서 모니터링 탭을 선택합니다.

자세한 내용은 Kafka 클러스터 보기를 참고하세요.

측정항목 탐색기 사용

측정항목 탐색기를 사용하여 Managed Service for Apache Kafka 측정항목을 확인하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

  2. 구성 섹션에서 측정항목 선택을 클릭합니다.

  3. 필터에 Apache Kafka를 입력합니다.

  4. 활성 리소스에서 다음 중 하나를 선택합니다.

    • Apache Kafka 클러스터

    • Apache Kafka 주제

    • Apache Kafka 주제 파티션

    • Apache Kafka 주제 파티션 소비자 그룹

  5. 측정항목을 선택하고 적용을 클릭합니다.

측정항목 탐색기에 대한 자세한 내용은 측정항목 탐색기로 차트 만들기를 참고하세요.

Managed Service for Apache Kafka 측정항목

다음 표에는 Kafka 클러스터 및 클러스터 리소스를 모니터링하는 데 흔히 사용되는 측정항목이 나와 있습니다. 사용 가능한 전체 측정항목 목록은 Google Cloud 측정항목을 참고하세요.

Apache Kafka용 관리형 서비스는 서비스 URL managedkafka.googleapis.com로 식별됩니다.

클러스터 측정항목

다음 측정항목은 클러스터에 적용됩니다. 특정 클러스터의 측정항목을 보려면 cluster_id 라벨로 필터링합니다.

측정항목 설명 상응하는 MBean 이름
cpu/core_usage_time 클러스터의 누적 CPU 사용량(vCPU)입니다. 이는 클러스터의 전체 운영 비용을 이해하는 데 유용합니다. 해당 사항 없음
cpu/limit 클러스터에 구성된 현재 CPU 수입니다. cpu/usage 측정항목과 함께 비율로 CPU 사용률을 모니터링하는 데 사용할 수 있습니다. 해당 사항 없음
memory/usage 클러스터의 현재 RAM 사용량입니다. memory/limit 측정항목과의 비율로 RAM 사용률을 모니터링하는 데 사용할 수 있습니다. 해당 사항 없음
memory/limit 클러스터의 현재 구성된 RAM 크기입니다. memory/usage 측정항목과의 비율로 RAM 사용률을 모니터링하는 데 사용할 수 있습니다. 해당 사항 없음
jvm/memory_area/bytes_used 브로커 및 컨트롤러의 특정 JVM 메모리 영역 (예: 힙 또는 비힙)의 사용된 바이트입니다. java.lang:type=Memory,HeapMemoryUsage.used
java.lang:type=Memory,NonHeapMemoryUsage.used
jvm/memory_area/bytes_committed 브로커 및 컨트롤러의 특정 JVM 메모리 영역 (예: 힙 또는 비힙)의 약정된 바이트입니다. java.lang:type=Memory,HeapMemoryUsage.committed
java.lang:type=Memory,NonHeapMemoryUsage.committed
cluster_byte_in_count 클라이언트에서 모든 주제로 전송된 총 바이트 수입니다. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count 모든 주제에서 클라이언트로 전송된 총 바이트 수입니다. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count 모든 주제에 게시된 메시지의 총수입니다. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count 브로커에 수행된 총 요청 수 kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count 클러스터에 수행된 요청의 총 크기(바이트)입니다. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions 이 클러스터에서 처리하는 현재 파티션 수입니다. 브로커별로 분류됩니다. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies 다양한 백분위수에서 각 요청에 걸린 시간(밀리초)입니다. kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups 브로커에서 현재 데이터를 소비 중인 소비자 그룹의 개수 kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions 컨트롤러에서 모니터링된 오프라인 주제 파티션 수입니다. kafka.controller:type=KafkaController,name=OfflinePartitionCount

주제 측정항목

다음 측정항목은 주제에 적용됩니다. 특정 주제의 측정항목을 보려면 cluster_id 및 topic_id 라벨로 필터링합니다.

측정항목 설명 상응하는 MBean 이름
message_in_count 주제에 게시된 메시지의 총수입니다. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count 클라이언트에서 토픽으로 전송된 총 바이트 수입니다. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count 토픽에 수행된 생성 및 가져오기 요청의 총수입니다. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count 토픽에 수행된 실패한 생성 및 실패한 가져오기 요청의 총수입니다. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count 클라이언트로 전송된 총 바이트 수입니다. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

파티션 측정항목

파티션에 적용되는 측정항목은 다음과 같습니다. 주제의 특정 파티션의 측정항목을 보려면 cluster_id, topic_id, partition_index 라벨로 필터링합니다.

측정항목 설명 상응하는 MBean 이름
consumer_lag 리더와 각 팔로어 복제본 간의 메시지 복제 지연입니다. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments 현재 로그 세그먼트 수입니다. 이는 스토리지 티어링이 정상적으로 유지되도록 하는 데 유용합니다. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset 주제의 각 파티션의 첫 번째 오프셋입니다. last_offset와 함께 사용하면 저장된 총 메시지 수의 상한을 모니터링하고 가장 오래된 메시지의 실제 오프셋을 찾는 데 사용할 수 있습니다. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset 파티션의 마지막 오프셋입니다. 이를 사용하여 시간이 지남에 따라 각 파티션의 최신 오프셋을 찾을 수 있습니다. 이는 과거의 특정 시점부터 데이터를 다시 처리하는 데 필요한 특정 오프셋을 식별하는 데 유용합니다. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size 디스크에 있는 파티션의 크기(바이트)입니다. 해당 사항 없음

소비자 그룹 측정항목

다음 측정항목은 소비자 그룹에 적용됩니다. 특정 소비자 그룹의 측정항목을 보려면 consumer_group_id 라벨로 필터링합니다.

측정항목 설명 상응하는 MBean 이름
offset_lag 각 파티션의 소비자 그룹에 대한 최신 오프셋과 마지막 커밋된 오프셋의 차이입니다. 이 측정항목은 소비자가 아직 성공적으로 처리하지 않은 생성된 메시지의 수를 추정합니다. 해당 사항 없음

다음 단계

Apache Kafka®는 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 등록 상표입니다.