.NET Apps/\% Exception Events/sec 수집

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

.NET Apps/\% Exception Events/sec 성능 카운터를 수집합니다.

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 Apps/\% Exception Events/sec가 임계값 초과
.NET Apps/\% Exception Events/sec 성능 카운터가 {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>