This sample is using SQL Server even if there is already a group (SQL Computers) available when importing the SQL MPs.
There is a link to the gallery if you’d like to download the sample MP at the bottom of this post.
Create a MP with a Group that contains all classes involved
This task is just in case that you’re not so familiar in how to find the proper class ID.
Create a new Group within a (new) MP:
Select all classes involved (here Windows Computers and SQL Engines):
The formula now looks like the following one and would show all Windows Computers and all SQL Engines what is not the target of this task:
Export MP and edit the MP (for instance using Notepad++).
Increase the MP Version
The next step is increase the version number to allow importing it again in your Management Group:
<Manifest>
<Identity>
<ID>Custom.Groups.Management.Pack</ID>
<Version>1.0.0.1</Version>
</Identity>
Optional: set default language
Move down to LanguagePacks.
Change isDefault to true for the language you’d like to use by default:
<LanguagePack ID="ENU" IsDefault="false">
should become
<LanguagePack ID="ENU" IsDefault="true">
Remove other languages if not needed.
Optional: cleanup the automatically created IDs
Search and replace the automatically generated IDs by something more readable, for instance:
Folder_2caa4b7e281c435b841a54dd143e8fdd
should become
Custom.Groups.Management.Pack.Folder
UINameSpace53f2e808dba448bab7f3f717cc8b2d4f
should become
Custom.Groups.Management.Pack.WindowsHostingSql
Change the Group Calculation to include all SQL Servers
To change the group calculation just add the green marked lines, copy and paste the yellow marked class from the red section to the green one and remove the red marked ones:
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="Custom.Groups.Management.Pack.WindowsHostingSql.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<Contains>
<MonitoringClass>$MPElement[Name="MicrosoftSQLServerLibrary6510!Microsoft.SQLServer.DBEngine"]$</MonitoringClass>
</Contains>
</Expression>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="MicrosoftSQLServerLibrary6510!Microsoft.SQLServer.DBEngine"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7585010!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
Import the MP in SCOM
Save the XML and import it into SCOM
Check the Group
Under Authoring, Groups, search for the group and right-click to show all members:
The view should contain all computers hosting SQL monitored by your SCOM.
Download
The sample MP from above can be found here: https://gallery.technet.microsoft.com/Sample-MP-for-Group-of-26dce52c
0 Comments:
Post a Comment