Prometheus의 Kafka 수출업체입니다. Kafka의 다른 메트릭에 대해서는 JMX 내보내기를 살펴보세요.
Apache Kafka 버전 0.10.1.0(이상)을 지원합니다.
바이너리는 릴리스 페이지에서 다운로드할 수 있습니다.
make
make docker
docker pull danielqsj/kafka-exporter:latest
이미지를 직접 빌드할 필요 없이 직접 사용할 수 있습니다. (도커 허브 danielqsj/kafka-exporter)
kafka_exporter --kafka.server=kafka:9092 [--kafka.server = another-server ...]
docker run -ti --rm -p 9308:9308 danielqsj/kafka-exporter --kafka.server=kafka:9092 [--kafka.server=another-server ...]
docker-compose.yml
실행시키세요
services:
kafka-exporter:
image: danielqsj/kafka-exporter
command: ["--kafka.server=kafka:9092", "[--kafka.server=another-server ...]"]
ports:
- 9308:9308
그런 다음 실행
docker-compose up -d
이 이미지는 다양한 플래그를 사용하여 구성 가능합니다.
국기 이름 | 기본 | 설명 |
---|---|---|
kafka.서버 | 카프카:9092 | Kafka 서버의 주소(호스트:포트) |
kafka.버전 | 2.0.0 | 카프카 브로커 버전 |
sasl.활성화됨 | 거짓 | SASL/PLAIN을 사용하여 연결 |
sasl.handshake | 진실 | Kafka SASL 프록시가 아닌 프록시를 사용하는 경우에만 false로 설정하십시오. |
sasl.사용자 이름 | SASL 사용자 이름 | |
sasl.비밀번호 | SASL 사용자 비밀번호 | |
sasl.mechanism | SASL 메커니즘은 일반, scram-sha512, scram-sha256일 수 있습니다. | |
sasl.service-name | Kerberos 인증 사용 시 서비스 이름 | |
sasl.kerberos-config-path | Kerberos 구성 경로 | |
sasl.realm | Kerberos 영역 | |
sasl.keytab-경로 | Kerberos 키탭 파일 경로 | |
sasl.kerberos-auth-type | Kerberos 인증 유형. 'keytabAuth' 또는 'userAuth' | |
TLS.활성화됨 | 거짓 | TLS를 사용하여 Kafka에 연결 |
tls.서버 이름 | tls.insecure-skip-tls-verify가 제공되지 않는 한 반환된 인증서에서 호스트 이름을 확인하는 데 사용됩니다. Kafka 서버의 이름이 제공되어야 합니다. | |
tls.ca 파일 | Kafka TLS 클라이언트 인증을 위한 선택적 인증 기관 파일 | |
tls.cert 파일 | Kafka 클라이언트 인증을 위한 선택적 인증서 파일 | |
tls.key 파일 | Kafka 클라이언트 인증을 위한 선택적 키 파일 | |
tls.insecure-skip-tls-검증 | 거짓 | true인 경우 서버 인증서의 유효성을 확인하지 않습니다. |
server.tls.활성화됨 | 거짓 | 웹 서버에 TLS 활성화 |
server.tls.mutual-auth-enabled | 거짓 | TLS 클라이언트 상호 인증 활성화 |
server.tls.ca 파일 | 웹 서버의 인증 기관 파일 | |
server.tls.cert 파일 | 웹 서버의 인증서 파일 | |
server.tls.key 파일 | 웹 서버의 키 파일 | |
주제.필터 | .* | 수집할 주제를 결정하는 정규식 |
주제.제외 | ^$ | 제외할 주제를 결정하는 정규식 |
그룹.필터 | .* | 수집할 소비자 그룹을 결정하는 정규식 |
그룹.제외 | ^$ | 제외할 소비자 그룹을 결정하는 정규식 |
web.listen 주소 | :9308 | 웹 인터페이스 및 원격 측정을 수신할 주소 |
web.telemetry 경로 | /측정항목 | 측정항목을 노출할 경로 |
log.enable-sarama | 거짓 | Sarama 로깅 켜기 |
use.consumelag.zookeeper | 거짓 | 사육사의 그룹을 사용해야 하는 경우 |
사육사.서버 | 로컬호스트:2181 | 사육사 서버의 주소(호스트) |
카프카.라벨 | Kafka 클러스터 이름 | |
새로고침.메타데이터 | 30대 | 메타데이터 새로 고침 간격 |
offset.show-all | 진실 | 모든 소비자 그룹에 대한 오프셋/지연을 표시할지 여부, 그렇지 않으면 연결된 소비자 그룹만 표시 |
동시 활성화 | 거짓 | true인 경우 모든 스크랩은 kafka 작업을 트리거하고 그렇지 않으면 결과를 공유합니다. 경고: 대규모 클러스터에서는 비활성화해야 합니다. |
주제.근로자 | 100 | 주제 작업자 수 |
다변 | 0 | 상세 로그 수준 |
부울 값은 Kingpin에서 고유하게 관리됩니다. 각 부울 플래그에는 음의 보수( --
및 --no-
가 있습니다.
예를 들어:
sasl.handshake
비활성화해야 하는 경우 --no-sasl.handshake
플래그를 추가할 수 있습니다.
노출된 Prometheus 측정항목에 대한 문서입니다.
기본 측정항목에 대한 자세한 내용은 Apache Kafka를 참조하세요.
측정항목 세부정보
이름 | 노출된 정보 |
---|---|
kafka_brokers | Kafka 클러스터의 브로커 수 |
측정항목 출력 예시
# HELP kafka_brokers Number of Brokers in the Kafka Cluster.
# TYPE kafka_brokers gauge
kafka_brokers 3
측정항목 세부정보
이름 | 노출된 정보 |
---|---|
kafka_topic_partitions | 이 주제의 파티션 수 |
kafka_topic_partition_current_offset | 주제/파티션에서 브로커의 현재 오프셋 |
kafka_topic_partition_oldest_offset | 주제/파티션에서 브로커의 가장 오래된 오프셋 |
kafka_topic_partition_in_sync_replica | 이 주제/파티션에 대한 동기화 복제본 수 |
kafka_topic_partition_leader | 이 주제/파티션의 리더 브로커 ID |
kafka_topic_partition_leader_is_preferred | 주제/파티션이 선호하는 브로커를 사용하는 경우 1 |
kafka_topic_partition_replicas | 이 주제/파티션의 복제본 수 |
kafka_topic_partition_under_replicated_partition | 주제/파티션이 복제됨 아래에 있는 경우 1 |
측정항목 출력 예시
# HELP kafka_topic_partitions Number of partitions for this Topic
# TYPE kafka_topic_partitions gauge
kafka_topic_partitions{topic="__consumer_offsets"} 50
# HELP kafka_topic_partition_current_offset Current Offset of a Broker at Topic/Partition
# TYPE kafka_topic_partition_current_offset gauge
kafka_topic_partition_current_offset{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_oldest_offset Oldest Offset of a Broker at Topic/Partition
# TYPE kafka_topic_partition_oldest_offset gauge
kafka_topic_partition_oldest_offset{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_in_sync_replica Number of In-Sync Replicas for this Topic/Partition
# TYPE kafka_topic_partition_in_sync_replica gauge
kafka_topic_partition_in_sync_replica{partition="0",topic="__consumer_offsets"} 3
# HELP kafka_topic_partition_leader Leader Broker ID of this Topic/Partition
# TYPE kafka_topic_partition_leader gauge
kafka_topic_partition_leader{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_leader_is_preferred 1 if Topic/Partition is using the Preferred Broker
# TYPE kafka_topic_partition_leader_is_preferred gauge
kafka_topic_partition_leader_is_preferred{partition="0",topic="__consumer_offsets"} 1
# HELP kafka_topic_partition_replicas Number of Replicas for this Topic/Partition
# TYPE kafka_topic_partition_replicas gauge
kafka_topic_partition_replicas{partition="0",topic="__consumer_offsets"} 3
# HELP kafka_topic_partition_under_replicated_partition 1 if Topic/Partition is under Replicated
# TYPE kafka_topic_partition_under_replicated_partition gauge
kafka_topic_partition_under_replicated_partition{partition="0",topic="__consumer_offsets"} 0
측정항목 세부정보
이름 | 노출된 정보 |
---|---|
kafka_consumergroup_current_offset | 주제/파티션에서 ConsumerGroup의 현재 오프셋 |
kafka_consumergroup_lag | 주제/파티션에서 ConsumerGroup의 현재 대략적인 지연 시간 |
kafka_consumergroupzookeeper_lag_zookeeper | 주제/파티션에서 ConsumerGroup의 현재 대략적인 지연(주키퍼) |
kafka_consumergroupzookeeper_lag_zookeeper
측정항목을 수집하려면 다음 플래그를 설정해야 합니다.
use.consumelag.zookeeper
: 사육사로부터 소비 지연 수집을 활성화합니다.zookeeper.server
: 사육사 연결을 위한 주소측정항목 출력 예시
# HELP kafka_consumergroup_current_offset Current Offset of a ConsumerGroup at Topic/Partition
# TYPE kafka_consumergroup_current_offset gauge
kafka_consumergroup_current_offset{consumergroup="KMOffsetCache-kafka-manager-3806276532-ml44w",partition="0",topic="__consumer_offsets"} -1
# HELP kafka_consumergroup_lag Current Approximate Lag of a ConsumerGroup at Topic/Partition
# TYPE kafka_consumergroup_lag gauge
kafka_consumergroup_lag{consumergroup="KMOffsetCache-kafka-manager-3806276532-ml44w",partition="0",topic="__consumer_offsets"} 1
Grafana 대시보드 ID: 7589, 이름: Kafka 내보내기 개요.
대시보드에 대한 자세한 내용은 Kafka 내보내기 개요를 참조하세요.
Kafka 내보내기가 마음에 드시면 별표를 주세요. 이는 더 많은 사람들이 Kafka Importer를 아는 데 도움이 될 것입니다.
풀 요청(Pull Request)을 보내주시기 바랍니다.
이 훌륭한 사람들에게 감사드립니다:
귀하의 기부는 제가 Kafka 수출업체를 지속적으로 개선하는 데 도움이 될 것입니다. 알리페이 기부를 지원합니다.
코드는 Apache License 2.0에 따라 라이센스가 부여됩니다.