要监控Debian上Kafka的运行状态,您可以使用多种监控工具和方法。以下是一些推荐的监控工具及其使用方法:
Kafdrop
docker run -d --rm -p 9000:9000 \
-e KAFKA_BROKERCONNECT=<host:port> \
-e SERVER_SERVLET_CONTEXTPATH="/" \
obsidiandynamics/kafdrop
KafkaOffsetMonitor
java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--zk zk-server1,zk-server2 \
--port 8080 \
--refresh 10.seconds \
--retain 2.days
EFAK
Broker指标:
UnderReplicatedPartitions:同步异常的分区数。ISRShrink/ISRExpand:ISR收缩和扩容的频率。ActiveControllerCount:当前Broker节点是否是Controller节点。offlinePartitionCount:不可用状态的Partition数量。LeaderElectionRateAndTimeMs:Leader选举的频率和无Leader节点的时长。UncleanLeaderElectionsPerSec:从ISR集合中选出新的Leader节点的频率。TotalTimeMs:处理请求的总时间。生产者指标:
request-latency-avg:平均请求时间。waiting-threads:发送缓存区中阻塞的用户线程数。bytes-in-per-sec:生产者的网络吞吐量。bytes-out-per-sec:生产者的吞吐量。消费者指标:
records-lag:消费者在当前分区上落后于生产者的数量。bytes-per-sec:消费者的网络吞吐量。messages-per-sec:消息的消费速度。Zookeeper指标:
zookeeper commit-per-sec:Zookeeper的高写负载情况。通过这些工具和指标,您可以全面监控Debian上Kafka的运行状态,确保其高效稳定运行。