Generuj alerty dla zdarzenia błędów transakcji CSM

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

Knowledge Base article:

Podsumowanie

Stan obiektu jest zmieniany na nieprawidłowy, gdy łączna liczba zdarzeń wyjątków po stronie klienta dla skonfigurowanej transakcji przekroczy próg monitora.

Przyczyny

Alerty wygenerowane w związku z błędami aplikacji po stronie klienta wynikają z nieobsługiwanych wyjątków JavaScript, które występują w przeglądarce internetowej. Szczegóły alertu zawierają informacje o wyjątku, a także ślad stosu i dodatkowe dane o stanie przeglądarki zarejestrowane w czasie występowania wyjątku. Wyjątki po stronie klienta są wywoływane przez błędy kodu aplikacji, a poznanie ich przyczyn wymaga analizy śladu stosu wyjątku i danych dostarczanych ze szczegółami alertu.

Rozwiązania

Aby rozpoznać nieobsługiwane wyjątki skryptu JavaScript w aplikacji po stronie klienta, należy sprawdzić szczegóły danych wyjątku dostarczone z alertem. Zwykle rozpoznanie wyjątków aplikacji wymaga dostępu do jej kodu źródłowego.

Więcej szczegółów alertu można uzyskać, korzystając z łącza do szczegółów zdarzenia dostępnego w opisie alertu i na karcie Kontekst alertu. To łącze powoduje otwarcie zdarzenia w konsoli programu Application Diagnostics. Konsola diagnostyki aplikacji zawiera informacje dotyczące danego zdarzenia oraz powiązanych i podobnych zdarzeń, które zostały wykryte.

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmWebPageTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Wyjątek aplikacji strony klienta
Wykryto {0} w aplikacji {1} na {2} dla transakcji {3}. Więcej informacji zawiera następująca strona: $Url[Query='{4}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.CsmWebPageTransaction.AlertAppFailureAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.CsmWebPageTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.Csm.CsmWebPageTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$ (Client)</Name>
<AspectType>applicationfailure</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmWebPageTransaction"]/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.CsmWebPageTransaction.AlertAppFailureAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/problemDescription$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter4>
<AlertParameter5>$Data/EventData/ViewDetail$</AlertParameter5>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>ApplicationFailure</Custom1>
</WriteAction>
</WriteActions>
</Rule>