Pivotal Knowledge Base

Follow

How to remotely monitor Java applications deployed on PCF® via JMX

Environment

Product Version
Pivotal Cloud Foundry® 1.6.x, 1.7.x
Purpose
This article will provide instructions to enable Java Management Extensions (JMX) for Java applications running on PCF.
Procedure
1. Enable the JBP_CONFIG_JMX environment variable; this can be done by editing application manifest.yml or invoking `cf set-env` command, in this article, we use application manifest as an example. 
---
applications:
- name: <APP_NAME>
memory: 512M
instances: 1
path: path/java-app.war
env:
JBP_CONFIG_JMX: '{enabled: true}'

2. Use "cf push" to deploy the Java application to PCF or Pivotal Web Services.

3. Setup SSH tunnel for JMX with command  

cf ssh -N -T -L 5000:localhost:5000 <APP_NAME>

Once the SSH tunnel has been created, JConsole should connect to localhost:5000 for JMX access. 
 

Additional Information

The instructions are only useful in Diego-based containers with SSH access enabled. Diego was introduced in Pivotal CF v1.6.x and turns to be mandatory in v1.7.x. Additionally, the remote monitoring/debugging feature is only available in Java Buildpack v3.4+.
 
PCF is not a development platform; you can use it, but it is going to be slow. Users should develop software locally and treat PCF like a deployment target. PCF Dev is provided to set up a compact PCF on a local machine for development/debugging use.  
 

Comments

Powered by Zendesk