Create relationship between Hyper-V virtual machine and Ops Mgr Agent in VM

Veeam.Virt.Extensions.HyperV.Integration.SDK.VMContainsWC.Discovery (Discovery)

Knowledge Base article:

Summary

This discovery will build the relationships between the Hyper-V virtual machine and the Ops Mgr agent that may be installed inside the virtualized OS.

This relationship adds valuable integration possibilities to Veeam MP views and dashboards. It enables drill-down in topology diagrams from Hyper-V components (cluster, host, VM) all the way into the native Ops Mgr agent that is monitoring services and applications.

If this discovery is disabled, all core Hyper-V monitoring features of the Veeam MP will still function, however the drill-down into the OS and Ops Mgr agent will be absent, which means that some views and dashboards will not populate.

This discovery runs once nightly on the Ops Mgr management server; there is a requirement to run the discovery on the management server as the Ops Mgr SDK is used to query the database and build relationships between VMs and agents.

External

Refer to the Microsoft System Center Online Documentation for more information on Operations Manager features such as discoveries.

Refer to the Veeam Hyper-V MP Documentation for more details on advanced MP functionality.

Element properties:

TargetMicrosoft.SystemCenter.RootManagementServer
EnabledTrue
Frequency86400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:
Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Veeam.Virt.Extensions.HyperV.Integration.VMContainsWC.PSDatasourceAction System.PrivilegedMonitoringAccount

Source Code:

<Discovery ID="Veeam.Virt.Extensions.HyperV.Integration.SDK.VMContainsWC.Discovery" Enabled="true" Target="SC!Microsoft.SystemCenter.RootManagementServer" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine">
<Property TypeID="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine" PropertyID="id"/>
</DiscoveryClass>
<DiscoveryClass TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine">
<Property TypeID="Windows!Microsoft.Windows.Computer" PropertyID="PrincipalName"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="VmId"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="HostName"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="Availability"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="Clustername"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="MemWeight"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="MemDynamic"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="MaxMem"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="MinMem"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="StartMem"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="CPUCount"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="CPUWeight"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="CPUReservation"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="DiskAllocationGB"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="VMVersion"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="VirtualNUMASpanning"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="UsesStorage"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="UsesNetworks"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="VMMName"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="GuestOS"/>
<Property TypeID="VVEHB!Veeam.Virt.Extensions.HyperV.HyperVVirtualMachine" PropertyID="GuestServiceVersion"/>
</DiscoveryClass>
<DiscoveryRelationship TypeID="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachineContainsHyperVVirtualMachine"/>
</DiscoveryTypes>
<DataSource ID="DS" RunAs="System!System.PrivilegedMonitoringAccount" TypeID="Veeam.Virt.Extensions.HyperV.Integration.VMContainsWC.PSDatasourceAction">
<sourceId>$MPElement$</sourceId>
<managedEntityID>$Target/Id$</managedEntityID>
<removeRelationship>false</removeRelationship>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime>03:00</SyncTime>
<Timeout>82800</Timeout>
<Verbose>false</Verbose>
</DataSource>
</Discovery>