Eksportir Kafka untuk Prometheus. Untuk metrik lain dari Kafka, lihat eksportir JMX.
Mendukung Apache Kafka versi 0.10.1.0 (dan lebih baru).
Biner dapat diunduh dari halaman Rilis.
make
make docker
docker pull danielqsj/kafka-exporter:latest
Ini dapat digunakan secara langsung daripada harus membuat gambar sendiri. (Docker Hub danielqsj/kafka-eksportir)
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 ...]
membuat lalat docker-compose.yml
services:
kafka-exporter:
image: danielqsj/kafka-exporter
command: ["--kafka.server=kafka:9092", "[--kafka.server=another-server ...]"]
ports:
- 9308:9308
lalu jalankan
docker-compose up -d
Gambar ini dapat dikonfigurasi menggunakan bendera yang berbeda
Nama bendera | Bawaan | Keterangan |
---|---|---|
kafka.server | kafka:9092 | Alamat (host:port) server Kafka |
kafka.version | 2.0.0 | Versi pialang Kafka |
sasl.enabled | PALSU | Hubungkan menggunakan SASL/PLAIN |
sasl.jabat tangan | BENAR | Hanya setel ini ke false jika menggunakan proksi SASL non-Kafka |
sasl.nama pengguna | Nama pengguna SASL | |
sasl.kata sandi | Kata sandi pengguna SASL | |
sasl.mekanisme | Mekanisme SASL bisa polos, scram-sha512, scram-sha256 | |
sasl.nama-layanan | Nama layanan saat menggunakan Kerberos Auth | |
sasl.kerberos-config-path | Jalur konfigurasi Kerberos | |
sasl.realm | wilayah Kerberos | |
sasl.keytab-jalur | Jalur file keytab Kerberos | |
sasl.kerberos-auth-type | Tipe autentikasi Kerberos. Entah 'keytabAuth' atau 'userAuth' | |
tls.diaktifkan | PALSU | Terhubung ke Kafka menggunakan TLS |
tls.nama server | Digunakan untuk memverifikasi nama host pada sertifikat yang dikembalikan kecuali tls.insecure-skip-tls-verify diberikan. Nama server kafka harus diberikan | |
file tls.ca | File otoritas sertifikat opsional untuk autentikasi klien Kafka TLS | |
tls.cert-file | File sertifikat opsional untuk autentikasi klien Kafka | |
tls.file kunci | File kunci opsional untuk autentikasi klien Kafka | |
tls.tidak aman-lewati-tls-verifikasi | PALSU | Jika benar, sertifikat server tidak akan diperiksa validitasnya |
server.tls.diaktifkan | PALSU | Aktifkan TLS untuk server web |
server.tls.mutual-auth-enabled | PALSU | Aktifkan autentikasi timbal balik klien TLS |
file server.tls.ca | File otoritas sertifikat untuk server web | |
server.tls.cert-file | File sertifikat untuk server web | |
server.tls.file kunci | File kunci untuk server web | |
topik.filter | .* | Regex yang menentukan topik mana yang akan dikumpulkan |
topik.kecualikan | ^$ | Regex yang menentukan topik mana yang akan dikecualikan |
grup.filter | .* | Regex yang menentukan kelompok konsumen mana yang akan dikumpulkan |
grup.kecualikan | ^$ | Regex yang menentukan kelompok konsumen mana yang akan dikecualikan |
web.listen-address | :9308 | Alamat untuk mendengarkan antarmuka web dan telemetri |
web.telemetri-jalur | /metrik | Jalur untuk mengekspos metrik |
log.enable-sarama | PALSU | Aktifkan pencatatan Sarama |
gunakan.consumelag.zookeeper | PALSU | jika Anda perlu menggunakan grup dari penjaga kebun binatang |
penjaga kebun binatang.server | host lokal:2181 | Alamat (host) server penjaga kebun binatang |
kafka.labels | Nama cluster Kafka | |
segarkan.metadata | 30an | Interval penyegaran metadata |
offset.tunjukkan-semua | BENAR | Apakah menampilkan offset/lag untuk semua grup konsumen, jika tidak, hanya tampilkan grup konsumen yang terhubung |
bersamaan.aktifkan | PALSU | Jika benar, semua goresan akan memicu operasi kafka, jika tidak, operasi tersebut akan membagikan hasilnya. PERINGATAN: Ini harus dinonaktifkan pada cluster besar |
topik.pekerja | 100 | Jumlah pekerja topik |
verbositas | 0 | Tingkat log verbositas |
Nilai Boolean dikelola secara unik oleh Kingpin. Setiap flag boolean akan memiliki komplemen negatif: --
dan --no-
.
Misalnya:
Jika Anda perlu menonaktifkan sasl.handshake
, Anda dapat menambahkan flag --no-sasl.handshake
Dokumen tentang metrik Prometheus yang terekspos.
Untuk detail tentang metrik yang mendasarinya, silakan lihat Apache Kafka.
Detail metrik
Nama | Informasi yang terpapar |
---|---|
kafka_brokers | Jumlah Broker di Klaster Kafka |
Contoh keluaran metrik
# HELP kafka_brokers Number of Brokers in the Kafka Cluster.
# TYPE kafka_brokers gauge
kafka_brokers 3
Detail metrik
Nama | Informasi yang terpapar |
---|---|
kafka_topic_partitions | Jumlah partisi untuk Topik ini |
kafka_topic_partition_current_offset | Offset Broker Saat Ini pada Topik/Partisi |
kafka_topic_partition_oldest_offset | Offset Terlama dari Broker di Topik/Partisi |
kafka_topic_partition_in_sync_replica | Jumlah Replika In-Sync untuk Topik/Partisi ini |
kafka_topic_partition_leader | ID Pialang Pemimpin dari Topik/Partisi ini |
kafka_topic_partition_leader_is_preferred | 1 jika Topik/Partisi menggunakan Broker Pilihan |
kafka_topic_partition_replicas | Jumlah Replika untuk Topik/Partisi ini |
kafka_topic_partition_under_replicated_partition | 1 jika Topik/Partisi berada di bawah Replikasi |
Contoh keluaran metrik
# 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
Detail metrik
Nama | Informasi yang terpapar |
---|---|
kafka_consumergroup_current_offset | Offset Grup Konsumen Saat Ini di Topik/Partisi |
kafka_consumergroup_lag | Perkiraan Keterlambatan Grup Konsumen Saat Ini pada Topik/Partisi |
kafka_consumergroupzookeeper_lag_zookeeper | Perkiraan Keterlambatan Saat Ini (penjaga kebun binatang) dari Grup Konsumen pada Topik/Partisi |
Untuk dapat mengumpulkan metrik kafka_consumergroupzookeeper_lag_zookeeper
, Anda harus menyetel tanda berikut:
use.consumelag.zookeeper
: mengaktifkan pengumpulan konsumsi lag dari zookeeperzookeeper.server
: alamat untuk koneksi ke zookeeperContoh keluaran metrik
# 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
ID Dasbor Grafana: 7589, nama: Ikhtisar Eksportir Kafka.
Untuk detail dasbor silakan lihat Ikhtisar Eksportir Kafka.
Jika Anda menyukai Kafka Eksportir, tolong beri saya bintang. Ini akan membantu lebih banyak orang mengenal Kafka Eksportir.
Jangan ragu untuk mengirimi saya permintaan penarikan.
Terima kasih kami sampaikan kepada orang-orang hebat ini:
Donasi Anda akan menyemangati saya untuk terus meningkatkan Kafka Eksportir. Mendukung donasi Alipay.
Kode dilisensikan di bawah Lisensi Apache 2.0.