none
SCOM 2012 SP1 Can't get email alerts for Heartbeat Failure or Computer Unreachable when combined with Group. RRS feed

  • Question

  • Hello,

    I have SCOM 2012 SP1 RTM POC lab.  I have created a dynamic group that picks up my system center servers based on some simple criteria and this works fine.

    I have set up a subscription for critical and high severity alerts originating from this dynamic group called SCOM Servers to send emails to a distribution.  This also worked well for any critical alert that was NOT Heartbeat Failure or Computer Unreachable.  I see those in the console but no email.

    So I set up a new subscription by right clicking on the alerts and here's the kicker.  If add no other conditions to these subscriptions, they will send emails to the DL I provided, but if add the condition initiating from group, and specify my dynamic group SCOM servers, no email alert.  But the alert still appears in the console.

    Any ideas on this?  I would like the appropriate support groups to get these types of alerts for the servers that they support (i.e. SCOM will get SCOM servers, Exchange Admin will get Exchange and never the two roads shall meet.).

    I even tried some internet posted custom management pack, but I couldn't import it after adding the code that he listed.

    I mean, isn't this a basic requirement for any mid-sized company?

    Any help is greatly appreciated.

    Thursday, March 7, 2013 9:45 PM

Answers

  • Hi Donald,

    Like Dan says you need to add the "Health Service Watcher" objects to the groups as wel. Unfortunately this cannot be done in the Dynamic group Editor but has to be done in the XML. Export the XML and add the following piece of code between the lines </MembershipRule></MembershipRules>:

    <MembershipRule>
     <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher"]$</MonitoringClass>
    <RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7084300!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
    <Expression>
    <Contains>             
    <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthService"]$</MonitoringClass>
          <Expression>
    <Contained>         
    <MonitoringClass>$MPElement[Name="MicrosoftWindowsLibrary7084300!Microsoft.Windows.Computer"]$</MonitoringClass>
              <Expression>
                <Contained>
                  <MonitoringClass>$Target/Id$</MonitoringClass>
                </Contained>
              </Expression>
            </Contained>
          </Expression>
        </Contains>
      </Expression>
    </MembershipRule>

    Save the XML delete the old one in OpsMgr and import the edited.

    For SP1 the SystemLibrary version is 7.0.8430.0. If this is not your version you need to edit this in the code above.

    Hope this helps,

    ____________________________________________

    Regards Marthijn van Rheenen
    Blog:
    Heading To The Clouds


    Friday, March 8, 2013 8:24 AM
  • Donald,

    Try adding the Health Service (or the Health Service Watcher) for the servers as well. OpsMgr is based on a parent/child hierarchy and the Health Service is not a member of the Server object hierarchy. The alerts you are referring to are triggered by the Health Service (or Health Service Watcher) which is why you aren't receiving any notifications.

    Dan

    Thursday, March 7, 2013 11:39 PM

All replies

  • Just an addendum, it does allow me to add resolution state, but that's it...
    Thursday, March 7, 2013 10:14 PM
  • Donald,

    Try adding the Health Service (or the Health Service Watcher) for the servers as well. OpsMgr is based on a parent/child hierarchy and the Health Service is not a member of the Server object hierarchy. The alerts you are referring to are triggered by the Health Service (or Health Service Watcher) which is why you aren't receiving any notifications.

    Dan

    Thursday, March 7, 2013 11:39 PM
  • Hi Donald,

    Like Dan says you need to add the "Health Service Watcher" objects to the groups as wel. Unfortunately this cannot be done in the Dynamic group Editor but has to be done in the XML. Export the XML and add the following piece of code between the lines </MembershipRule></MembershipRules>:

    <MembershipRule>
     <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher"]$</MonitoringClass>
    <RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary7084300!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
    <Expression>
    <Contains>             
    <MonitoringClass>$MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthService"]$</MonitoringClass>
          <Expression>
    <Contained>         
    <MonitoringClass>$MPElement[Name="MicrosoftWindowsLibrary7084300!Microsoft.Windows.Computer"]$</MonitoringClass>
              <Expression>
                <Contained>
                  <MonitoringClass>$Target/Id$</MonitoringClass>
                </Contained>
              </Expression>
            </Contained>
          </Expression>
        </Contains>
      </Expression>
    </MembershipRule>

    Save the XML delete the old one in OpsMgr and import the edited.

    For SP1 the SystemLibrary version is 7.0.8430.0. If this is not your version you need to edit this in the code above.

    Hope this helps,

    ____________________________________________

    Regards Marthijn van Rheenen
    Blog:
    Heading To The Clouds


    Friday, March 8, 2013 8:24 AM
  • You guys rock!  The only change I had to make was my SystemLibrary version which is 7585010 but then it worked like a charm.

    Thanks again!

    Friday, March 8, 2013 1:55 PM
  • Hi there,

    I found this thread really useful, however I had some challenges. It seems that the SystemLibrary version is what the Management Pack was first authored in. In my case I had authored a number of packs on 2007 R2 before migration and I had to use a value of 6172210.

    Are there any limitations in having these management packs authored in previous versions? I am aware of some of the issues with different languages apart from ENU, as documented here, http://blog.coretech.dk/kra/scom-2012-and-errors-with-regional-settings-other-than-english/ so I am currently re-authoring the majority of my packs to include HealthWatcher groups, but would like to understand any other implications before completing this fairly dreary work.

    Cheers

    Thursday, April 11, 2013 6:29 AM
  • Hi Team,

    i tried the same but unfortunately i am getting an error

    ___________________________________________________________

    Management Pack could not be imported.

    If any management packs in the Import list are dependent on this management pack, the installation of the dependent management packs will fail.

    Verification failed with 1 errors:
    -------------------------------------------------------
    Error 1:
    Found error in 1|COffice|1.0.0.0|UINameSpacedf4a846e18924f99a52d393cd3009528.Group.DiscoveryRule/GroupPopulationDataSource|| with message:
    The configuration specified for Module GroupPopulationDataSource is not valid.
    : Cannot find specified MPElement SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher in expression: $MPElement[Name="SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher"]$
    Cannot resolve identifier SystemCenter!Microsoft.SystemCenter.HealthServiceWatcher in the context of management pack COffice. Unknown alias: SystemCenter
    ------------------------------------------------------



    • Edited by vrkumar01 Friday, July 25, 2014 5:16 PM
    Friday, July 25, 2014 3:31 PM