17장. Kafka 내보내기 사용
Kafka Exporter 는 Apache Kafka 브로커 및 클라이언트의 모니터링을 개선하는 오픈 소스 프로젝트입니다.
Kafka Exporter는 Kafka 클러스터 배포 시 오프셋, 소비자 그룹, 소비자 지연 및 주제와 관련된 Kafka 브로커에서 추가 지표 데이터를 추출하기 위해 Apache Kafka용 Streams가 제공됩니다.
예를 들어 지표 데이터는 느린 소비자를 식별하는 데 사용됩니다.
지연 데이터는 Prometheus 지표로 노출되며 분석을 위해 Grafana에 표시될 수 있습니다.
이미 Prometheus 및 Grafana를 사용하여 기본 제공 Kafka 메트릭을 모니터링하는 경우 Kafka Exporter Prometheus 끝점을 스크랩하도록 Prometheus를 구성할 수 있습니다.
Kafka는 Cryostat를 통해 지표를 노출합니다. 이 지표는 Prometheus 지표로 내보낼 수 있습니다. 자세한 내용은 Cryostat 를 사용하여 클러스터 모니터링을 참조하십시오.
17.1. 소비자 지연
소비자 지연은 메시지의 프로덕션 속도와 사용 속도의 차이를 나타냅니다. 특히 지정된 소비자 그룹의 소비자 지연은 파티션의 마지막 메시지와 해당 소비자가 현재 선택 중인 메시지 사이의 지연을 나타냅니다. 지연은 파티션 로그의 끝과 관련하여 소비자 오프셋의 위치를 반영합니다.
이러한 차이점은 Kafka 브로커 주제 파티션의 읽기 및 쓰기 위치인 생산자 오프셋과 소비자 오프셋 간의 delta 라고도 합니다.
주제가 1초에 100개의 메시지를 스트리밍한다고 가정합니다. 생산자 오프셋(주파 파티션 헤드)과 소비자가 읽은 마지막 오프셋은 10초 지연을 의미합니다.
소비자 지연 모니터링의 중요성
실시간 데이터의 처리에 의존하는 애플리케이션의 경우 소비자 지연을 모니터링하는 것이 너무 크지 않은지 확인하는 것이 중요합니다. 지연이 많을수록 프로세스가 실시간 처리 목표에서 이동합니다.
예를 들어 소비자 지연은 제거되지 않았거나 계획되지 않은 종료를 통해 오래된 데이터를 너무 많이 소비한 결과일 수 있습니다.
소비자 지연 감소
지연을 줄이기 위한 일반적인 작업은 다음과 같습니다.
- 새 소비자를 추가하여 소비자 그룹 확장
- 메시지가 주제에 남아 있도록 보존 시간 늘리기
- 메시지 버퍼를 늘리기 위해 디스크 용량을 더 추가
소비자 지연을 줄이기 위한 작업은 기본 인프라와 Apache Kafka의 스트림 스트림이 지원 중인 사용 사례에 따라 달라집니다. 예를 들어, 지연된 소비자는 브로커에서 디스크 캐시의 가져오기 요청을 서비스할 수 있는 이점이 줄어듭니다. 또한 특정 경우에는 소비자가 catch될 때까지 메시지를 자동으로 삭제하는 것이 허용될 수 있습니다.