Tag Archives: vRealize Operations

vRealize Operations Object Relationship

Relationship among objects is critical in analysis in vR Ops. The dashboards, reports, groups, super metric rely on correct relationship. The good thing is most relationship is provided out of the box.

You can also add your own. The manual in 6.5 explains it here, but does not show how it’s done. Luckily, an older version of the manual has it. So here it is:

I’m not giving the link as the remaining of the content is not relevant. Plus it’s a really version, so other parts are likely outdated.

I’ll complement the above step with pictures. From the screenshot below, see the big red number 1

Click that Object Relationship. A 3-column area is shown.

  • First column is for parent. You choose the parents from here.
  • Last column is for children. You choose the children from here.

The way you choose a parent is by choosing its container, then filter it. In the example below, I chose Virtual Machine, then I type the object name. It will return all object whose names contains the filter.

You do the same thing for the children.

You then simply select and drag the selected object to the parent. Iit will automatically build the relationship. From the picture below, you can see that the VM has vR Ops Node has its child.

If your vR Ops has >1 nodes, you need to repeat for each node. I’m afraid it’s a manual job.

Once done, you will see the relationship reflected. The VM below below now has vR Ops node as its children. This means I can build things like super metric

That’s all folks. Have a good relationship! ūüôā

Monitoring NSX Edge, SSL VPN, Firewall and Logical Switch

This blog is contributed by my friend Luciano Gomes, a VMware PSO Senior Consultant in Rio de Janeiro Area, Brazil. Thank you, Lucky!

In this post, I would like to show you how you can monitor NSX Edge, SSL VPN, Firewall and Logical Switch using only one dashboard.

First, let’s get the prerequisites out of the way:

  1. vRealize Operations (Advanced/Enterprise License)
  2. vCenter + NSX
  3. vR Ops Management Pack for NSX

My friend Romain Decker has covered the installation of the Management Pack. Read it here first.

Another friend (life is good when you have many experts as friends!), Lan Nguyen, has documented how to import the dashboard here.

With the above done, go download the Dashboard to be imported here

One done, follow the steps below to configure the Metric Config XML Files.

The above will take you to the Manage Metric Config screen.

  1. Click ReskndMetric folder to expand
  2. Click Green Plus Sign to create a new file.

Give the name exactly below:

Copy and paste this XML below:

<?xml version="1.0" encoding="UTF-8"?>

<AdapterKinds>
 <AdapterKind adapterKindKey="NSX">
 <ResourceKind resourceKindKey="SSLVPNEdgeService">
 <Metric attrkey="clients|clients_active" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="clients|auth_failures" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="clients|tx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="clients|rx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="clients|utilization" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="clients|workload" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="status|service_status" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 <ResourceKind resourceKindKey="FirewallEdgeService">
 <Metric attrkey="rule|used" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="status|service_status" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 <ResourceKind resourceKindKey="EdgeServicesGateway">
 <Metric attrkey="cpu|used_percent" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="disk|used_percent" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface|tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface|tx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface|rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface|rx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|rx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|tx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|connection_health" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="interface:Uplink|connected" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="net|usage_average" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="net|used_percent" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="net|maxObserved_KBps" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="status|attached_vms" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="status|running" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="status|status" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="mem|used_percent" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 <ResourceKind resourceKindKey="LogicalSwitch">
 <Metric attrkey="port|max" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|dropped_packet_pct" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|dropped_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|broadcast_tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|dropped_tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|multicast_tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|used" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|utilization" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|maxobserved_util" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|maxobserved_rx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|maxobserved_tx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|unicast_rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|rx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|multicast_rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|dropped_rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|broadcast_rx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|unicast_tx_packets" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="port|tx_traffic" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="summary|attached_vms" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

That’s it!

To use the Dashboard, see the image below:

Hope you find it useful. Do reach out via Linkedin and Twitter. Thanks for reading!

Operationalize Your World: Import steps for older versions

Glad to see that vRealize Operations 6.5 sports the ability to import & export Groups. This makes it much easier for you to replicate the Operationalize Your World dashboards into your environment. The entire chunk of group creation is no longer required!

Starting from 6.5, you can also import & export multiple groups. No need to create it one by one. The import dialog box is similar to other import dialog boxes.

The group description is actually pretty simple. Let’s use an example to show it. This is what you see on the UI. It’s a group called Idle VMs that grabs all VMs whose CPU Idle Time is greater than 99%.

Here is the JSON file. I’ve highlighted some of them, so you can see how it’s mapped.

I’ve been using 6.5 release and generally found it stable. There are also a number of bug fixes addressed in this release.

As not all customers are on vRealize Operations 6.5 yet, I’m keeping the instructions to create the groups in this article. Use it as the guide if you are running 6.3 and 6.4. If you are on 6.5 or higher, refer to the simplified step here.

Video Instruction

I have also simplified the steps by manually creating a dummy policy to help you do bulk import. As a result, the video guide is no longer required. I’m keeping the videos here just in case you need it.

Group Creation

Create the following groups. All of them. Note it’s case sensitive!¬†If you do not use these names exactly, your dashboard will get hourglass icon.

  • Under the group type Class of Service
    • Tier 1 (Gold)
    • Tier 2 (Silver)
    • Tier 3 (Bronze).
  • Under the group type Function
    • Datastores (Shared)
    • Datastores (Local)
  • Under the group type¬†VM Types
    • Idle VMs
    • Large VMs (CPU)
    • Large VMs (RAM) –> do note this requires vSphere 6U1
    • Powered On VMs
    • Powered Off VMs
    • VM with no VMware Tools
    • VM with VMware Tools installed
  • Under the group type Tenants
    • Tenant ABC, etc.
    • [e1: this part is optional. Create 1 group per tenant. See this¬†for details]
Once created. Do not rename the object.

For each tier, ensure you select the right Cluster, VM and Datastore that you have planned earlier. Do not do an impromptu planning. That’s an oxymoron ūüôā

You need to select these 3 objects. If you do not select the object, you cannot apply the Performance SLA.

Group - Service Tier

For datastore, exclude local datastore unless they are part of your official Service Tier. vR Ops 6.3 has a property for that. Pretty cool!

local

In any group, always do a preview before you save. Take note the total number of member.

group - always do preview

For the Idle VMs group, define what suits your operations. I use >99% CPU Idle Time. This is based on a 30-day period (default setting in the policy), so that translates into maximum of 7.2 hours in the last 30 days.

idle-vms

The default setting in policy is 90%, which differs to what I use in the group. Does it mean you do not have to worry about the Policy Settings for Idle?

You are right! Don’t worry about the policy. I do not use Is Idle metric. I use the CPU Idle Time metric.¬†No need to modify¬†the default settings as you’re not using it.

For the Large VMs groups, you can change the definition to suit your need. I’d recommend changing below from 4 vCPU to at least 7. If you have a lot of 8 vCPU VMs, then change to 8 so they are not included. Focus on the big ones.

Large VM - CPU

Make sure you only choose powered on VMs too, else they get added! See below on how to add this condition. You can use this metric, or use the Summary | Running metric. For RAM, I use in-guest metric as it’s more accurate. Just because a VM is powered on, does not mean the OS is running.

large-vm-ram

For the Powered Off VMs group, I define them as VMs that are off for >50% in the past 30 days and they are powered off at the moment. This is conservative, as that VM needs to be powered off for a total of 15 days in the past 30 days.

Powered Off VM

For group of VM with VMware Tools installed and group of VM with no VMware Tools, use the property shown below. I cloned the group, and simply change from is to is not.

group - VMware Tools