Microsoft.SystemCenter.GroupPopulator
Applies To: Operations Manager 2007 R2
The Microsoft.SystemCenter.GroupPopulator data source module type is used to populate groups with class type instances. The module outputs System.Discovery.Data data.
Usage
Use the module when you want to implement a discovery rule that creates a relationship between a targeted group and each of the class type instances or other groups (subgroups) that it is to contain. A rule that implements this module is generally defining membership inclusion and exclusion criteria or rules for the targeted group.
Type Definition
<DataSourceModuleType ID="Microsoft.SystemCenter.GroupPopulator" Accessibility="Public" RunAs="Microsoft.SystemCenter.DatabaseWriteActionAccount" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Microsoft.SystemCenter.GroupPopulationSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="RuleId" type="xsd:string" />
<xsd:element name="GroupInstanceId" type="xsd:string" />
<xsd:element name="GroupMonitoringClass" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="MembershipRules" type="MembershipRulesType" />
</Configuration>
<ModuleImplementation Isolation="Any">
<Managed>
<Assembly>Microsoft.Mom.DatabaseQueryModules, Culture="", PublicKeyToken="9396306c2be7fcc4", Version="6.0.4900.0"</Assembly>
<Type>Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.GroupCalculationModule</Type>
</Managed>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>
Parameters
The Microsoft.SystemCenter.GroupPopulator module supports the configuration parameters described in the following table.
Parameter | Type | Overrideable | Description |
---|---|---|---|
RuleId |
String |
False |
Required parameter. Defines the ID of the containing discovery rule. Always use the value $MPElement$. For more information about the variable notation for $MPElement$, see $MPElement. |
GroupInstanceId |
String |
False |
Required parameter. Defines the ID of the singleton group instance that will contain all discovered instances of the targeted class type. Always use the value $Target/Id$. For more information about the variable notation for $Target, see $Target. |
GroupMonitoringClass |
String |
False |
Optional parameter. Defines the class type ID of the group class type. Use this parameter if you want to create non-singleton groups. The format of this value would be $MPElement[Name="Sample.MyInstanceGroup.Group"]$. |
MembershipRules |
False |
Required parameter. Contains all the exclusion or inclusion rules that define membership requirements. |
Composition
The Microsoft.SystemCenter.GroupPopulator module type is a managed module.
Remarks
The Microsoft.SystemCenter.GroupPopulator data source module is used to discover relationship type instances that define a containment relationship between a group and the class type that it contains. For more information about the general structure and meaning of a relationship definition in a management pack, see RelationshipType.
For more information about how to define your group and its contained class type instances, see MembershipRuleType.
Related Modules
None.
External Module References
None.
Sample
The following XML sample shows how to use the Microsoft.SystemCenter.GroupPopulator module type in a simple discovery rule. In this sample, the relationship to be discovered is Microsoft.SystemCenter.ComputerGroupContainsComputer. This is a singleton discovery, so every instance of a Windows Server 2000 computer will be grouped under the already existing Microsoft.SystemCenter.ComputerGroup group.
<RelationshipType ID="Microsoft.SystemCenter.ComputerGroupContainsComputer" Comment="computer groups contain computers" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source>Microsoft.SystemCenter.ComputerGroup</Source>
<Target>System!System.Computer</Target>
</RelationshipType>
…
<Discovery ID="Microsoft.Windows.Server.2000.AllServersComputerGroupDiscovery" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Server.2000.ComputerGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="SC!Microsoft.SystemCenter.ComputerGroupContainsComputer" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.Windows.Server.2000.Computer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SC!Microsoft.SystemCenter.ComputerGroupContainsComputer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
The next section of this sample illustrates a discovery rule that implements more than one membership rule. Each one of the monitoring class instances will be contained in the Microsoft.SystemCenter.InstanceGroup group.
<RelationshipType ID="Microsoft.SystemCenter.InstanceGroupContainsEntities" Base="System!System.Containment" Abstract="false" Accessibility="Public">
<Source>Microsoft.SystemCenter.InstanceGroup</Source>
<Target>System!System.Entity</Target>
</RelationshipType>
<Discovery ID="Microsoft.Windows.InternetInformationServices.InstanceGroupDiscovery.Rule" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.InstanceGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="SCIG!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.Windows.InternetInformationServices.ApplicationComponent"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SCIG!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.Windows.InternetInformationServices.WebSite"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SCIG!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.Windows.InternetInformationServices.FTPSite"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SCIG!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.Windows.InternetInformationServices.ServerRole"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SCIG!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
The last section of this sample illustrates a discovery rule that provides an expression that scopes down which monitoring class instances are to be included in the Microsoft.SystemCenter.ComputerGroup group. In this discovery, the only computers to be included in the group are those that host an instance of the Microsoft.SQLServer.2000.DBEngine class type.
<RelationshipType ID="Microsoft.SystemCenter.ComputerGroupContainsComputer" Comment="computer groups contain computers" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source>Microsoft.SystemCenter.ComputerGroup</Source>
<Target>System!System.Computer</Target>
</RelationshipType>
<Discovery ID="Microsoft.SQLServer.2000.ComputerGroupDiscovery" Target="Microsoft.SQLServer.2000.ComputerGroup" Enabled="true">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="SC!Microsoft.SystemCenter.ComputerGroupContainsComputer" />
</DiscoveryTypes>
<DataSource ID="DS" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="SC!Microsoft.SystemCenter.ComputerGroupContainsComputer"]$</RelationshipClass>
<Expression>
<Contains>
<MonitoringClass>$MPElement[Name="Microsoft.SQLServer.2000.DBEngine"]$</MonitoringClass>
</Contains>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
Information
Module Type |
|
Input Type |
None |
Output Type |
|
Implementation |
Managed |
Library |
Microsoft.SystemCenter.Library |