When are are monitoring server health from a top level NOC type view (such as this one) if we just include all of the servers in an environment it’s pretty much always going to be red because there is almost some issue going on in the environment. To provide a realistic state of health for the servers in the environment, we can instead create a Dynamic DA which includes specific servers in specific OU’s and changing health rollup to a percentage which is normal for the environment. The result is a dynamic population for the Distributed Application which we can then configuring health rollup based upon percentage:

For the test, we created an OU and moved a subset of servers to that OU.

image

Next we create a new MP (DynamicDA in this example) from the Administration pane, Management Packs

From the Authoring pane create a dynamic group based upon the OU containing our DynamicDA OU:

image

Verify the members of the group are correct by right-clicking on the group and choose View Group Members (it may take a while for OpsMgr to identify what computers have been moved to a new OU)

image

We see three of the five servers as part of this Dynamic group now (cloud-sm03 and cloud-sm04 are agentless monitored so they do not apply in this group – only agent managed servers).

image

Create a DA with a server included (adding a Windows Server in the environment shown below as an example)

image

(If we just try to add the group directly instead of using this method, health does not roll up  as shown below from OpsMgr 2012 RC)

image

Export xml for the Management Pack from the Administration pane, Management Packs

Replace the hard-coded server section of the XML with the dynamic group section in the XML (using http://blogs.technet.com/b/brianwren/archive/2008/01/26/dynamically-populating-component-groups-in-distributed-applications.aspx  as reference). The example below as configured for the Computers OU as an example.

image

Goes into:

image

Resulting in:

image

Update the version number at the top:

image

Import the updated Management Pack: (if it will not import, something when wrong when editing the XML – go back to that stage)

image

Open the Distributed Application in the Monitoring pane, Distributed Applications and open it in a Diagram View. If all went well, we should see the group and health of the servers in the group:

image

From here we can change rollup to be based upon our requirements for health for this group. The example below shows as healthy until at least 60% of the servers are not in a healthy state.

image

Two of the three servers unavailable (66%):

image

One of the three servers unavailable (33%):

image
Here’s the same DA with a fourth server agent identified from the OU:

image

NOTE: Once you have made this change, you can no longer update the Distributed Application in the Distributed Application Designer (ok, you can but you will need to re-update the XML as shown above).

 

Summary: It is possible to create Distributed Applications based upon components which are dynamic such as OU membership. These DA’s can then be tied into a top level NOC view which provides the overall health of the set of servers based upon how you have defined the rollup for health for your group of servers!

 

Additional readings on this topic:

Kevin Holman’s article covers steps to create a group based upon an OU: http://blogs.technet.com/b/kevinholman/archive/2008/02/05/creating-a-group-based-on-ou-organizational-unit-in-active-directory.aspx

Brian Wren on how to make the DA dynamic: http://blogs.technet.com/b/brianwren/archive/2008/01/26/dynamically-populating-component-groups-in-distributed-applications.aspx