Performance Dashboards Step 1 – Configuring NetApp OnCommand Performance Manager to Forward Data to an External Data Provider

The first step in getting your data into Graphite or any other application is to configure OnCommand Performance Manager 1.1 (currently in Release Candidate 1) to forward the data it gathers.  OPM 1.1 added a new option in the maintenance console – option 6) External Data Provider.

OPM external data provider step 1

If you take option 6 you will get another menu.  This is the External Server Connection Menu.  From here you can display, add, delete or modify the connection information for the external server.  You can also modify the configuration settings for the server, which I’ll cover in a moment.  Note the difference between “Server Connection” and “Server Configuration.”

OPM external data provider step 2

The Server Connection options allow you to configure where you are going to send the data.  To do that you need the target server IP address or hostname, target port, and level of detail to send.  Of course DNS has to be working probably on the OPM server and the target server must be in DNS to use the hostname.  If you are using Graphite or a compatible listener, the default port is TCP/2003.  That is all that OPM needs to start forwarding, but that isn’t all there is to think about or configure.

Option 3) Modify Server Configuration lets you change what data is sent to the external server that you just set up.  There are 4 things to configure under this menu.  Here you choose what to send, how to tag it, when to send it, and whether or not to send it.

OPM external data provider step 3

Let’s go through each one of these in a little detail.

Statistics Group – This is the set of counters to send.  There are 3 options, numbered 0, 1, and 2.  Option 0 is Performance Indicators, which is a high level set of counters aimed at the total operations and latency of logical objects.  Resource Utilization, Option 1, deals with utilization of the hardware in the cluster at the node, port, aggregate, and disk levels.  It also includes all of the counters from the previous level.  The last option is Drill Down and that looks at the logical level – Volumes, LUNs, and LIFs – in addition to the previous two levels.  Another way to look at the levels is low, medium, and high with respect to the amount of data sent.

Go to this link to see the product documentation page on this setting.

Vendor Tag – This is the top level heading for data sent to Graphite.  In my example above you see the vendor tag is “netapp-performance” and you can verify that by looking at the Graphite tree.

OPM external data provider step 4

In that screen cap you can see that the “netapp-performance” heading matches the vendor tag used in OPM.  (You can also see that the statistics group used is “Drill Down” because I can see counters all the way down to the volume and LIF levels.)

IMPORTANT – If you keep the default vendor tag you will be able to use shared dashboards more easily.  The dashboards will be covered in another post coming soon.

Transmit Interval – This is how often to send data to Graphite.  OPM polls at 5 minute intervals so the values available are multiples of 5.  Keep it at 5 and you’ll send your data as often as it is gathered.  More detail, but more storage space required.  If you are deploying this for troubleshooting, keep it at 5.  If you are deploying this for long-term trending, then 10 or 15 minute transmit intervals will be better and reduce the storage space consumed by a factor of 2 or 3.

Current Transmit Status – Enabled/Disabled.  Pretty self-explanatory.  I don’t know what effect a non-responsive listener has on OPM when it tries to send data, so it might be best to disable sending data if you know the Graphite listener is offline.

 And that is it.  That is all to configure on OPM to send data to Graphite or a compatible listener.  Our next topic will be on configuring Graphite to accept and store the data.  This topic is important because of the way that Graphite stores the data and you can easily get into trouble if you don’t understand how things behave.