Générer une alerte pour l'événement APM d'échec d'application de transaction

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

Knowledge Base article:

Résumé

L'état d'instance devient non intègre si le nombre total d'événements d'échec d'applications par période définie dépasse le seuil d'analyse.

Causes

Les alertes d'exception des applications sont dues aux exceptions non gérées et de niveau supérieur qui empêchent l'application de terminer une tâche. Les détails de l'alerte affichent le type d'exceptions renvoyé et la pile des appels qui en résulte. Les exceptions d'application sont dues à des erreurs dans le code de l'application et requièrent une analyse du suivi de la pile et des valeurs des données utilisées dans les fonctions.

Résolutions

Les alertes d'échec des applications sont dues aux exceptions non gérées dans l'application. Pour résoudre ces exceptions, vérifiez le type de l'exception et la fonction ayant renvoyé l'exception. La résolution de ces types de problèmes requiert en général l'accès au code source de l'application.

Vous pouvez accéder à des informations supplémentaires concernant cette alerte en utilisant le lien qui pointe vers les détails d'événements disponibles dans la description de l'alerte et sous l'onglet Contexte de l'alerte. Ce lien ouvre l'événement dans la console Application Diagnostics. La console Application Diagnostics contient des informations spécifiques à cet événement, ainsi que des informations relatives à des événements connexes et similaires qui ont été détectés.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebServiceTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Exception d'application de transaction
Un échec d'application a été détecté dans la transaction {5} pour l'application {0} sur {1}. Une exception de type « {2} » accompagnée du message « {3} » a été levée dans « {4} ». Pour plus d'informations, utilisez le lien suivant : $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>