Vydat výstrahu pro událost APM selhání aplikace při transakci

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

Knowledge Base article:

Souhrn

Stav instance se změní na Není v pořádku, pokud celkový počet událostí selhání aplikace za definované časové období překročí prahovou hodnotu monitorování.

Příčiny

Příčinou výstrah výjimek aplikace jsou neošetřené výjimky a výjimky nejvyšší úrovně, které neumožňují, aby aplikace dokončila úlohu. Podrobnosti výstrahy uvádějí typ vydané výjimky a zobrazují výsledný zásobník volání. Výjimky aplikací jsou způsobeny chybami v kódu aplikace a vyžadují analýzu trasování zásobníku a hodnot dat používaných ve funkcích.

Řešení

Výstrahy selhání aplikace jsou vyvolány neošetřenými výjimkami v aplikaci. Chcete-li tyto výjimky vyřešit, zkontrolujte typ výjimky a funkci, z níž byla výjimka vydána. Řešení těchto typů problémů obvykle vyžaduje přístup ke zdrojovému kódu aplikace.

Další podrobnosti k této výstraze zobrazíte otevřením odkazu na podrobnosti události, které jsou k dispozici na kartě Popis výstrahy a Kontext výstrahy. Odkaz otevře událost v konzole Application Diagnostics. Konzola Application Diagnostics obsahuje konkrétní informace o této události, ale také o souvisejících a podobných událostech, které byly nalezeny.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebPageTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Výjimka aplikace transakce
Transakce {5} pro aplikaci {0} na {1} zaznamenala selhání aplikace. Výjimka typu '{2}' se zprávou '{3}' byla vydána v '{4}'. Další podrobnosti naleznete pod tímto odkazem: $Url[Query='{6}']/APMEvent$

Member Modules:

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

Source Code:

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