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