Hi Jendrik,

I haven't tried jmxterm. Can you confirm if it is able to access the Kafka 
producer/consumer metrics (they exist since Kafka Streams internally uses 
Kafka)?

I've personally used jconsole to look at the collected streams metrics, but 
that might be limited for your needs.

Thanks
Eno

> On 30 Jan 2017, at 10:41, Jendrik Poloczek <jendrik.poloc...@madewithtea.com> 
> wrote:
> 
> Hi,
> 
> I want to read the Kafka Streams JMX metrics using jmxterm, similiar to
> this Kafka documentation:
> https://cwiki.apache.org/confluence/display/KAFKA/jmxterm+quickstart.
> 
> I am using the same version: jmxterm-1.0-alpha-4-uber.jar. I managed to
> retrieve metrics from the Kafka Streams application via JMX with tags
> like: kafka.streams:type=kafka-metrics-count. However, when I try to
> retrieve a bean with tags like:
> kafka.streams:client-id=app-c7117b6f-3af1-473a-a87a-1d981574c071-StreamThread-1,type=stream-metrics,
> the application responds with:
> 
> "#IllegalArgumentException: Bean name
> kafka.streams:client-id=app-c7117b6f-3af1-473a-a87a-1d981574c071-StreamThread-1,type=stream-metrics
> isn't valid"
> 
> Checking on the JMX best practices in the Oracle documentation I found
> the following: "The set of characters in a key is limited. It is
> recommended to stick to legal Java identifiers. The set of characters in
> a value is also limited. If special characters may occur, it is
> recommended that the value be quoted, using ObjectName.quote.
> (http://www.oracle.com/technetwork/java/javase/tech/best-practices-jsp-136021.html)
> 
> Which led me to the conclusion that the naming of the key/tag identifier
> (client-id) is not satisfying the naming constraint. Other beans with a
> "node-id" tag cause the same IllegalArgumentException. The client-id tag
> is also part of the widely-used Kafka producer and consumer, so I am
> wondering if I am missing something here.
> 
> Thank you for support on this issue!
> Jendrik
> 

Reply via email to