如何查看apachekafka生成的完整tcp包?

qv7cva1a  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(308)

我用的是Apache·Kafka。我用 KafkaProducer 产生数据和 KafkaConsumer 使用数据。我的配置数据是:

Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ProducerConfig.CLIENT_ID_CONFIG, "DemoProducer");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.IntegerSerializer");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");

使用者配置相同。如何查看生产者和消费者正在发送和接收的整个tcp数据包的详细信息?

dkqlctbz

dkqlctbz1#

你可以在Kafka解剖器可用的情况下使用tshark。

sudo apt-get update
sudo apt-get install tshark
sudo tshark -V -i lo -o 'kafka.tcp.port:9092' -d tcp.port=9092,kafka -f 'dst port 9092'

更多细节请参见wireshark/Tshark1.12中的kafka解剖器

7fyelxc5

7fyelxc52#

安装wireshark后,必须转到 Edit->Prefrences 或按 Ctrl + Shift + P . 在新窗口中打开 protocols 树和发现 Kafka 在列表中。选择后 Kafka 您必须设置kafka代理端口号(默认为9092)。同时检查 Show length for string and bytes fields in the protocol tree 如图所示的复选框:

然后单击“确定”关闭窗口。然后您可以查看所有kafka API调用:

相关问题