URL Monitoring:

As you know SCOM 2007/2012 support URL monitoring but URL monitoring template do not allow to add consolidation to the monitoring. i.e. an alert will  be generated every failure of  Web Transaction.

Consolidation helps you in reducing number of alerts due to intermediate issues for WEB transaction, by adding this module  monitor will generating alert for multiple WEB transactions failure in given time window.

Consolidation needs minimum two parameters to function

Number of samples: number of samples  

Time window: time window to wait for Number of samples to occur.

When the first data item comes to the consolidator, the timing window is started. For subsequent data items, if the count threshold is reached at any point during the window, the consolidator outputs data. If the end of the window is reached, and the threshold has not been reached, the consolidator drops the first data item that came into the window, looks at the time stamp on the second data item, and resets the window to use this as the start time. This process continues until either the count threshold is reached or all data items have occurred more than one window interval in the past.

Refer below link for different types of consolidation
http://msdn.microsoft.com/en-us/library/ee809324.aspx

Refer below link for basic information how to use consolidation module in monitor/rule.

http://blogs.technet.com/b/authormps/archive/2011/02/24/consolidation-composition-tutorial.aspx

You can add consolidation to the monitor by opening mp in notepad as below.

To add consolidation to monitor need to add consolidation module (i.e. ConditionDetection module)  in UnitmonitorType configuration after ProbeAction  tab and add an  <Node ID="RepeatCount"> After <RegularDetection MonitorTypeStateID="XXXXXXXFailure\FALSE\ERROR\Warning"> then add closing tab </Node> After  </Node>

Here with i enclosed an example for the same.

Before adding consolidation module to monitor type

<UnitMonitorType ID="WebApplication_bb654de2f38f475d87f10885e6358ed8.Total.AggregateDNSResolutionTime" Accessibility="Public">

        <MonitorTypeStates>

          <MonitorTypeState ID="WarningCriteriaTrue" NoDetection="false" />

          <MonitorTypeState ID="ErrorCriteriaTrue" NoDetection="false" />

          <MonitorTypeState ID="OK" NoDetection="false" />

        </MonitorTypeStates>

        <Configuration>

          <element name="RequestID" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" />

        </Configuration>

        <MonitorImplementation>

          <MemberModules>

            <DataSource ID="DS1" TypeID="WebApplication_bb654de2f38f475d87f10885e6358ed8.UrlDataSource" />

            <ProbeAction ID="OnDemandReset" TypeID="System!System.PassThroughProbe" />

            <ConditionDetection ID="CDWarningCriteriaTrue" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

            <ConditionDetection ID="CDErrorCriteriaTrue" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

            <ConditionDetection ID="CDOK" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.OKCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

          </MemberModules>

          <RegularDetections>

            <RegularDetection MonitorTypeStateID="WarningCriteriaTrue">

              <Node ID="CDWarningCriteriaTrue">

                <Node ID="DS1" />

              </Node>

            </RegularDetection>

            <RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">

              <Node ID="CDErrorCriteriaTrue">

                <Node ID="DS1" />

              </Node>

            </RegularDetection>

            <RegularDetection MonitorTypeStateID="OK">

              <Node ID="CDOK">

                <Node ID="DS1" />

              </Node>

            </RegularDetection>

          </RegularDetections>

          <OnDemandDetections>

            <OnDemandDetection MonitorTypeStateID="OK">

              <Node ID="OnDemandReset" />

            </OnDemandDetection>

          </OnDemandDetections>

        </MonitorImplementation>

      </UnitMonitorType>

After adding consolidation module

<UnitMonitorType ID="WebApplication_bb654de2f38f475d87f10885e6358ed8.Total.AggregateDNSResolutionTime" Accessibility="Public">

        <MonitorTypeStates>

          <MonitorTypeState ID="WarningCriteriaTrue" NoDetection="false" />

          <MonitorTypeState ID="ErrorCriteriaTrue" NoDetection="false" />

          <MonitorTypeState ID="OK" NoDetection="false" />

        </MonitorTypeStates>

        <Configuration>

          <element name="RequestID" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" />

        </Configuration>

        <MonitorImplementation>

          <MemberModules>

            <DataSource ID="DS1" TypeID="WebApplication_bb654de2f38f475d87f10885e6358ed8.UrlDataSource" />

            <ProbeAction ID="OnDemandReset" TypeID="System!System.PassThroughProbe" />

<ConditionDetection TypeID="System!System.ConsolidatorCondition" ID="RepeatCount">

              <Consolidator>

                <ConsolidationProperties />

                <StoreState>false</StoreState>

                <TimeControl>

                  <WithinTimeSchedule>

                    <Interval>250</Interval>

                  </WithinTimeSchedule>

                </TimeControl>

                <CountingCondition>

                  <Count>3</Count>

                  <CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>

                </CountingCondition>

              </Consolidator>

            </ConditionDetection>

            <ConditionDetection ID="CDWarningCriteriaTrue" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

            <ConditionDetection ID="CDErrorCriteriaTrue" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

            <ConditionDetection ID="CDOK" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.OKCriteriaMatch">

              <DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>

            </ConditionDetection>

          </MemberModules>

          <RegularDetections>

            <RegularDetection MonitorTypeStateID="WarningCriteriaTrue">

             <Node ID="RepeatCount">

                  <Node ID="CDWarningCriteriaTrue">

                        <Node ID="DS1" />

                   </Node>

             </Node>

            </RegularDetection>

            <RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">

             <Node ID="RepeatCount">

                    <Node ID="CDErrorCriteriaTrue">

                       <Node ID="DS1" />

                    </Node>

            </Node>

            </RegularDetection>

            <RegularDetection MonitorTypeStateID="OK">

              <Node ID="CDOK">

                <Node ID="DS1" />

              </Node>

            </RegularDetection>

          </RegularDetections>

          <OnDemandDetections>

            <OnDemandDetection MonitorTypeStateID="OK">

              <Node ID="OnDemandReset" />

            </OnDemandDetection>

          </OnDemandDetections>

        </MonitorImplementation>

      </UnitMonitorType>