The use case seemed easy: show me all VMs on Local Datastores using Aria Operations. My first thought was, create two Custom Groups: one with VMs and the other with Local Datastores (using a property filter), then relate them via Ancestor/Descendant, but it doesn't work quite that easy. When relating Custom Groups, Descendants work fine, but Ancestors don't.
Next I thought of the new feature in Operations 8.18 that allows us to put multiple object types and their metrics/properties in the same View, something like this.
You'll notice the View is against VMs, but also includes related ESXi Host data, Cluster, and Datastore information. Specifically, if the Datastore is Local or not, which is a Datastore Property. But you'll notice when building your View, this Datastore Property isn't sortable. In fact, it looks like the only sortable Metrics/Properties are those for the VMs, nothing else. So, how can we sort these to bring the VMs with Local Datastores to the top? Super Metrics, here's how!
First, we'll take the Datastore Property (Is Local, which is true or false) and put it on the VM via a Super Metric. This is often what we used to do to get metrics from related objects on source objects for a single View for example. In this case, since the Property is a string, we'll convert it to 0 (false) or 1 (true) and put it on the VM, it looks like this.
The Super Metric looks like this, you can get it here if you want.
count({Datastore: Summary|Is Local, depth=1, where=($value equals 'true')}) > 0 ? 1 : 0
If the Datastore is Local (true) return 1, else return 0. Adding this to our View, we can now sort on that column.
You can even put color schemes on them if you'd like, indicating which VMs are running on Local Datastores.
Putting this in a Dashboard, you now have all your VMs running on Local Datastores at the top.
Comments