如何查看Kafka服务器状态或详细信息?

时间:2019-05-21 08:38:45

标签: apache-kafka

是否有命令显示Kafka服务器的详细信息或Kafka服务器的状态? (我不试图确定kafka服务器是否正在运行。)

我只能找到有关主题,分区,生产者和使用者CLI命令的信息。

2 个答案:

答案 0 :(得分:2)

如果要查找Kafka群集代理的状态,则可以使用zookeeper cli来找到每个代理的详细信息,如下所示:

ls /brokers/ids返回集群上活动代理ID的列表。

get /brokers/ids/<id>返回具有给定ID的代理的详细信息。

示例:

kafka_2.12-1.1.1 % ./bin/zookeeper-shell.sh localhost:2181 ls /brokers/ids
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[0]

kafka_2.12-1.1.1 % ./bin/zookeeper-shell.sh localhost:2181 get /brokers/ids/0
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://localhost:9092"],"jmx_port":-1,"host":"localhost","timestamp":"1558428038778","port":9092,"version":4}
cZxid = 0x116
ctime = Tue May 21 08:40:38 UTC 2019
mZxid = 0x116
mtime = Tue May 21 08:40:38 UTC 2019
pZxid = 0x116
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x16ad9830f16000b
dataLength = 188
numChildren = 0

您可以将这些步骤放在一些shell脚本中,以获取所有代理的详细信息。

答案 1 :(得分:1)

您可以通过设置环境变量JMX_PORT来激活JMX指标。

$ export JMX_PORT=9010
$ ./bin/kafka-server-start.sh ./config/server.properties

然后,您可以使用 jconsole Java Mission Control 显示集群指标。