VMguest, Windows Computer, Health Service Watcher, OH MY!

Unleash the power of System Center for vSphere and Hyper-V | Veeam Task Manager for Hyper-V

VMguest, Windows Computer, Health Service Watcher, OH MY!

Veeam Logoby vBPav » Wed May 30, 2012 7:24 am 2 people like this post

Expanding on Anders Bengtsson's Blog Post on Windows Computer and associated Health Service watcher in a dynamic group, what if we wanted to include VMGuest Virtual Machine objects as well?

It turns out, this is a pretty simple task with the Veeam MP for VMware v5.7.

Within the same MP you have created from Anders blog, simply add the following:

Reference

Code: Select all
     
      <Reference Alias="nworksVMwareVEM5701022">
        <ID>nworks.VMware.VEM</ID>
        <Version>5.7.0.1022</Version>
        <PublicKeyToken>65c40f14a98ce59b</PublicKeyToken>
      </Reference>


MembershipRule

Code: Select all
        <MembershipRule>
              <MonitoringClass>$MPElement[Name="nworksVMwareVEM5701022!nworks.VMware.VEM.VMGUEST"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="MSSystemCenterIGLib7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
              <Expression>
                <Contains>
                  <MonitoringClass>$MPElement[Name="MicrosoftWindowsLib7585010!Microsoft.Windows.Computer"]$</MonitoringClass>
                  <Expression>
                    <Contained>
                      <MonitoringClass>$Target/Id$</MonitoringClass>
                    </Contained>
                  </Expression>
                </Contains>
              </Expression>
            </MembershipRule>


Should yield the following results!

Untitled picture.png
Untitled picture.png (28.12 KiB) Viewed 3347 times
Brian Pavnick | Cireson| Solutions Architect

- Follow me on Twitter @ vbpav
- Reach me on e-mail @ brian.pavnick@cireson.com
vBPav
Expert
 
Posts: 181
Liked: 13 times
Joined: Wed Jan 13, 2010 6:08 pm
Full Name: Brian Pavnick

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby vBPav » Mon Jul 09, 2012 7:33 pm

Hello everyone,

Please keep in mind that the VM and OpsMgr Agent Integration (on pg 14 of the Veeam MP Operations Guide) is necessary for this level of integration to work.
Brian Pavnick | Cireson| Solutions Architect

- Follow me on Twitter @ vbpav
- Reach me on e-mail @ brian.pavnick@cireson.com
vBPav
Expert
 
Posts: 181
Liked: 13 times
Joined: Wed Jan 13, 2010 6:08 pm
Full Name: Brian Pavnick

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby vBPav » Mon Jul 16, 2012 10:30 pm

One more thing to point out, please keep in mind that in the code examples above, I am using the following MP Aliases:

nworksVMwareVEM5701022 for nworks.VMware.VEM
MSSystemCenterIGLib7585010 for Microsoft.SystemCenter.InstanceGroup.Library
MicrosoftWindowsLib7585010 for Microsoft.Windows.Library

These aliases may differ from the MP you will be merging this code with. I recommend changing the code posted above, rather than the aliases on your MP. Changing your MP aliases will force you to change those aliases for the rest of your XML. Not fun!
Brian Pavnick | Cireson| Solutions Architect

- Follow me on Twitter @ vbpav
- Reach me on e-mail @ brian.pavnick@cireson.com
vBPav
Expert
 
Posts: 181
Liked: 13 times
Joined: Wed Jan 13, 2010 6:08 pm
Full Name: Brian Pavnick

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby pommemd » Sat Jul 26, 2014 2:43 am

Is anyone able help provide the Membership rule for the Veeam Management pack version

<Reference Alias="VMware">
<ID>Veeam.Virt.Extensions.VMware.Monitoring</ID>
<Version>6.0.0.1421</Version>
<PublicKeyToken>65c40f14a98ce59b</PublicKeyToken>
</Reference>

<MembershipRule>
<MonitoringClass>$MPElement[Name="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMGUEST"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MSSystemCenterIGLib7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<Contains>
<MonitoringClass>$MPElement[Name="MicrosoftWindowsLib7585010!Microsoft.Windows.Computer"]$</MonitoringClass>
<Expression>
<Contained>
<MonitoringClass>$Target/Id$</MonitoringClass>
</Contained>
</Expression>
</Contains>
</Expression>
</MembershipRule>
pommemd
Lurker
 
Posts: 2
Liked: never
Joined: Sat Jul 26, 2014 2:39 am
Full Name: MD

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby sergey.g » Wed Jul 30, 2014 4:43 pm

Sorry for a delay,

We are investigating the question. But from the first look this XML code that you specified should work, could you confirm that it doesn't?

Thanks.
sergey.g
Veeam Software
 
Posts: 453
Liked: 75 times
Joined: Wed May 02, 2012 1:49 pm
Full Name: Sergey Goncharenko

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby pommemd » Thu Jul 31, 2014 11:15 pm

Nope, i'm afraid it still doesn't work.
pommemd
Lurker
 
Posts: 2
Liked: never
Joined: Sat Jul 26, 2014 2:39 am
Full Name: MD

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby sergey.g » Tue Aug 05, 2014 11:07 am

Hello,

We've noticed a couple of errors in your code (VMguest object is located in the VMware.Library MP, while you sent us a reference to the monitoring maangement pack), so we've decided we need to test this configuration once again. The following code proved to be working on Veeam MP v7, should work for 6.x as well. I'll drop here a code for Health Service Watcher as well.

Veaem MP Reference (only this one is required):
Code: Select all
      <Reference Alias="VMware">
        <ID>Veeam.Virt.Extensions.VMware.Library</ID>
        <Version>6.0.0.1421</Version>
        <PublicKeyToken>65c40f14a98ce59b</PublicKeyToken>
      </Reference>


Membership Rules (in addition to the first one which filters out Windows Computers):

Code: Select all
<MembershipRule>
              <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
              <Expression>
         <Contains>
         <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthService"]$</MonitoringClass>
         <Expression>
         <Contained>
            <MonitoringClass>$MPElement[Name="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer"]$</MonitoringClass>
               <Expression>
            <Contained>
            <MonitoringClass>$Target/Id$</MonitoringClass>
            </Contained>
            </Expression>
               </Contained>
         </Expression>
            </Contains>
              </Expression>
            </MembershipRule>
       <MembershipRule>
      <MonitoringClass>$MPElement[Name="VMware!Veeam.Virt.Extensions.VMware.VMGUEST"]$</MonitoringClass>
      <RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
      <Expression>
         <Contains>
         <MonitoringClass>$MPElement[Name="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer"]$</MonitoringClass>
         <Expression>
            <Contained>
            <MonitoringClass>$Target/Id$</MonitoringClass>
            </Contained>
         </Expression>
            </Contains>
      </Expression>
        </MembershipRule>


Full version of example Management Pack can be downloaded here (keep in mind that I wasn't using SLA filtering, just filtered Windows Computers by name pattern)

If this code still doesn't work for you, could you check if group is being populated with at least Windows Computers? If Windows Computers aren't there, then there is an issue with SLA filtering rule, because the rest of Membership rules depend on this core one about SLA.

Thanks.
sergey.g
Veeam Software
 
Posts: 453
Liked: 75 times
Joined: Wed May 02, 2012 1:49 pm
Full Name: Sergey Goncharenko

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby keithkleiman » Thu Jan 28, 2016 10:36 pm

This doesn't seem to be working for me although I had this working in the past. Not sure exactly when things stopped. Here is my code. Can you validate? I have validated that Windows computer objects are being populated in the group too. Provided my code looks ok, which I think it does, can you suggest any other reasons that may be preventing the population of virtual machine objects in this group?

Thanks!
Keith

<MembershipRule>
<MonitoringClass>$MPElement[Name="VeeamVirtExtensionsVMwareLibrary7001862!Veeam.Virt.Extensions.VMware.VMGUEST"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<Contains>
<MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</MonitoringClass>
<Expression>
<Contained>
<MonitoringClass>$Target/Id$</MonitoringClass>
</Contained>
</Expression>
</Contains>
</Expression>
</MembershipRule>
</MembershipRules>
keithkleiman
Enthusiast
 
Posts: 42
Liked: never
Joined: Mon May 23, 2011 8:38 pm
Full Name: Keith Kleiman

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby Alec King » Fri Jan 29, 2016 8:39 am

Hi Keith,

OK, I believe this group population will not longer work since we removed the relationship between virtual machine (Veeam VMGUEST class) and Windows Computer (Microsoft class)....
We had to make this change, because we discovered that this relationship could cause SCOM performance issues in the database, in large environments with many MPs installed.
(to share more detail, the large nested topology created by this relationship caused the RecursiveMembershipTable in SCOM Db to grow hugely...sometimes to several million rows, with resultant performance issues...and that's enough database deep-dive I think! :wink: )

Actually we made this change in MP v7.0 R2, but perhaps you upgraded straight from 7.0 to 8.0, skipping R2, so this is your first experience of the change....

Anyway, the good news is that we DO still, in MP 8.0, create some relationship to the Windows OS inside the VM. It took some R&D, but we were able to optimise the way we do that, so we could still keep that valuable link between VM and the WIndows OS, without breaking SCOM internals...
We now create a relationship between VM and the special Veeam object 'Ops Mgr Agent in vSphere VM'.
If you look in the All VMs state view, you will see that there is a column for this new contained object (it replaces the column for Windows Computer that we had before)
And, there is a brand new Dashboard, called 'Apps on this VM', which you can see in the Navigation pane. That will open a diagram view of the associated Ops Mgr agent - so you still have a way to browse to that Windows OS and see the MPs that run inside. So our 'App-to-Metal' story still works! :D

Bottom line, your desired group of all related objects should still be possible - we need to take a look and change the classes in there. I'll get my team to check it out. Watch this space! :)
Alec King
Vice President, Product Management
Veeam Software
Alec King
Veeam Software
 
Posts: 700
Liked: 116 times
Joined: Sun Jan 01, 2006 1:01 am

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby sergey.g » Fri Jan 29, 2016 10:17 am

Hi Keith,

I've Figured this out very quickly. As Alec mentioend we've changed the relationship architecture a little bit, but everything is still in place to acheive what you need. Just change the Membership rule to the following:

Code: Select all
<MembershipRule>
<MonitoringClass>$MPElement[Name="VeeamVirtExtensionsVMwareLibrary7001862!Veeam.Virt.Extensions.VMware.VMGUEST"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
   <Contains>
<MonitoringClass>$MPElement[Name="VMwareBaseDisc!Veeam.Virt.Extensions.VMware.VMwareVirtualMachine"]$</MonitoringClass>
<Expression>
   <Contained>
<MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</MonitoringClass>
      <Expression>
   <Contained>
<MonitoringClass>$Target/Id$</MonitoringClass>
   </Contained>
   </Expression>
   </Contained>
</Expression>
      </Contains>
</Expression>
     </MembershipRule>
sergey.g
Veeam Software
 
Posts: 453
Liked: 75 times
Joined: Wed May 02, 2012 1:49 pm
Full Name: Sergey Goncharenko

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby sergey.g » Fri Jan 29, 2016 10:18 am

Sorry, forgot to mention that for the above you'll need another reference in the MP

Code: Select all
      <Reference Alias="VMwareBaseDisc">
        <ID>Veeam.Virt.Extensions.VMware.BaseDiscovery</ID>
        <Version>6.0.0.1421</Version>
        <PublicKeyToken>65c40f14a98ce59b</PublicKeyToken>
      </Reference>
sergey.g
Veeam Software
 
Posts: 453
Liked: 75 times
Joined: Wed May 02, 2012 1:49 pm
Full Name: Sergey Goncharenko

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby keithkleiman » Sat Jan 30, 2016 3:35 am

Alec thanks for the appropriate level of detail :wink: which I follow. Makes sense now. I do appreciate the way you have redesigned and improved the performance of the topology and subsequent database. I also agree that the tasks does allow us to selectively look at the metal to app detail via the task if needed and works very nicely I might add. I have updated the new code and it works as expected. Many thanks Sergey! Appreciate the quick responses from the experts as always.
keithkleiman
Enthusiast
 
Posts: 42
Liked: never
Joined: Mon May 23, 2011 8:38 pm
Full Name: Keith Kleiman

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby keithkleiman » Wed May 25, 2016 9:35 pm

I have a SCOM group containing virtual machines objects with a particular cluster name. I then want to add the associated Windows Computer objects. How can this be done? This is the reverse process of adding windows computer objects into a group and adding the associated vmware virtual machine objects. Here is my code for that ...

<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="LFGCustomCommonMPObjectsDiscovery1004!Typeb8e2708e161448e7bc39796bf5eaa749"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<RegExExpression>
<ValueExpression>
<Property>$MPElement[Name="LFGCustomCommonMPObjectsDiscovery1004!Typeb8e2708e161448e7bc39796bf5eaa749"]/AttributeDiscoveryGeneratedByUIaa042e6cf9624569acb1b345f59b55eb$</Property>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>.*SG024.*</Pattern>
</RegExExpression>
</Expression>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="VeeamVirtExtensionsVMwareLibrary7001862!Veeam.Virt.Extensions.VMware.VMGUEST"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<Contains>
<MonitoringClass>$MPElement[Name="VMwareBaseDisc!Veeam.Virt.Extensions.VMware.VMwareVirtualMachine"]$</MonitoringClass>
<Expression>
<Contained>
<MonitoringClass>$MPElement[Name="Af3e5d83c6f09483ba22c2c0d0fa547de!Microsoft.Windows.Computer"]$</MonitoringClass>
<Expression>
<Contained>
<MonitoringClass>$Target/Id$</MonitoringClass>
</Contained>
</Expression>
</Contained>
</Expression>
</Contains>
</Expression>
</MembershipRule>
</MembershipRules>
keithkleiman
Enthusiast
 
Posts: 42
Liked: never
Joined: Mon May 23, 2011 8:38 pm
Full Name: Keith Kleiman

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby sergey.g » Thu May 26, 2016 2:59 pm

Hi Keith,

I've created a sample Management Pack for you, just open it and change "*King*" wildcard to whatever is necessary for your cluster name (sorry didn't notice you were using regexp, but wildcard should work for your example too).

The thing is that Windows Computer itself doesn't have Cluster Name property - it contains In-Guest object which should have this property, but for some reason it doesn't have it - at least in the current version (I'll check if we can add it in the future). So I had to use contains->contained membership rules to find windows computers with in-guest objects which also contained in VMs on a particular cluster.

https://sites.google.com/site/sgoncharenko/files/Veeam.Group.of.VMs.and.Windows.Computers.from.Cluster.zip

Let me know if you have issues with using this MP or if you have any other questions.

Update: Cleaned up a little bit, removed the folder view from MP
sergey.g
Veeam Software
 
Posts: 453
Liked: 75 times
Joined: Wed May 02, 2012 1:49 pm
Full Name: Sergey Goncharenko

Re: VMguest, Windows Computer, Health Service Watcher, OH MY

Veeam Logoby keithkleiman » Fri Jun 03, 2016 9:20 pm

Thanks Sergey! I have not tried it yet, but will let you know if I have any issues.
keithkleiman
Enthusiast
 
Posts: 42
Liked: never
Joined: Mon May 23, 2011 8:38 pm
Full Name: Keith Kleiman


Return to Veeam Management Pack for Microsoft System Center



Who is online

Users browsing this forum: Yahoo [Bot] and 3 guests