트랜잭션 응용 프로그램 오류 APM 이벤트에 대한 경고 생성

Microsoft.SystemCenter.Apm.WebServiceTransaction.AlertAppFailureAspectRule (Rule)

Knowledge Base article:

요약

정의된 기간당 총 응용 프로그램 오류 이벤트 수가 모니터 임계값을 초과하는 경우 인스턴스 상태가 비정상이 됩니다.

원인

응용 프로그램 예외 경고는 응용 프로그램 작업 완료를 방해하는 처리되지 않은 예외 및 최상위 수준 예외로 인해 발생합니다. 발생한 예외 유형 및 그 결과에 따른 호출 스택이 이 경고 정보에 표시됩니다. 응용 프로그램 예외는 응용 프로그램 코드의 오류로 인해 발생하고, 이 예외를 해결하려면 함수에 사용된 데이터 값과 스택 추적을 분석해야 합니다.

해결 방법

응용 프로그램 오류 경고는 응용 프로그램의 처리되지 않은 예외로 인해 발생합니다. 이러한 예외를 해결하려면 예외 유형 및 예외가 발생한 함수를 확인하세요. 이러한 문제 유형을 해결하려면 보통 응용 프로그램 소스 코드에 액세스할 수 있어야 합니다.

경고 설명 및 경고 컨텍스트 탭에 있는 이벤트 정보에 대한 링크를 통해 이 경고에 대한 추가적인 세부 정보에 액세스할 수 있습니다. 링크를 클릭하면 Application Diagnostics 콘솔에서 이벤트가 열립니다. Application Diagnostics 콘솔에는 이 이벤트에 대한 정보와 검색된 관련 이벤트 및 비슷한 이벤트에 대한 정보가 포함되어 있습니다.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebServiceTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
트랜잭션 응용 프로그램 예외
{1}의 {0} 응용 프로그램에 대한 {5} 트랜잭션에서 응용 프로그램 오류가 발생했습니다. '{3}'의 메시지가 포함된 '{2}' 유형의 예외가 '{4}'에서 발생했습니다. 자세한 내용은 다음 링크를 참조하세요. $Url[Query='{6}']/APMEvent$

Member Modules:

ID Module Type TypeId RunAs 
LOBProvider DataSource Microsoft.SystemCenter.Apm.WebServiceTransaction.LobDataProvider Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.WebServiceTransaction.AlertAppFailureAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.WebServiceTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.WebServiceTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>applicationfailure</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.WebServiceTransaction"]/WebServiceName$/$Target/Property[Type="Microsoft.SystemCenter.Apm.WebServiceTransaction"]/WebServiceMethod$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.WebServiceTransaction.AlertAppFailureAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>ApplicationFailure</Custom1>
</WriteAction>
</WriteActions>
</Rule>