지원되는 버전

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초

 이용자 그룹 지연

메트릭설명세분성
시차 주제별 이용자 그룹 지연. 60초

 이용자

메트릭설명세분성
바이트 비율 초당 보낸 소비 바이트 수입니다. 1초
스로틀링 평균 조절 시간입니다. 1초
대기 시간 평균 페치 대기 시간입니다. 1초

 생산자

메트릭설명세분성
바이트 비율 초당 보낸 발신 바이트 수입니다. 1초
스로틀링 평균 조절 시간입니다. 1초
대기 시간 평균 요청 대기 시간입니다. 1초

Kafka 작업자-메트릭 콜렉션

 구성 데이터

  • Version
  • 이름
  • 브로커 수

 성능 지표

  • 커넥터 개수
  • 커넥터 시작 실패
  • 태스크 시작 실패

 리밸런싱

메트릭설명세분성
재조정 완료 이 작업자 kafka.connect:type=connect-worker-rebalance-metrics,name=completed-rebalances-total이 완료한 재조정의 총 수입니다. 1초
재조정 평균 시간 이 작업자가 kafka.connect:type=connect-worker-rebalance-metrics,name=rebalance-avg-time-ms재조정하는 데 소요된 평균 시간 (밀리초) 입니다. 1초
재조정 중 이 작업자가 현재 kafka.connect:type=connect-worker-rebalance-metrics,name=rebalancing재조정 중인지 여부입니다. 1초
마지막 재조정 이후 시간 이 작업자가 가장 최근의 재조정 kafka.connect:type=connect-worker-rebalance-metrics,name=time-since-last-rebalance-ms을 완료한 이후의 시간 (밀리초) 입니다. 1초

 

 Kafka 커넥터-메트릭 콜렉션

  • 커넥터 이름
  • 커넥터 클래스
  • 커넥터 유형
  • 커넥터 버전

 커넥터 태스크

메트릭설명세분성
총계 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-total-task-count의 태스크 수입니다. 1초
실행 중 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-running-task-count 의 실행 중인 태스크 수 1초
실패함 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-failed-task-count의 실패한 태스크 수입니다. 1초
삭제됨 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-destroyed-task-count의 손상된 태스크 수입니다. 1초
일시중지됨 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-paused-task-count의 일시정지된 태스크 수. 1초
지정되지 않습니다. 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-unassigned-task-count 의 지정되지 않은 태스크 수 1초

 태스크

메트릭설명세분성
이름 태스크 이름 kafka.connect:type=connector-task-metrics,connector={connectorName},task={taskName}입니다. 1초
Status 커넥터 태스크 kafka.connect:type=connector-task-metrics,connector={connectorName},task={taskName},name=status의 상태입니다. 1초
실행 비율 이 태스크가 kafka.connect:type=connector-task-metrics,connector={connectorName},task={taskName},name=running-ratio상태를 실행하는 데 소요한 시간입니다. 1초
일시정지 비율 이 태스크가 일시정지 상태 kafka.connect:type=connector-task-metrics,connector={connectorName},task={taskName},name=pause-ratio에서 소비한 분수 시간입니다. 1초

 태스크 링크 태스크

메트릭설명세분성
파티션 수 이 태스크 kafka.connect:type=sink-task-metrics,connector={connectorName},task={taskName},name=partition-count에 지정된 토픽 파티션의 수입니다. 1초
레코드 읽기 비율 이 태스크 kafka.connect:type=sink-task-metrics,connector={connectorName},task={taskName},name=sink-record-read-rate에 대해 Kafka 에서 읽은 초당 평균 레코드 수 1초
레코드 전송 비율 이 태스크 kafka.connect:type=sink-task-metrics,connector={connectorName},task={taskName},name=sink-record-send-rate에서 보낸 초당 평균 레코드 수. 1초
메트릭설명세분성
레코드 폴링 비율 이 태스크 kafka.connect:type=source-task-metrics,connector={connectorName},task={taskName},name=source-record-poll-rate에 의해 폴링된 초당 평균 레코드 수. 1초
레코드 쓰기 비율 이 태스크 kafka.connect:type=source-task-metrics,connector={connectorName},task={taskName},name=source-record-write-rate에 의해 Kafka 에 기록된 초당 평균 레코드 수입니다. 1초

 Kafka 클러스터 연결 클러스터-메트릭 콜렉션

 구성 데이터

  • Version

 작업자

메트릭설명세분성
커넥터 시작 실패 이 작업자 kafka.connect:type=connect-worker-rebalance-metrics,name=connector-startup-failure-total이 완료한 재조정의 총 수입니다. 1초
태스크 시작 실패 이 작업자 kafka.connect:type=connect-worker-rebalance-metrics,name=task-startup-failure-total이 완료한 재조정의 총 수입니다. 1초
재조정 완료 이 작업자 kafka.connect:type=connect-worker-rebalance-metrics,name=completed-rebalances-total이 완료한 재조정의 총 수입니다. 1초
재조정 평균 시간 이 작업자가 kafka.connect:type=connect-worker-rebalance-metrics,name=rebalance-avg-time-ms재조정하는 데 소요된 평균 시간 (밀리초) 입니다. 1초
재조정 중 이 작업자가 현재 kafka.connect:type=connect-worker-rebalance-metrics,name=rebalancing재조정 중인지 여부입니다. 1초
마지막 재조정 이후 시간 이 작업자가 가장 최근의 재조정 kafka.connect:type=connect-worker-rebalance-metrics,name=time-since-last-rebalance-ms을 완료한 이후의 시간 (밀리초) 입니다. 1초

 커넥터

메트릭설명세분성
이름 커넥터 이름 kafka.connect:type=connect-worker-metrics,connector={name}. 1초
총 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-total-task-count의 태스크 수입니다. 1초
실행 중인 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-running-task-count의 실행 중인 태스크 수입니다. 1초
실패한 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-failed-task-count의 실패한 태스크 수입니다. 1초
영구 삭제된 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-destroyed-task-count의 손상된 태스크 수입니다. 1초
일시정지된 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-paused-task-count의 일시정지된 태스크 수. 1초
지정되지 않은 태스크 커넥터 kafka.connect:type=connect-worker-metrics,connector={name},name=connector-unassigned-task-count의 지정되지 않은 태스크 수입니다. 1초

+ Recent posts