13 min read

Creating a dashboard is a relatively simple exercise, creating a good dashboard will require tuning and some tweaking. The tricky part is displaying the information needed on a single screen, this is one of the biggest challenges when creating a dashboard; placing all the relevant information on a single pane of glass. The number one goal when creating a dashboard is to get all the information across in a glance.

This is an excerpt from Mastering vRealize Operations Manager – Second Edition written by Spas Kaloferov, Scott Norris, Christopher Slater.

Out of the 46 widgets vRealize Operations 6.6 has available, we will only use a handful of them regularly. The most commonly used widgets, from experience, are the scoreboard, metric selector, heat map, object list and metric chart. The rest are generally only used for specific use cases.

There are basically two types of dashboards that we can create, an interactive dashboard or a static dashboard. An interactive dashboard is typically used for troubleshooting or similar activities where you are expecting the user to interact with widgets to get the information they are after. A static or display dashboard typically uses self-providing widgets such as scoreboards and heatmaps that are designed for display monitors, or other situations where an administrator is keeping an eye on environment changes.

Each of the widgets has the ability to be a self-provider that means we set the information we want to display directly in the widget. The other option is to set up interactions and have other widgets provide information based on an object or metric selection in another widget.

In this article, we will focus on the interactive dashboard. We will be looking at creating a dashboard that looks at vSphere cluster information, which at a glance will show us the overall health and general cluster information an administrator would need.

Working through this will give you the knowledge needed to create any type of dashboard. The dashboard we are about to create will show how to configure the more common widgets in a way that can be replicated on a greater scale.

When creating a dashboard, you will generally go through the following steps:

  1. Start the New Dashboard wizard from the Actions menu.
  2. Configure the general dashboard settings.
  3. Add and configure individual widgets.
  4. (Optional) Configure widget interactions.
  5. (Optional) Configure dashboard navigation.

Creating an interactive dashboard

You can create a dashboard by using the New Dashboard wizard. Alternatively, you can clone an existing dashboard and modify the clone. Perform the following steps to create a new dashboard:

  1. Navigate to the Dashboards page, click Actions, and then click Create Dashboard, as shown in the following screenshot:
vRealize Operations Manager
  1. Under Dashboard Configuration, we need to give it a meaningful name and provide a description. If you click Yes for the Is default setting, the dashboard appears on the homepage when you log in.

By default, the Recommendations dashboard is the dashboard that appears on the home page when a user logs in. You can change the default dashboard.

  1. Next, we click on Widget List to bring up all the available widgets. Here we will click and drag the widgets we need from the left pane to the right. We will use the following:
    • Object List
    • Metric Picker
    • Metric Chart
    • Generic Scoreboard
    • Heat Map
Dashboard tools

You can arrange widgets in the dashboard by dragging them to the desired column position. The left pane and the right pane are collapsed so that you have more room for your dashboard workspace, which is the center pane.

To edit the widgets, we click on the little pen icon sitting at the top of the widget.

The Object List

The Object List widget configuration options, as shown in the following screenshot, include some of the more common options, such as Title, Refresh Content, and Refresh Interval.

Options also exist that are specific to this widget:

  • Mode: You can select Self, Children, or Parent mode. This setting is used by widget interactions.
  • Auto Select First Row: This enables you to select whether or not to start with the first row of data.
  • Select which tags to filter: This enables you to select objects from an object tree to observe. For example, you can choose to observe information about objects managed by the vCenter Server instance named VCVA01.

You can add different metrics using the Additional Column option during widget configuration.

Using the Additional Column pane, you can add metrics that are specific for each object in the data grid columns.

Perform the following steps to edit the Object List widget in our example dashboard:

  1. Click this on Object List and the Edit Object List window will appear. In here edit the Title, select On for Auto Select First Row, and select Cluster Compute Resource under Object Types Tag. We should have something similar to the following screenshot. Click Save to continue.

With tag selection, multiple tags can be selected, if this is done then only objects that fall under both tag types will be shown in the widget.

Edit cluster list
  1. The next thing we want to do is click on Widget Interactions on the left pane; this is where we go to link the widgets, for example, we select a virtual machine from an object list widget and it would change any linked widgets to display the information of that object.
  2. We will see a Selected Object(s) with a drop-down list followed by a green arrow pointing to our widgets. This is saying that what we select in the drop-down list will be linked to the associated widget.
  3. Here our new Cluster List will feed Metric Picker, Scoreboard, and Heatmap, while Metric Picker will feed Metric Chart. Also we will notice that a widget like Metric Chart can be fed by more than one widget. Click APPLY INTERACTIONS and we should end up with something similar to the following screenshot:
Dashboard tools

The Metric Picker

Now, if we select a metric under the Metric Picker widget it should show the metric in the Metric Chart widget, as displayed in the following screenshot:

Metrick picker
Metric Picker will contain all the available metrics for the selected object, such as an ESXi host or a Virtual Machine.

The Heatmap

Next up, we will edit the Heatmap widget. For this example, we will use the Heatmap widget to display capacity remaining for the datastores attached to the vSphere cluster. This is the best way to see at a glance that none of the datastores are over 90% used or getting close. We need to make the following changes:

  1. Give the widget a new name describing what we are trying to achieve.
  2. Change Group By to Cluster Compute Resource – This is what we want the parent container to be.
  3. Change mode to Instance – This mode type is best used when interacting with other widgets to get its objects.
  4. Change Object Type to Datastore – This is the object that we want displayed.
  5. Change Attribute Kind to Disk Space | Capacity Remaining (%) – The metric of the object that we want to use.
  6. Change Colors around to 0 (Min), 20 (Max) – Because we really only want to know if a datastore is getting close to the threshold, minimizing the range will give us more granular colors. Change the colors around making it red on the left and green on the right. This is done by clicking on the little color square at each end and picking a new color. The reason this is done is because we have capacity remaining, so we need 0% remaining as red.
  7. Click Save and we should now have something similar to the following screenshot, with each square representing a datastore:
Datastore threshold
Move the mouse over each box to reveal more detail of the object.

The Scoreboard

Time to modify the last widget. This one will be a little more complicated due to how we display what we want while being interactive. When we configured the widget interactions, we noticed that the scoreboard widget was populated automatically with a bunch of metrics, as shown in the following screenshot:

scoreboard

Now, let’s go back to our dashboard creation and edit the Scoreboard widget. We will notice quite a lot of configuration options compared to others, most of which are how the boxes are laid out, such as number of columns, box size, and rounding out decimals. What we want to do for this widget is:

  • Name the scoreboard something meaningful
  • Round the decimals to 1 – this cuts down the amount of decimal places returned on the displayed value
  • Under Metric Configuration choose the Host-Util file from the drop-down list

We should now see something similar to the following screenshot:

Cluster information

But what about the object selection you may have noticed in the lower half of the scoreboards widget? These are only used if we make the widget a self-provider, which we can see as an option to the top left of the edit window. We can choose objects and metrics, but they are ignored when Self Provider is set to Off.

If we now click Save we should see the new configuration of the scoreboard widget, as shown in the following screenshot:

scoreboard widget
 I’ve also changed the Visual Theme to Original in the scoreboard widget configuration options to change the way the scoreboard visualizes the information.

The scoreboard widget may not always display the information we necessarily need. To get the widget to display the information we want while continuing to be interactive to our selections in the Cluster List widgets, we have to create a metric configuration (XML) file.

Metric Configuration Files (XML)

A lot of the widgets are edited through the GUI with the objects and metrics we want displayed, but some require a metric configuration file to define what metrics the widget should display.

Metric configuration files can create a custom set of metrics for the customization of supported widgets with meaningful data.

Metric configuration files store the metric attribute keys in XML format.

These widgets support customization using metric configuration files:

  • Scoreboard
  • Metric Chart
  • Property List
  • Rolling View Chart
  • Sparkline Chart
  • Topology Graph

To keep this simple, we will configure four metrics to be displayed, which are:

  • CPU usage for the cluster in %
  • CPU demand for the cluster
  • Memory ballooning
  • CPU usage for the cluster in MHz

Perform the following steps to create a metric configuration file:

  1. Open a text editor, add the following code, and save it as an XML file; in this case we will call it clusterexample.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<AdapterKinds> 
   <AdapterKind adapterKindKey="VMWARE"> 
      <ResourceKind resourceKindKey="ClusterComputeResource"> 
        <Metric attrkey="cpu|capacity_usagepct_average" label="CPU" unit="%" yellow="50" orange="75" red="90" /> 
   <Metric attrkey="cpu|demandPct" label="CPU Demand" unit="%" yellow="50" orange="75" red="90" /> 
   <Metric attrkey="cpu|usagemhz_average" label="CPU Usage" unit="GHz" yellow="8" orange="16" red="20" /> 
   <Metric attrkey="mem|vmmemctl_average" label="Balloon Mem" unit="GB" yellow="100" orange="150" red="200" /> 
      </ResourceKind> 
   </AdapterKind> 
</AdapterKinds>
  1. Using WinSCP or another similar product, upload this file to the following location on the vRealize Operations 6.0 virtual appliance:
/usr/lib/vmware-vcops/tomcat-web-app/webapps/vcops-web-ent/WEB-INF/classes/resources/reskndmetrics
In this location, you will notice some built in sample XML files.
  1. Alternatively, you can create the XML file from the vRealize Operations user interface. To do so, navigate to Administration | Configuration, and then Metric Configuration.
  2. Now let’s go back to our dashboard creation and edit the Scoreboard widget. Under Metric Configuration choose the clusterexmaple.xml file that we just created from the drop-down list. Click Save to save the configuration.
  3. We have now completed the new dashboard; click Save on the bottom right to save the dashboard. We can go back and edit this dashboard whenever we need to. This new dashboard will now be available on the home page, this is shown in the following screenshot:

For the Scoreboard widget we have used an XML file so the widget will display the metrics we would like to see when an object is selected in another widget. How can we get the correct metric and adapter names to be used in this file?

Glad you asked. The simplest way to get the correct information we need for that XML file is to create a non-interactive dashboard with the widget we require with all the information we want to display for our interactive one.

For example, let’s quickly create a temp dashboard with only one scoreboard widget and populate it with what we want by manually selecting the objects and metrics with self-provider set to yes:

  1. Create another dashboard and drag and drop a single scoreboard widget. Edit the scoreboard widget and configure it with all the information we would like. Search for an object in the middle pane and select the widgets we want in the right pane.
  2. Configure the box label and Measurement Unit. A thing to note here is that we have selected memory balloon metric as shown in the following screenshot, but we have given it a label of GB. This is because of a new feature in 6.0 it will automatically upscale the metrics when shown on a scoreboard, this also goes for datastore GB to TB, CPU MHz to GHz, and network throughput from KBps to MBps. Typically in 5.x we would create super metrics to make this happen.

The downside to this is that the badge color still has to be set in the metrics base format.

metrics base format
  1. Save this dashboard once we have the metrics we want. Locate it under our dashboard list and select it, click on the little cog, and select Export Dashboards as shown in the following screenshot.
  2. This will automatically download a file called Dashboard<Date>.json.

Open this file in a text editor and have a look through it and we will see all the information we require to write our XML interaction file.

First off is our resourceKindKey and adapterKindKey, as shown in the following screenshot. These are pretty self-explanatory, resourceKind being Cluster resource, and adapter is the adapter that’s collecting the metrics, in this case the inbuilt vCenter one called VMWARE.

VMWARE

Next are our resources, as we can see from the following screenshot we have metricKey, which is the most important one as well as the color settings, unit, and the label:

metric key

There it is, how we can get the information we require for XML files:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<AdapterKinds> 
   <AdapterKind adapterKindKey="VMWARE">      <ResourceKind resourceKindKey="ClusterComputeResource">        <Metric attrkey="cpu|capacity_usagepct_average" label="CPU" unit="%" yellow="50" orange="75" red="90" />   <Metric attrkey="cpu|demandPct" label="CPU Demand" unit="%" yellow="50" orange="75" red="90" />   <Metric attrkey="cpu|usagemhz_average" label="CPU Usage" unit="GHz" yellow="8" orange="16" red="20" />   <Metric attrkey="mem|vmmemctl_average" label="Balloon Mem" unit="GB" yellow="100" orange="150" red="200" /> 
      </ResourceKind> 
   </AdapterKind> 
</AdapterKinds>
Any widget with the setting Metric Configuration available can use the XML files you create. The XML format is as per the preceding code. An XML file can also have multiple Adapter kinds as there could be different adapter metrics that you require.

Today, we learned to create a dashboard that is interactive based on selections made within widgets. You also unraveled the mystery of the metric configuration XML file and how to get the information you require into it. To know more about Super metrics and when to use it, check out this book Mastering vRealize Operations Manager – Second Edition.

Read Next:

What to expect from vSphere 6.7

How to ace managing the Endpoint Operations Management Agent with vROps

Troubleshooting techniques in vRealize Operations components

LEAVE A REPLY

Please enter your comment!
Please enter your name here