This sounds like a good approach, since it does not depend on JMX. There doesn't seem to be an easy way to make these API calls using the new Java-client, though. Everything is kind of hidden behind the KafkaConsumer and KafkaProducer classes.
Marko www.kafkatool.com > I think it is possible to infer a version based on a remote broker's > response to various newer api methods. I wrote some probes in python that > check ListGroups for 0.9, GroupCoordinatorRequest for 0.8.2, > OffsetFetchRequest for 0.8.1, and MetadataRequest for 0.8.0. It seems to > work well enough. > > Also, this is related to KIP 35: > https://cwiki.apache.org/confluence/display/KAFKA/KIP-35+-+Retrieving+protocol+version > > -Dana