VMware Cloud Community
devnull4
Contributor
Contributor

How to properly create a subset of resources in vcops 5.8

I have been trying many different ways to create a subset of datastores for reporting in both the customer and UI.  I have tried adding tags, creating a group in opsUI, and even tagging in vsphere, but I can't get the solution I believe vcops5.8 is capable of (this is the vapp).  What I need to to be able to create a total value (possible smetric) of specific datastores associated with EMC arrays, while also showing individual and total values for associated VMs across many metrics. 

No matter what I try, the attributes of the resource kinds or resources inherit those of the parent.  The parent is either a container, environment, department or folder, which doesn't contain the attributes I want to present in a single dashboard through either the opsUI or customUI.  I've cloned attribute packages and tried to add new resources associated with those packages without success.

Can someone please steer me in the right direction..... I'm aimlessly wandering in hopes of finding a reasonable and repeatable solution.

Thanks in advance for any advice......

0 Kudos
11 Replies
mark_j
Virtuoso
Virtuoso

If some form of organization needs to co-exist in vSphere and Custom UI, you'll usually need to create it in the vSphere UI.

Think about how these datastores are named... can you create a custom group based on name? Folder? Something? Most all customers do, and should, distinguish their storage somehow in vCenter for datastores. The desired organizational structure can be found+populated in groups using a criteria I just suggested.

So the question is.. how do you distinguish your datastores?

Message was edited by: Mark Jusko, 3-11-14, 7PM EST

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
devnull4
Contributor
Contributor

Mark, thanks for the reply.

Yes, there is somewhat of a naming convention to follow, which I used to create a subset in within the OPsui.  I have two subsets defined in the OPsui for both the datastores from EMC as well as the VMs associated with the datastores.

The major problem with this solution is that my grouping can only be built on the environment, container, folder, or department resource kind.  This means that I am limited in the OPSui with the metrics I can actually report again.  So I move to the custom interface and can pull out reports with the Resource Selector as well as metrics presentation.  Again, though, I have the problem of pulling a total_consumed value for the VMs or Datastores because the metrics I need are in part of the cluster kind/attributes.

So while I can do some stuff, there is much I can't do that I believe is very possible.  I think I am going about this all wrong to solve my problem, which is why I am asking for any input from the user community.   If I follow my current course, I will need to have the customer review storage information from 3 (Vsphere->storage->monitor->performance && OPScustom->dashboards && OPSui->environment->storage->metrics).

Any suggestions from you that will help me centralize and provide clear and accurate metrics for reporting would be greatly appreciated!!

Thanks for your reply, again.

0 Kudos
mark_j
Virtuoso
Virtuoso

Don't be so sure on your grouping kinds. If you create a custom group, you can view it in the vC Ops Custom UI. You just need to make it 'visible'.

So answer this question - can you create a custom group in the vSphere UI that contains all of your datastores? Forget about the Custom UI for a moment.

Let's review your use case. You want to calculate total IOPs for the datastores belonging to the EMC array. Correct?

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
devnull4
Contributor
Contributor

Hello Mark,

Yes, I have a group created with just the datastores and vms associated with those datastorees, but created it in the vcop basic user interface. 

The customer wants to have a single view of all the metrics associated with the Disk, datastores, and associated components.  I need to pull total values for all VMs for capacity and performance from the datastores down to the HBAs for throughput metrics.  The customer wants to view it from a high level for the aggregate growth and use, down to the major consomuers of resources grainularly.

While I can provide the entire view through all the components, they are still requesting a single view for everything.... which is why i'm going down this path.

I hope that helps explain the use case.

0 Kudos
mark_j
Virtuoso
Virtuoso

This sounds pretty straightforward. You have the list of datastores, now you want to aggregate the throughput on it. You got the Custom group in the Custom UI populated with the Datastores, now just create a Supermetric, apply it to the Group, sumN(xxxx,1), with the storage stat you need, and it'll roll up to an aggregate (which is what you want).

If I understood you correctly.. You shouldn't need to go back up to the VM RK level, as you can get all of the Disk I/O stats you mentioned from the Datastore RKs. Remember, if you start putting SM on the Datastore to pull Disk I/O stats DOWN from VM to Datastore, you're going to pull I/O that could potentially be coming from not only different VMDKs on different storage, but also cause a situation where you're double-dipping statistics of VMs that have disks that span multiple EMC datastores. Basically - don't do what I just described in this paragraph if that's what you were planning.

If you want granular.. that's not a big deal. Just create dashboards that populate widgets and filter based on the Custom group tag, as it'll filter the Datastores in the widgets to those in your group. Do Heatmap and Top-Ns to find your objects of interest. If you want to see what VMs are running on datastores, just use a resource widget, viewing the parent, maybe a special column with VM disk space, with an interaction and you'll get you're association of what VMs are on which datastore.

With all that I just mentioned, the customer should be happy.

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
devnull4
Contributor
Contributor

Hi Mark,

Thanks again for the suggestions.  You have been very helpful.  I have applied the tasks you described, but I'm still having not getting it.

I completed the tasks you described.  I thought I'd try again to ensure I'm not missing something because I have tried similar approaches already.  Here is what what I did.

1. Created custom group "EMCStorageGroup" = VCOPsui -> configuration -> create custom group

2. Created new group "EMCStorageGroup"  of type "EMCStorageGroup" from step 1 with specified VMs as members = VCOPsui -> actions -> create new group

3. Reviewed metrics of  "EMCStorageGroup" = VCOPsui -> environment -> operations -> all metrics  (metrics populated, but attributes didn't show all metrics for RK virtual machine)

4. Reviewed RK configuration "EMCStorageGroup" = VCOsui -> environment overview -> RK EMCStorageGroup  (adapter kind = Contain and Resource Kind = EMCStorageGroup, I cannot change the AK)

This is the problem I have been trying to overcome.  While the RK "EMCStorageGroup" contains Virtual Machines, which are from AK VMware Adapter and RK of Virtual Machines, the associated attributes follow that of the RK "EMCStorageGroup" from AK Container.  Therefore, I do not have access to all the virtual machine metrics, just a subset. While I have failed to change the AK post custom group creation, or add attributes, or change default attributes, the problem I have been finding is that group creation is limited only to only RK types from the Container Adapter which only have a subset of attributes.

Lastly, creation of a super metric requires it to be applied attributes within the RK it is created it to ensure the attributes are available, which is fine in the default VCOPsui and Custom environment as currently defined.  I did follow your guidance and create a supermetric in hopes to apply it against the subset EMCStorageGroup, but the supermetric I need uses attributes from the RK Virtual Machine.

Again, I feel like I am missing something very obvious.  It appears this should be easy to complete, but I can't connect the dots.  Do you have this scenario applied in your environment successfully?  As an example, creation of a group applied to VMs or datastores with a supermetric for guest file system(virtual machine) usage or capacity(datastore) would be a good example.  I've dug through the all the attributes for both virtual machines and datastores through the dbaccessquery interface and can't find metrics that come close to those that are available in both the VM and DS RKs.

Oh, and BTW, the widget and resource solution suggested does work nicely.  After setting up the xml for custom interactions, the dashboard is looking great.

Any other suggestions to get to the same end would be greatly appreciated.  Your responses have helped me at least feel like I'm not completely crazy and alone while trying to get this to work.

chris

0 Kudos
mark_j
Virtuoso
Virtuoso

You're just trying to group VMs and calc Disk IO metrics using a supermetric. Look at my previous answer, in which I specified SumN(xxx,1). This SM traversing 1 degree of separation downward from the group.. which would hit the VMs. Based on what you're describing, the SM isn't getting built and applied correctly.

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
devnull4
Contributor
Contributor

Hello Mark,

Thanks for the response.  Yes you are correct, the SM does work when defined with the i/o metrics you defined.  I have accomplished the same with other metrics included in the environment container.  The issue is that while I can complete the task at hand against the values in the environment container, it doesn't work with the other metrics that I need.

So it comes down to being able to accomplish the same end with other metrics I need to pull.  This is the fundamental query, how do I accomplish the same goal of creating a subset of datastores/VMs to capture all the metrics associated with the requested attributes.  When added to a custom group, all the metrics are not available.  Is there another way to accomplish the subset or is that all I have for options?

0 Kudos
mark_j
Virtuoso
Virtuoso

Let's say you create a Supermetric and apply it to a Group "Environment" ResourceKind.

You can reference -any- metric of underlying virtual machins to calc your SM value. If it's not working for you, you're not creating the formula properly. Any metric you see for a virtual machine can be referenced in a VM, you're simply referring to it via a degree of separation.

Please give us your SM formula.. the actual formula as well as the enumerated formula.

If you find this or any other answer useful please mark the answer as correct or helpful.
0 Kudos
devnull4
Contributor
Contributor

Hello Mark,

I've now got a couple things to try based on your explanation as well as a couple other links.  I'll check to see if I can make it work again.  If not, I'll post the formula and enumerated values, as ell as the examples of what I'm seeing. I believe you are correct in your explanation.  I am doing something wrong.  Either way, i'll post with the info from your request, or i'll post my solution and supporting documentation I followed.

Again, thanks so much for your responses and help.

0 Kudos
devnull4
Contributor
Contributor

Mark,

Thanks so much for your assistance.  I have tried multiple solutions to get this working with a single custom grouping of datastores aggregating VM metrics using the sumN().  While a solution that can leverage the sumN() function within a custom group of datastores to aggregate VM metrics would be excellent, I have resolved my quandry by completing the task with both the datastores and VMs combinded in the same group and only using the sum().

Here is what I completed........

Purpose:  To create a subset of objects within VCOPs 5.8 in order to apply specified super-metrics (SMs) to the associated parents not included in the custom group.  The end goal was to provide a single view within the VCOPs 5.8 UI, not specifically within the custom UI, as was requested by the enduser

Approach: To create, apply, and validate a custom grouping of datastores within the vCenter client, VCOPs UI, or VCOPs custom interface and report on the custom group (VM metrics of the datastores, and of the datastores). 

  • Created custom groups within Vcenter, VCOPs UI and custom interface
    • VCOPs UI through the 'create groups' action
    • vCenter with tags
    • Resource tags through the custom UI
    • Groups included datastores and VMs independently (inital steps)
    • Final configuration incuded both datastores and VMs combined in a single custom group
  • Created and applied multiple SMs using the sum() and sumN() functions to multiple configurations of custom groups from different interfaces, adapters and attributes
  • Successfully create and applied SMs based on examples gathered from VMware documentation, the VMware community discussion group, as well as external resources in order to validate the sanity of the creation of SMs and VCOPs configuration

Results/Findings:  Following guidance found in the vcops_super_metrics_in_vsphere_environment_v1_0.pdf, the resulting custom groups created within vCenter, VCOPs UI and custom UI do NOT contain parent and child relationships, as seen through the VCOPs UI 'operations' tab health tree .  Due to this reason, creation of a custom group (adapter type container or VMware) does not allow for use of the sumN() that would normally traverse objects by leveraging relationships.  The use of relationships is normally implemented during the creation of application stacks, which seems extraneous for this application. 

By creating a custom group of objects including both the parent and child objects, the SM was able to aggregate values of the applied objects using sum().  By changing my approach, I was able to complete the request I was attempting to fullfill, but without the sumN().

In the event there is another option to try, please let me know.  Otherwise, I have included the resources I leveraged, as well as an explanation that may be useful to others trying to find the same end.  And lastly, I learned a great deal with Mark's help.  His suggestions proved to me that I still have a great deal to learn, and also continue to learn.......

Supporting documention:

Addtional resources included the following:

0 Kudos