지원되는 버전
Instancea가 수집하는 모든 Kafka 지표는 이용자 그룹 시차 및 소비자/프로듀서 바이트 비율/조절 지표와 별도로 Apache Kafka, Cloudera Kafka및 Confluent Kafka의 모든 버전에 사용할 수 있습니다. 오픈 소스 Apache Kafka에 빌드된 IBM® Event Streams 는 IBM Event Streams 11.0.4 (IBM Event Streams Operator 3.0.5) 이상 버전에서 지원됩니다.
이용자 그룹 지연 지표는 다음 버전에서 사용 가능합니다.
- 0.11.x.x 에서 3.x.x 까지의 Apache Kafka 버전
- 3.x.x 에서 4.1.x 로의 Cloudera Kafka 버전
- 3.3.x 에서 7.x.x까지의 Confluent Kafka 버전.
- 11.0.4 (IBM Event Streams Operator 3.0.5) 이상 버전의 IBM Event Streams 버전
소비자/생성자 바이트 비율/조절 메트릭은 Java Kafka 클라이언트에서만 사용 가능하며 다음과 같습니다.
- 1.1.x 에서 3.x.x 로의 Apache Kafka 버전
- 4.0.x 에서 4.1.x 까지의 Cloudera Kafka 버전
- 4.1.x 에서 7.x.x까지의 Confluent Kafka 버전.
- 11.0.4 (IBM Event Streams Operator v3.0.5) 이상 버전의 IBM Event Streams 버전
구성
Instancea 에이전트는 실행 중인 Kafka 에이전트를 자동으로 발견하므로 구성이 필요하지 않습니다.
Instana는 주제 이름별로 정렬된 첫 번째 400 주제를 수집합니다.
주제를 필터링하기 위한 요구사항이 있는 경우 에이전트 구성 파일 <agent_install_dir>/etc/instana/configuration.yaml에서 이를 구성할 수 있습니다.
com.instana.plugin.kafka:
topicsRegex: '<OPTIONAL_REGEX_HERE>'
brokerPropertiesFilePath: '/path/to/server.properties'
collectLagData: '' # true or false. The default value is true
- topicsRegex: 이름별로 최대 400개의 주제를 선택하는 선택적 정규식입니다. 값이 비어 있거나 존재하지 않는 경우 Instana는 이름별로 정렬된 처음 400개의 주제를 수집합니다.
- brokerPropertiesFilePath: 에이전트가 브로커 네트워크 및 보안 프로토콜 설정에 대한 정보를 가져오는 데 사용하는 브로커 server.properties 파일의 경로입니다.
- collectLagData: 지연 데이터 콜렉션을 명시적으로 사용/사용 안함으로 설정하는 데 사용되는 플래그입니다 (기본적으로 사용으로 설정됨).
브로커 특성에 대한 경로가 지정되지 않은 경우 에이전트는 다음 위치에서 server.properties 를 찾으려고 시도합니다.
- Kafka 브로커 프로세스 인수
- KAFKA_SERVER_PROPERTIES 환경 변수
- 사전 정의된 경로 사용: Confluent Kafka의 경우 /path_to_kafka_home/config/server.properties 또는 /path_to_kafka_home/etc/kafka/server.properties .
앞에서 언급한 방법으로 server.properties 에 대한 경로를 찾을 수 없는 경우 에이전트는 /opt/kafka/config/server.properties 를 기본 경로로 사용합니다.
SSL TLS 지원
Kafka 브로커 인스턴스에 SSL 클라이언트 연결이 필요한 경우 <agent_install_dir>/etc/instana/configuration.yaml 를 통해 Instana 에이전트를 구성하여 이용자 지연 메트릭을 수집할 수 있도록 해야 합니다.
com.instana.plugin.kafka:
...
sslTrustStore: '/path/to/truststore.jks'
sslTrustStorePassword: 'kafkaTsPassword'
sslKeyStore: '/path/to/sslKeyStoreFile.jks'
sslKeyStorePassword: 'kafkaKsPassword'
키는 Java키 저장소 형식 (JKS) 이어야 합니다. keytool 을 사용하여 이를 작성할 수 있습니다.
참고: 이를 통해 Instana 에이전트가 SSL을 통해 Kafka 브로커에 연결하고 이용자 그룹 지연 지표를 수집할 수 있습니다.
Kafka 노드-지표 콜렉션
구성 데이터
- 버전
- Zookeeper Connect
- 프로세스 ID
- 노드 ID
- 토픽/파티션
메트릭설명세분성
총 생성 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce에서 수집된 지정된 요청을 제공하기 위한 총 시간 (밀리초) 입니다. |
1초 |
총 페치 이용자 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer에서 수집된 지정된 요청을 제공하기 위한 총 시간 (밀리초) 입니다. |
1초 |
총 페치 팔로워 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower에서 수집된 지정된 요청을 제공하기 위한 총 시간 (밀리초) 입니다. |
1초 |
브로커 트래픽
메트릭설명세분성
In |
수신 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec에서 수집됩니다. |
1초 |
출력 |
전송 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec에서 수집됩니다. |
1초 |
거부됨 |
거부된 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec에서 수집됩니다. |
1초 |
브로커 메시지 수신
메트릭설명세분성
개수 |
수신 메시지 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec에서 수집됩니다. |
1초 |
요청 생성
메트릭설명세분성
개수 |
요청 비율이며 kafka.network:type=RequestMetrics,name=RequestsPerSec,request=Produce에서 수집됩니다. |
1초 |
평균 대기 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce에서 수집된 지정된 요청을 제공하기 위해 총 시간 (밀리초) 및 계수의 몫 (위에서 언급됨) 으로 계산된 평균 대기 시간입니다. |
1초 |
이용자 요청 페치
메트릭설명세분성
개수 |
요청 비율이며 kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchConsumer에서 수집됩니다. |
1초 |
평균 대기 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer에서 수집된 지정된 요청을 제공하기 위해 총 시간 (밀리초) 및 계수의 몫 (위에서 언급됨) 으로 계산된 평균 대기 시간입니다. |
1초 |
팔로워 요청 페치
메트릭설명세분성
개수 |
요청 비율이며 kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchFollower에서 수집됩니다. |
1초 |
평균 대기 시간 |
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower에서 수집된 지정된 요청을 제공하기 위해 총 시간 (밀리초) 및 계수의 몫 (위에서 언급됨) 으로 계산된 평균 대기 시간입니다. |
1초 |
평균 유휴 시간
메트릭설명세분성
네트워크 프로세서 |
네트워크 프로세서 스레드가 유휴 상태인 평균 시간 비율입니다. 값은 0% (모든 자원이 사용됨) - 100% (모든 자원이 사용 가능함) 사이이며 kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent에서 수집됩니다. |
1초 |
요청 핸들러 |
요청 핸들러 스레드가 유휴 상태인 평균 시간 비율입니다. 값은 0% (모든 자원이 사용됨) - 100% (모든 자원이 사용 가능함) 사이이며 kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent에서 수집됩니다. |
1초 |
브로커 실패
메트릭설명세분성
페치 |
실패하여 kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec에서 수집된 요청에 대한 페치 요청 비율입니다. |
1초 |
생성 |
실패하고 kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec에서 수집되는 요청에 대한 요청 비율을 생성합니다. |
1초 |
브로커 상태 지표
메트릭설명세분성
복제가 완료되지 않은 파티션 |
복제되지 않은 파티션 수 (ISR < 모든 복제본) 이며 kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions에서 수집됩니다. |
1초 |
오프라인 파티션 |
활성 리더가 없으므로 쓰기 또는 읽기가 불가능하고 kafka.controller:type=KafkaController,name=OfflinePartitionsCount에서 수집되는 파티션의 수입니다. |
1초 |
리더 선거 |
리더 선출 비율 및 대기 시간은 kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs에서 수집됩니다. |
1초 |
부정 리더 선거 |
kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec에서 수집되는 명확하지 않은 리더 선출 비율입니다. |
1초 |
ISR Shrink |
브로커가 작동 중지되면 일부 파티션의 ISR이 축소됩니다. 해당 브로커가 다시 가동되면 복제본이 완전히 포착되면 ISR이 확장됩니다. 그 외에도 ISR 축소 비율 및 확장 비율 모두에 대한 예상 값은 0입니다. kafka.server:type=ReplicaManager,name=IsrShrinksPerSec에서 수집됩니다. |
1초 |
ISR Expansion |
실패 후 브로커가 발생하면 리더에서 읽어 따라잡기 시작합니다. 일단 발견되면 ISR에 다시 추가됩니다. kafka.server:type=ReplicaManager,name=IsrExpandsPerSec에서 수집됩니다. |
1초 |
활성 컨트롤러 수 |
클러스터에 있는 활성 제어기의 수이며 kafka.controller:type=KafkaController,name=ActiveControllerCount에서 수집됩니다. |
1초 |
파티션
메트릭설명세분성
개수 |
이 브로커의 파티션 수입니다. 이는 대부분 모든 브로커에서도 발생해야 하며 kafka.server:type=ReplicaManager,name=PartitionCount에서 수집됩니다. |
1초 |
로그 플러시
메트릭설명세분성
평균 |
로그 플러시 비율이며 kafka.log:type=LogFlushStats,name=LogFlushRateAndTimeMs에서 수집됩니다. |
1초 |
플러시 |
로그 플러시 수이며 kafka.log:type=LogFlushStats,name=LogFlushRateAndTimeMs에서 수집됩니다. |
1초 |
주제
메트릭설명세분성
이름 |
수신 메시지 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec에서 수집됩니다. |
1초 |
파티션 |
수신 메시지 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec에서 수집됩니다. |
1초 |
수신 바이트 |
토픽에 대한 수신 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec에서 수집됩니다. |
1초 |
보낸 바이트 |
토픽에 대한 송신 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec에서 수집됩니다. |
1초 |
거부된 바이트 |
주제에 대해 거부된 바이트 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec에서 수집됩니다. |
1초 |
수신 메시지 |
토픽에 대한 수신 메시지 비율을 집계하며 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec에서 수집됩니다. |
1초 |
동기화 복제본 |
동기화 복제본 수이며 kafka.cluster:type=Partition,name=InSyncReplicasCount에서 수집됩니다. |
1초 |
Kafka 클러스터-지표 콜렉션
- 클러스터 이름
- Zookeeper
- 노드 (이름, 버전)
토픽/파티션
메트릭설명세분성
모든 브로커 메시지 입력 |
모든 노드의 브로커 메시지 입력 지표의 합계입니다. |
1초 |
거부된 트래픽 |
모든 노드에서 거부된 브로커 트래픽 지표의 합계입니다. |
1초 |
총 페치 이용자 시간 |
모든 노드에서 총 페치 이용자 시간 지표의 합계입니다. |
1초 |
총 페치 팔로워 시간 |
모든 노드의 총 페치 팔로워 시간 지표의 합계입니다. |
1초 |
평균 요청 대기 시간 대 처리량
메트릭설명세분성
처리량 생성 |
모든 노드에서 생성 요청 수 지표의 합계입니다. |
1초 |
페치 컨슈머 처리량 |
모든 노드의 페치 이용자 요청 수 지표의 합계입니다. |
1초 |
페치 팔로워 처리량 |
모든 노드의 페치 팔로워 요청 수 지표의 합계입니다. |
1초 |
총 생성 시간 |
모든 노드에서 총 생성 시간의 합계입니다. |
1초 |
총 페치 이용자 시간 |
모든 노드에서 총 페치 이용자 시간의 합계입니다. |
1초 |
총 페치 팔로워 시간 |
모든 노드에서 총 페치 팔로워 시간의 합계입니다. |
1초 |
모든 브로커 트래픽
메트릭설명세분성
In |
모든 노드에서 브로커 트래픽 인바운드의 합계입니다. |
1초 |
출력 |
모든 노드에서 브로커 트래픽 출력의 합계입니다. |
1초 |
거부됨 |
모든 노드에서 거부된 브로커 트래픽의 합계입니다. |
1초 |
모든 브로커 실패
메트릭설명세분성
페치 |
모든 노드에서 브로커 실패 페치의 합계입니다. |
1초 |
생성 |
모든 노드에서 생성된 브로커 실패의 합계입니다. |
1초 |
모든 브로커 상태 지표
메트릭설명세분성
복제가 완료되지 않은 파티션 |
모든 노드에서 브로커 상태 메트릭 하위 복제 파티션의 합계입니다. |
1초 |
오프라인 파티션 |
모든 노드에서 브로커 상태 지표 오프라인 파티션의 합계입니다. |
1초 |
리더 선거 |
모든 노드에서 브로커 상태 메트릭 리더 선택의 합계입니다. |
1초 |
부정 리더 선거 |
모든 노드에서 브로커 상태 지표 정리되지 않은 리더 선택의 합계입니다. |
1초 |
ISR Shrink |
모든 노드에서 브로커 상태 지표 ISR 축소의 합계입니다. |
1초 |
ISR Expansion |
모든 노드에서 브로커 상태 지표 ISR 확장의 합계입니다. |
1초 |
활성 컨트롤러 수 |
모든 노드의 브로커 상태 지표 활성 컨트롤러 수의 합계입니다. |
1초 |
평균 유휴 시간 백분율
메트릭설명세분성
네트워크 프로세서 |
모든 노드에서 평균 유휴 시간 네트워크 프로세서의 평균입니다. |
1초 |
요청 핸들러 |
모든 노드에서 평균 유휴 시간 요청 핸들러의 평균입니다. |
1초 |
로그 플러시
메트릭설명세분성
평균 |
모든 노드에서 로그 플러시 평균의 합계입니다. |
1초 |
플러시 |
모든 노드에서 로그 플러시 플러시의 합계입니다. |
1초 |
클러스터 노드
메트릭설명세분성
제어기 |
노드 제어기입니까? 예/아니오 |
1초 |
수신 메시지 |
수신된 브로커 메시지 수를 포함하는 차트입니다. |
1초 |
수신 바이트 |
수신된 브로커 바이트 수를 포함하는 차트입니다. |
1초 |
보낸 바이트 |
출력된 브로커 바이트 수를 표시하는 차트입니다. |
1초 |
평균 응답 시간 |
브로커 평균 응답 시간 수를 표시하는 차트입니다. |
1초 |
상태 |
노드 상태 표시기. |
1초 |
클러스터 토픽
메트릭설명세분성
파티션 |
파티션 수입니다. |
10분간 진행되는 |
수신 바이트 |
수신된 주제 바이트 수를 포함하는 차트입니다. |
1초 |
보낸 바이트 |
송신된 주제 바이트 수를 포함하는 차트입니다. |
1초 |
거부된 바이트 |
거부된 주제 바이트 수를 표시하는 차트입니다. |
1초 |
수신 메시지 |
수신된 주제 메시지 수를 포함하는 차트입니다. |
1초 |
이용자 그룹 지연
이용자
메트릭설명세분성
바이트 비율 |
초당 보낸 소비 바이트 수입니다. |
1초 |
스로틀링 |
평균 조절 시간입니다. |
1초 |
대기 시간 |
평균 페치 대기 시간입니다. |
1초 |
생산자
메트릭설명세분성
바이트 비율 |
초당 보낸 발신 바이트 수입니다. |
1초 |
스로틀링 |
평균 조절 시간입니다. |
1초 |
대기 시간 |
평균 요청 대기 시간입니다. |
1초 |