ผู้ส่งออก Kafka สำหรับ Prometheus สำหรับตัวชี้วัดอื่นๆ จาก Kafka โปรดดูที่ผู้ส่งออก JMX
รองรับ Apache Kafka เวอร์ชัน 0.10.1.0 (และใหม่กว่า)
สามารถดาวน์โหลดไบนารีได้จากหน้าเผยแพร่
make
make docker
docker pull danielqsj/kafka-exporter:latest
สามารถนำมาใช้ได้โดยตรงแทนที่จะต้องสร้างภาพขึ้นมาเอง (นักเทียบท่า Hub danielqsj/kafka-ผู้ส่งออก)
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
flie
services:
kafka-exporter:
image: danielqsj/kafka-exporter
command: ["--kafka.server=kafka:9092", "[--kafka.server=another-server ...]"]
ports:
- 9308:9308
จากนั้นเรียกใช้
docker-compose up -d
รูปภาพนี้สามารถกำหนดค่าได้โดยใช้แฟล็กที่แตกต่างกัน
ชื่อธง | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|
คาฟคา.เซิร์ฟเวอร์ | คาฟคา:9092 | ที่อยู่ (โฮสต์: พอร์ต) ของเซิร์ฟเวอร์ Kafka |
คาฟคา.เวอร์ชั่น | 2.0.0 | เวอร์ชั่นนายหน้าคาฟคา |
sasl.เปิดใช้งานแล้ว | เท็จ | เชื่อมต่อโดยใช้ SASL/PLAIN |
sasl.จับมือกัน | จริง | ตั้งค่านี้เป็นเท็จหากใช้พร็อกซีที่ไม่ใช่ Kafka SASL |
sasl.ชื่อผู้ใช้ | ชื่อผู้ใช้ SASL | |
sasl.รหัสผ่าน | รหัสผ่านผู้ใช้ SASL | |
sasl.กลไก | กลไก SASL สามารถเป็นแบบธรรมดาได้ scram-sha512, scram-sha256 | |
sasl.ชื่อบริการ | ชื่อบริการเมื่อใช้ Kerberos Auth | |
sasl.kerberos-config-path | เส้นทางการกำหนดค่า Kerberos | |
sasl.อาณาจักร | อาณาจักรเคอร์เบรอส | |
sasl.keytab-เส้นทาง | เส้นทางไฟล์แท็บคีย์ Kerberos | |
sasl.kerberos-auth-type | ประเภทการตรวจสอบสิทธิ์ Kerberos 'keytabAuth' หรือ 'userAuth' | |
tls.เปิดใช้งานแล้ว | เท็จ | เชื่อมต่อกับ Kafka โดยใช้ TLS |
tls.ชื่อเซิร์ฟเวอร์ | ใช้เพื่อตรวจสอบชื่อโฮสต์ในใบรับรองที่ส่งคืน เว้นแต่จะได้รับ tls.insecure-skip-tls-verify ควรตั้งชื่อเซิร์ฟเวอร์คาฟคา | |
ไฟล์ tls.ca | ไฟล์ผู้ออกใบรับรองที่ไม่บังคับสำหรับการตรวจสอบสิทธิ์ไคลเอ็นต์ Kafka TLS | |
ไฟล์ tls.cert | ไฟล์ใบรับรองเพิ่มเติมสำหรับการตรวจสอบสิทธิ์ไคลเอนต์ Kafka | |
tls.key-ไฟล์ | ไฟล์คีย์เสริมสำหรับการตรวจสอบสิทธิ์ไคลเอนต์ Kafka | |
tls.insecure-ข้าม-tls-ตรวจสอบ | เท็จ | หากเป็นจริง ใบรับรองของเซิร์ฟเวอร์จะไม่ได้รับการตรวจสอบความถูกต้อง |
server.tls.เปิดใช้งานแล้ว | เท็จ | เปิดใช้งาน TLS สำหรับเว็บเซิร์ฟเวอร์ |
server.tls.mutual-auth-enabled | เท็จ | เปิดใช้งานการรับรองความถูกต้องร่วมกันของไคลเอ็นต์ TLS |
ไฟล์ server.tls.ca | ไฟล์ผู้ออกใบรับรองสำหรับเว็บเซิร์ฟเวอร์ | |
server.tls.cert ไฟล์ | ไฟล์ใบรับรองสำหรับเว็บเซิร์ฟเวอร์ | |
server.tls.key-ไฟล์ | ไฟล์สำคัญสำหรับเว็บเซิร์ฟเวอร์ | |
หัวข้อ.ตัวกรอง | - | Regex ที่กำหนดหัวข้อที่จะรวบรวม |
หัวข้อ.ไม่รวม | - | Regex ที่กำหนดหัวข้อที่จะยกเว้น |
กลุ่ม.ตัวกรอง | - | Regex ที่กำหนดกลุ่มผู้บริโภคที่จะรวบรวม |
กลุ่ม.ไม่รวม | - | Regex ที่กำหนดกลุ่มผู้บริโภคที่จะยกเว้น |
web.listen-ที่อยู่ | :9308 | ที่อยู่สำหรับรับฟังเว็บอินเตอร์เฟสและการตรวจวัดทางไกล |
web.telemetry-เส้นทาง | /เมตริก | เส้นทางที่จะเปิดเผยเมตริก |
log.enable-sarama | เท็จ | เปิดการบันทึก Sarama |
use.consumelag.zookeeper | เท็จ | หากคุณต้องการใช้กลุ่มจากผู้ดูแลสัตว์ |
ผู้ดูแลสวนสัตว์.server | โฮสต์ท้องถิ่น:2181 | ที่อยู่ (โฮสต์) ของเซิร์ฟเวอร์ผู้ดูแลสัตว์ |
คาฟคา.ฉลาก | ชื่อคลัสเตอร์คาฟคา | |
รีเฟรชข้อมูลเมตา | 30s | ช่วงเวลารีเฟรชข้อมูลเมตา |
offset.show-ทั้งหมด | จริง | ไม่ว่าจะแสดงออฟเซ็ต/ความล่าช้าสำหรับกลุ่มผู้บริโภคทั้งหมด หรือไม่ก็แสดงเฉพาะกลุ่มผู้บริโภคที่เชื่อมต่อกัน |
พร้อมกัน.เปิดใช้งาน | เท็จ | หากเป็นจริง การคัดลอกทั้งหมดจะกระตุ้นการทำงานของคาฟคา ไม่เช่นนั้นก็จะแบ่งปันผลลัพธ์ คำเตือน: ควรปิดใช้งานสิ่งนี้บนคลัสเตอร์ขนาดใหญ่ |
หัวข้อ.คนงาน | 100 | จำนวนผู้ปฏิบัติงานหัวข้อ |
คำฟุ่มเฟือย | 0 | ระดับบันทึกการใช้คำฟุ่มเฟือย |
ค่าบูลีนได้รับการจัดการโดยเฉพาะโดย Kingpin แต่ละแฟล็กบูลีนจะมีการเสริมเชิงลบ: --
และ --no-
ตัวอย่างเช่น:
หากคุณต้องการปิดการใช้งาน sasl.handshake
คุณสามารถเพิ่ม flag --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 | การชดเชยปัจจุบันของกลุ่มผู้บริโภคที่หัวข้อ/พาร์ติชัน |
kafka_consumergroup_lag | ความล่าช้าโดยประมาณปัจจุบันของกลุ่มผู้บริโภคที่หัวข้อ/พาร์ติชัน |
kafka_consumergroupzookeeper_lag_zookeeper | ความล่าช้าโดยประมาณปัจจุบัน (ผู้ดูแลสัตว์) ของกลุ่มผู้บริโภคที่หัวข้อ / พาร์ติชัน |
เพื่อให้สามารถรวบรวมเมทริก kafka_consumergroupzookeeper_lag_zookeeper
คุณต้องตั้งค่าแฟล็กต่อไปนี้:
use.consumelag.zookeeper
: เปิดใช้งานการรวบรวมการบริโภคล่าช้าจากผู้ดูแลสวนสัตว์zookeeper.server
: ที่อยู่สำหรับเชื่อมต่อกับ Zookeeperตัวอย่างเอาต์พุตเมตริก
# 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 Dashboard ID: 7589 ชื่อ: ภาพรวมผู้ส่งออก Kafka
สำหรับรายละเอียดของแดชบอร์ด โปรดดูภาพรวมผู้ส่งออก Kafka
ถ้าคุณชอบ Kafka Exporter โปรดให้ดาวฉันด้วย สิ่งนี้จะช่วยให้ผู้คนรู้จัก Kafka Exporter มากขึ้น
โปรดส่งคำขอดึงมาให้ฉัน
ขอขอบคุณผู้คนที่ยอดเยี่ยมเหล่านี้:
การบริจาคของคุณจะสนับสนุนให้ฉันปรับปรุง Kafka Exporter ต่อไป สนับสนุนการบริจาค Alipay
รหัสได้รับอนุญาตภายใต้ Apache License 2.0