用Python实现一个kafka消息监控工具
现有的kafkaTool有时不能完整的显示出消费的情况,所以查阅n多资料自己实现一个简易的消费情况统计。以表格形式清晰地展现出每个消费组下各topic的消费情况,并且计算消费速率(可能不一定准确,与网络环境相关,python脚本统计存在一定速度及性能上的误差)。
先上一张效果图
最后附上完整代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2020/11/27 15:49
# @Author : sunxy
# @FileName: kafkaTotalConsumer.py
# @Software: Visual Studio Code
from kafka.admin import KafkaAdminClient
from kafka.structs import TopicPartition, OffsetAndMetadata
from kafka import KafkaConsumer
from kafka.cluster import ClusterMetadata
import json
import time
import os
import sys
import prettytable as pt
#kafka服务地址
serverport='*.*.*.*:****'
#KafkaAdminClient连接
adminClient = KafkaAdminClient(bootstrap_servers=serverport)
#获取所有分组
consumerlis=adminClient.list_consumer_groups()
#存储统计信息
total_info={
"starttime":0,
"endtime":0,
"tabledata":[]
}
#消费速率计算
def speedcal(calinfo):
statu=False
if(len(total_info[