Above Threshold Exception Rate Monitor Template

AVIcode.DotNet.SystemCenter.ClientTransactions.AboveThresholdExceptionRateMonitor.Template (Template)

Source Code:

<Template ID="AVIcode.DotNet.SystemCenter.ClientTransactions.AboveThresholdExceptionRateMonitor.Template" Purpose="RuleCreation">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LocaleId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MonitorId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MonitorName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ErrorMonitorState" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AlertName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AlertDescription" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AlertAutoResolve" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TargetClass" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="InstanceName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Frequency" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Threshold" type="xsd:double"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Hosts" type="xsd:string"/>
</Configuration>
<References>
<Reference ID="Performance"/>
<Reference ID="Health"/>
<Reference ID="Windows"/>
<Reference ID="DotNet"/>
<Reference ID="System"/>
</References>
<Implementation>
<Monitoring>
<Monitors>
<UnitMonitor ID="$TemplateConfig/MonitorId$" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TargetClass$" ParentMonitorID="$Reference/Health$System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="$Reference/DotNet$AVIcode.DotNet.SystemCenter.AboveThresholdMonitorType" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="$TemplateConfig/MonitorId$.Alert">
<AlertOnState>$TemplateConfig/ErrorMonitorState$</AlertOnState>
<AutoResolve>$TemplateConfig/AlertAutoResolve$</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$TemplateConfig/Threshold$</AlertParameter1>
<AlertParameter2>$TemplateConfig/InstanceName$</AlertParameter2>
<AlertParameter3>$Data/Context/EventData/Value$</AlertParameter3>
<AlertParameter4>$Data/Context/EventDescription$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="$TemplateConfig/ErrorMonitorState$" MonitorTypeStateID="OverThreshold" HealthState="$TemplateConfig/ErrorMonitorState$"/>
</OperationalStates>
<Configuration>
<ApplicationName>$Target/Host/Property[Type="$Reference/System$System.Entity"]/DisplayName$</ApplicationName>
<Aspect>exception</Aspect>
<ComputerName>$Target/Host/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Exceptions/sec</CounterName>
<ObjectName>.NET CSM Statistic</ObjectName>
<InstanceName>$TemplateConfig/InstanceName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/Frequency$</Frequency>
<Threshold>$TemplateConfig/Threshold$</Threshold>
</Configuration>
</UnitMonitor>
</Monitors>
</Monitoring>
<Presentation>
<StringResources>
<StringResource ID="$TemplateConfig/MonitorId$.Alert"/>
</StringResources>
</Presentation>
<LanguagePacks>
<LanguagePack ID="$TemplateConfig/LocaleId$">
<DisplayStrings>
<DisplayString ElementID="$TemplateConfig/MonitorId$">
<Name>$TemplateConfig/MonitorName$</Name>
<Description>Above threshold monitor that becomes unhealthy if the total number of exception events per predefined escalation time period exceeds an escalation threshold.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/MonitorId$" SubElementID="Success">
<Name>Success</Name>
<Description>Monitor state.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/MonitorId$.Alert">
<Name>$TemplateConfig/AlertName$</Name>
<Description>$TemplateConfig/AlertDescription$</Description>
</DisplayString>
</DisplayStrings>
<KnowledgeArticles>
<KnowledgeArticle ElementID="$TemplateConfig/MonitorId$" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The instance state becomes unhealthy if the total number of exception events per predefined escalation time period exceeds an escalation threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>Application availability alerts are generated when the number of exception events exceeds the configured monitor threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Application failure alerts arise from java script exceptions. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.</maml:para>
<maml:para>To access details about this alert click on the "View additional knowledge..." link on the Alert Details view, and select the Alert Context tab. Additional event details will be available from the Click "here" link at the top of the Alert Context tab.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
</KnowledgeArticles>
</LanguagePack>
</LanguagePacks>
</Implementation>
</Template>