2016-07-13 15 views
0

Ich benutze Apache Kafka. Ich verwende KafkaProducer, um Daten zu erzeugen, und KafkaConsumer, um Daten zu verbrauchen. Meine Konfigurationsdaten sind:Wie kann ich das vollständige TCP-Paket anzeigen, das Apache Kafka produziert?

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"); 

Die Consumer-Konfiguration ist die gleiche. Wie kann ich die gesamten TCP-Paketdetails anzeigen, die von den Produzenten und Konsumenten gesendet und empfangen werden?

+1

Haben Sie nicht ein integriertes Tool wie das in Kafka gesehen. Möglicherweise müssen Sie tcpdump? – NangSaigon

Antwort

1

Sie können tshark mit einem bereits verfügbaren Kafka-Dissektor verwenden.

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' 

Weitere Details hier Using the kafka dissector in wireshark/tshark 1.12

+0

Es hat mit einer Standardversion von tshark, die vom Ubuntu-Repository kommt, nicht funktioniert. Ich musste zuerst folgendes Repository hinzufügen: 'sudo add-apt-repository ppa: wireshark-dev/stable' – spektom