Latest version: 4.3.x
JMX metrics missing from Lenses UI
Question:
I setup JMX but cannot see any metrics in Lenses.
Answer
Setting up remote JMX access can be tricky. As such the first step when troubleshooting is to verify that JMX on the Kafka Brokers or Kafka Connect is setup correctly and accessible via Lenses.
To do that, you need to connect to the server, docker container, or kubernetes
pod that runs Lenses and use a command line application such as jmxterm
to
verify the JMX setup. Once you have a terminal on the Lenses server, follow the
steps below.
# Download jmxterm
$ wget https://github.com/jiaqi/jmxterm/releases/download/v1.0.2/jmxterm-1.0.2-uber.jar
# Connect to a JMX host and launch an interactive jmx console
$ java -jar jmxterm-1.0.2-uber.jar --url <host:port>
# List available beans
$> beans
If the command beans
returned a list of JMX beans, then your JMX setup is
healthy and the problem lies in Lenses’ configuration. Check
our documentation
to learn how to setup Lenses.
If you did not see any JMX beans listed then your JMX setup isn’t correct. There are two possible scenarios:
- JMX is enabled correctly on your applications but a firewall restricts access to the JMX port. Ask your operations or platform team for help.
- JMX is not enabled, or JMX is restricted to only allow connections from localhost or to a specific address. Check how to enable JMX on Apache Kafka or contact your operations or platform team.
Lenses also supports other type of metrics, such as Jolokia agent and MSK Open
Monitoring. In these cases using curl
from a terminal on the Lenses server may
help you determine if you have access to the remote metrics.
# Verify Jolokia metrics
$ curl -k -X POST "https://user:pass@server:port/jolokia/read/kafka.server:type=app-info,id=*"
# Verify Open Metrics
$ curl "https://servers:port/metrics