Pivotal App Metrics MBeans in Visual tools

This is a doc describing how to display the JMX MBean information from Pivotal App Metrics through Visual VM. It's mostly complete, but could use a little bit of cleanup.

Monitoring of Pivotal App Metrics with Visual VM or JRockit Mission Control

Introduction

Pivotal Ops Metrics is a feature of Pivotal Platform that collects and exposes system
performance information via JMX. That's good as far as it goes, but in and of itself, Ops Metrics
does not include a user interface, scripting API, or other means to sample the data. Doing so requires
a JMX client to read the provided MBeans. This paper explains how to use two popular GUI JMX client
applications, Visual VM, and Oracle JRockit Mission Control, to view the information provided by
Pivotal Ops Metrics.

IP address of the system where Ops Metrics is running. You can get this from the "Health Manager" field on the Settings tab for Ops Manager.

JMX provider name and password, found on the Credentials tab of the Ops Metric configuration in Ops Manager.

IP address and user login for Ops Manager. Because the Ops Metrics virtual machine is on the internal Cloud Foundry network, it is unlikely you will have direct network access to it. So we will need to tunnel connections through a system we do have connectivity with, Ops Manager.

You will need a ssh client with which to create a tunnel: the ssh command on Linux and Mac, putty on Windows.

Visual VM

Start by creating the network "tunnel" that will carry traffic between your system and the JMX server on the Ops Metrics system. (The port chosen here, 61444, is arbitrary.)

% ssh -D 61444 tempest@opsmanager.cf.largeco.com

When prompted enter the password. Then start up Visual VM.

You need to configure Visual VM such that it will connect through the SOCKS proxy you configured with ssh. Bring up Visual VM Preferences, and select the Network tab.

Select Manual proxy settings and enter 'localhost' or '127.0.0.1' for SOCKS Proxy, and '61444' for its port.

Click OK to save the settings.

Now, connect to the JMX server. Either click on the +JMX button in the toolbar or right click "Local" and select the "Add JMX Connection..." menu choice.

Enter

The IP address of the Ops Metrics VM and the JXM port (44444)

A name for the connection

The username and password for the JMX server

Checkmark for "Do not require SSL connection"

Then click "OK" to initiate the connection. The display shows a summary for the Ops Metrics JVM.

The information of interest is under the MBeans tab. Select that tab to view the MBean hierarchy.

From here you can explore the various MBeans provided by Ops Metrics. Under the cf-numeric-id node, there is a subnode for each VM that makes up the Cloud Foundry system. Each of those subnodes provides generic metrics for the underlying VM, like cpu usage and percentage disk free.

You can view the same metrics for VMs that provide the various Cloud Foundry services (MySQL, PHD, Redis). Expanding the untitled_dev node displays a functional hierarchy of Cloud Foundry, that can be drilled into to display metrics specific to the function of that node.

For instance, under Router you can see the total number of requests made, as well as the number of requests for each Cloud Foundry component, categorized by the HTTP response code the requests generated.

From here, you can browse amongst the various nodes to see the types of metrics provided.

Next, we discuss how to connect to Pivotal Ops Metrics using Oracle JRockit Mission Control. One advantage of Mission Control over Visual VM is that one can graph the value of a numeric metric over time, and collect these graphs into a dashboard.

JRockit Mission Control runs on Windows, so you will need to setup a proxy with putty. First, configure the username and host to connect to.

Under "ssh->Tunnels" in the configuration tree, create a Dynamic port 61444.

Click Add to add the tunnel.

Because Mission Control does not have an application-specific proxy preference, you will need to use Java runtime options so that network connections are made via the proxy setup in Putty. Once putty is up and the socks proxy established, run Mission Control with the command