Warnung für Transaktionsanwendungsfehler-APM-Ereignisse generieren

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

Knowledge Base article:

Zusammenfassung

Fehler im Instanzstatus treten dann auf, wenn die Gesamtzahl der Anwendungsfehlerereignisse pro definiertem Zeitraum den Monitorschwellenwert überschreitet.

Ursachen

Anwendungsausnahmewarnungen ergeben sich aus nicht behandelten Ausnahmen der obersten Ebene, die die ordnungsgemäße Ausführung eines Tasks durch die Anwendung verhindern. Die Warnungsdetails enthalten den Ausnahmetyp und die daraus entstehende Aufrufliste an. Anwendungsausnahmen werden von Fehlern im Anwendungscode verursacht. Sie erfordern eine Analyse der in Funktionen verwendeten Stapelüberwachung und Datenwerte.

Lösungen

Anwendungsfehlerwarnungen entstehen aufgrund von nicht behandelten Ausnahmen in der Anwendung. Zur Behebung dieser Ausnahmen, überprüfen Sie den Ausnahmetyp und die Funktion, die die Ausnahme erzeugt hat. Zum Lösen dieser Art von Problemen ist in der Regel der Zugriff auf den Quellcode der Anwendung erforderlich.

Über den Link zu den Ereignisdetails, der in der Warnungsbeschreibung und auf der Registerkarte "Warnungskontext" verfügbar ist, können Sie auf weitere Details zu dieser Warnung zugreifen. Durch Klicken auf den Link wird das Ereignis in der Application Diagnostics-Konsole geöffnet. Die Anwendungsdiagnose enthält Informationen zu dem betreffenden Ereignis sowie zu zugehörigen und ähnlichen Ereignissen, die erkannt wurden.

Element properties:

TargetMicrosoft.SystemCenter.Apm.MvcTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Transaktionsanwendungsausnahme
Anwendungsfehler bei der Transaktion "{5}" für die Anwendung "{0}" auf {1}. Es wurde eine Ausnahme des Typs "{2}" mit der Meldung "{3}" in "{4}" erzeugt. Verwenden Sie den folgenden Link, um Detailinformationen zu erhalten: $Url[Query='{6}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.MvcTransaction.AlertAppFailureAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.MvcTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>applicationfailure</AspectType>
<ControllerName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ControllerName$</ControllerName>
<ActionName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ActionName$</ActionName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.MvcTransaction.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>