Computer group and dependency health rollup in OpsMgr 2007 R2 Beta release

… will be broken when you need to create group while inheriting from Microsoft.SystemCenter.ComputerGroup.

<ClassTypes>

  <ClassType ID="TestCompterGroup.Group" Accessibility="Public" Abstract="false" Base="SystemCenter!Microsoft.SystemCenter.ComputerGroup" Hosted="false" Singleton="true" />

</ClassTypes>

This was caused by disabling all dependency monitors defined for abstract managed entity type representing computer group while trying to minimize traffic from agent to server.

<DependencyMonitor ID="Microsoft.SystemCenter.ComputerGroup.AvailabilityRollup" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.ComputerGroup" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.SystemCenter.ComputerGroupContainsComputer" MemberMonitor="Health!System.Health.AvailabilityState">

  <Category>AvailabilityHealth</Category>

  <Algorithm>WorstOf</Algorithm>

  <MemberUnAvailable>Error</MemberUnAvailable>

</DependencyMonitor>

<DependencyMonitor ID="Microsoft.SystemCenter.ComputerGroup.ConfigurationRollup" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.ComputerGroup" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.SystemCenter.ComputerGroupContainsComputer" MemberMonitor="Health!System.Health.ConfigurationState">

  <Category>ConfigurationHealth</Category>

  <Algorithm>WorstOf</Algorithm>

  <MemberUnAvailable>Error</MemberUnAvailable>

</DependencyMonitor>

<DependencyMonitor ID="Microsoft.SystemCenter.ComputerGroup.PerformanceRollup" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.ComputerGroup" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.SystemCenter.ComputerGroupContainsComputer" MemberMonitor="Health!System.Health.PerformanceState">

  <Category>PerformanceCollection</Category>

  <Algorithm>WorstOf</Algorithm>

  <MemberUnAvailable>Error</MemberUnAvailable>

</DependencyMonitor>

<DependencyMonitor ID="Microsoft.SystemCenter.ComputerGroup.SecurityRollup" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.ComputerGroup" ParentMonitorID="Health!System.Health.SecurityState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.SystemCenter.ComputerGroupContainsComputer" MemberMonitor="Health!System.Health.SecurityState">

  <Category>SecurityHealth</Category>

  <Algorithm>WorstOf</Algorithm>

  <MemberUnAvailable>Error</MemberUnAvailable>

</DependencyMonitor>

We enabled all instances of computer groups we needed, but unfortunately you must do the same if you want to see your rollup. Following is a sample of MonitoringPropertyOverride enabling availability section rollup for TestComputerGroup defined above. (you will need all necessary MP references in your override management pack)

<MonitorPropertyOverride ID="TestComputerGroup.Group.EnableComputerGroup.AvailabilityRollup" Context="TestComputerGroup.Group" Enforced="false" Monitor="SCLibrary!Microsoft.SystemCenter.ComputerGroup.AvailabilityRollup" Property="Enabled">

  <Value>true</Value>

</MonitorPropertyOverride>

I’m not sure if this problem is described in release notes, but my post should offer quick insight and easy “fix” solution (same can be actually achieved thru UI when you enable particular dependency monitor for your group)