Générer une alerte pour l'événement CSM de performance

Microsoft.SystemCenter.Apm.CsmApplicationInstance.AlertPerformanceAspectRule (Rule)

Knowledge Base article:

Résumé

L'état de l'objet devient non intègre lorsque le nombre total d'événements de performance côté client dans l'intervalle spécifié dépasse le seuil d'analyse.

Causes

Des alertes de performances côté client sont générées lorsque le temps de chargement de la page ou une réponse AJAX pour l'application Web dépasse le seuil configuré. Le temps total est mesuré sur le navigateur Web, est corrélé avec le temps de traitement serveur et est réparti dans les catégories suivantes affichées dans les détails de l'événement :

Lorsque le temps de chargement de la page dépasse le seuil :

Lorsque le temps de réponse pour les appels AJAX dépasse le seuil :

Un temps considérable passé dans une ou plusieurs catégories peut indiquer la cause initiale du problème de performances. Par exemple, le temps consacré au traitement des demandes réseau et des réponses peut supposer une connectivité réseau lente. De longs temps de réponse du serveur peuvent être dus à un code serveur d'exécution lente et peuvent être résolus par l'examen des alertes de performances côté serveur associées. Un chargement lent de DOM peut être associé à une complexité ou une taille excessive de la page d'application, ou peut également indiquer des performances lentes du navigateur client. De longs temps d'exécution pour l'événement Window.OnLoad() ou un JavaScript AJAX lent indiquent un code inefficace sur la page ou peuvent être dus à des performances lentes du navigateur client. Un grand nombre de redirections de page peut entraîner des codes d'application complexes ou inefficaces.

Résolutions

Les alertes de performances côté client sont générées lorsque le temps d'exécution dépasse le seuil configuré. Les causes classiques de dégradation des performances d'application peuvent être des performances lentes du serveur Web, un réseau lent ou un code d'application inefficace.

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.CsmApplicationInstance
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Exception de performances du client
{0}. Le seuil configuré de {1} ms pour {2} sur {3} a été dépassé. Pour plus d'informations, utilisez le lien suivant : $Url[Query='{4}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.CsmApplicationInstance.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.CsmApplicationInstance" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.Csm.LobDataProvider">
<Name>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$ (Client)</Name>
<AspectType>performance</AspectType>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.CsmApplicationInstance.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/log/properties/property[name="scomProblemDescription"]/value$</AlertParameter1>
<AlertParameter2>$Data/EventData/log/alertingThreshold$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
<AlertParameter5>$Data/EventData/ViewDetail$</AlertParameter5>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>