AppDynamics Monitoring Extension for use with Cloud Foundry

An AppDynamics extension to be used with a stand alone Java machine agent to provide metrics from Pivotal Cloud Foundry JMX end points.

Use Case


Pivotal Cloud Foundry is PaaS infrastructure software. The Cloud Foundry monitoring extension captures metrics exposed by Pivotal CF JMX server and displays them in the AppDynamics Metric Browser.




Make sure that the Pivotal CF JMX server has enabled remote access to JMX Mbeans.
The machine where the machine agent runs (with this monitoring extension) has access to the Pivotal CF JMX server.


Metrics Provided


Various CF job related metrics available via JMX mbean.


The mbean object names assumed are like for example:


Note : By default, a Machine agent or a AppServer agent can send a fixed number of metrics to the controller. To change this limit, please follow the instructions mentioned here.




Unzip attached on AppDynamics AppSphere as "CloudFoundryMonitor" and copy the "CloudFoundryMonitor" directory to <MACHINE_AGENT_HOME>/monitors`




Note : Please make sure to not use tab (\t) while editing yaml files. You may want to validate the yaml file using a yaml validator


1. Configure the Cloud Foundry JMX server instance by editing the config.yaml file in `<MACHINE_AGENT_HOME>/monitors/CloudFoundryMonitor/`.


2. Configure the MBeans in the config.yaml. By default, "org.cloudfoundry" is all that you may need.


3. Configure the jobs and attributes required (or to be ignored) in config.yaml file.


4. The metric path will be like 'Custom Metrics|CF|<deployment-name>|<job-name>|<index>|<ip>|<attribute-name>'


5. Sample config.yaml file is available in <MACHINE_AGENT_HOME>/monitors/CloudFoundryMonitor/


6. Copy <MACHINE_AGENT_HOME>/monitors/CloudFoundryMonitor/log4j.xml at <MACHINE_AGENT_HOME>/conf/logging/


7. Configure the path to the config.yaml file by editing the <task-arguments> in the monitor.xml file in the `<MACHINE_AGENT_HOME>/monitors/CloudFoundryMonitor/` directory. Below is the sample

<!-- config file-->
<argument name="config-file" is-required="true" default-value="monitors/CloudFoundryMonitor/config.yaml" />


8. v2.0.x supports regex pattern configuration to match deployment, job and attribute names.


Multiple Pivotal CF JMX instances/end points


1. Make sure you have a separate machine agent installed on a separate host and it has CloudFoundry Extension running which is pointing to each of the Pivotal CF JMX server instance or endpoint.

2. Make sure that each has separate node names belonging to the same tier has the same <tier-name> in the<MACHINE_AGENT_HOME>/conf/controller-info.xml.

3. Make sure that in every node, the <MACHINE_AGENT_HOME>/monitors/CloudFoundryMonitor/config.yaml should emit the same metric path, so that metrics reported by each of the nodes are aggregated at tier level.


4. If you do not want the aggregation of metrics at the tier level, then have each machine agent node belong to a different tier.




Always feel free to fork and contribute any changes directly via GitHub



For any questions or feature request, please contact AppDynamics Center of Excellence.




Last Update:


Release notes: 

2.0.1 - CloudFoundryMonitor Extension (support for regex)

2.0.2 - Updated Licenses