Why can't I see Java (JMX) metrics reporting?

For Java based applications (Cassandra, Elasticsearch, Kafka, Tomcat, Zookeeper and etc.) the Sysdig Monitor agent requires the Java runtime environment (JRE) to be installed to poll for metrics (beans). If the Docker container-based Sysdig Monitor agent is installed, the JRE is installed alongside the agent binaries and no further dependencies exist. However, if you are installing the service based agent (non-container) and you do not see the JVM/JMX metrics reporting in, your host may not have the JRE installed or it may not be installed in the expected location: usr/bin/java

To confirm if the Sysdig agent is able to find the JRE, restart the agent with service dragent restart and check the agent's  /opt/draios/logs/draios.log file for the two Java detection and location log entries recorded during agent startup.

Example if Java is missing or not found:

2017-09-08 23:19:27.944, Information, java detected: false
2017-09-08 23:19:27.944, Information, java_binary: 

Example if Java is found:

2017-09-08 23:19:27.944, Information, java detected: true
2017-09-08 23:19:27.944, Information, java_binary: /usr/bin/java

 

If Java is not installed, the resolution is to install the Java Runtime Environment. If your host has Java installed but not in the expected location ( /usr/bin/java ) you can install a symlink from /usr/bin/java to the actual binary OR set the java_home: variable in the Sysdig agent's configuration file:  /opt/draios/etc/dragent.yaml 

java_home: /usr/my_java_location/

 

Please see How-can-I-edit-the-agent-configuration-file for help with configuration.

Have more questions? Submit a request