Python confluent_kafka - 列出当前收听主题的所有消费者

Python confluent_kafka - List All Consumer currently Listening to a Topic

如何获取正在使用 Confluent_Kafka 收听主题的 consumer.id?

我能够获取消费者组和主题。但不是消费者 name/id.

如果您的消费者正在使用组功能,您可以使用 AdminClient 获取消费者组列表,然后找到属于该组成员的每个消费者。它已添加到 commit.

示例片段

from confluent_kafka.admin import AdminClient
broker = '1.1.1.1:9092' # replace appropriately
a = AdminClient({'bootstrap.servers': broker})
groups = a.list_groups(timeout=10)
print(" {} consumer groups".format(len(groups)))
for g in groups:
    print(" \"{}\" with {} member(s), protocol: {}, protocol_type: {}".format(
        g, len(g.members), g.protocol, g.protocol_type))

    for m in g.members:
        print("id {} client_id: {} client_host: {}".format(m.id, m.client_id, m.client_host))

您可能对 client_id 可以区分组中消费者的字段感兴趣。

参考:https://github.com/confluentinc/confluent-kafka-python/blob/master/examples/adminapi.py