Собирать "Приложения .NET/\% событий исключения/с"

Microsoft.SystemCenter.Apm.ApplicationInstance.ExceptionRateMonitor (UnitMonitor)

Собирать значения счетчика производительности "Приложения .NET/\% событий исключения/с"

Knowledge Base article:

Сводка

Экземпляр переходит в неработоспособное состояние, если частота возникновения событий исключения за заданный промежуток времени превышает пороговое значение монитора.

Причины

Предупреждения об исключениях приложения создаются, когда частота возникновения событий исключения превышает пороговое значение монитора.

Увеличение значения этого счетчика происходит при возникновении необработанного исключения.

Решения

Для устранения этих исключений проверьте тип исключения и функцию, создавшую исключение. Устранение проблем такого типа обычно требует доступа к исходному коду приложения.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledFalse
Instance Name.NET Apps
Counter Name\% Exception Events/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
Превышено пороговое значение счетчика "Приложения .NET/\% событий исключения/с"
Значение счетчика "Приложения .NET/\% событий исключения/с" превысило настроенное пороговое значение {0} \%. Значение счетчика производительности было равно {1} \%.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.ApplicationInstance.ExceptionRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.ApplicationInstance.ExceptionRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorThreshold$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Exception Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>