Générer une alerte d'événement de performance APM

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

Knowledge Base article:

Résumé

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

Causes

Les alertes de performances des applications sont générées lorsque le temps d'exécution dépasse le seuil d'alerte configuré. Les détails d'alerte décomposent le temps d'exécution en pourcentage de temps passé dans les différents types d'appels de fonctions. Un problème de serveur ou de structure et complexité de la demande peut être à l'origine des appels excessivement longs de la base de données. Des problèmes de serveur de fichiers peuvent être à l'origine des temps d'E/S longs. Des problèmes de performances des services Web peuvent survenir en cas d'arrêt du service Web ou du serveur hébergeant le service ou en cas de problème dans le code du service Web. Des temps longs d'exécution interne des applications peuvent venir d'un code complexe ou inefficace.

Résolutions

Les alertes de performances des applications sont générées lorsque le temps d'exécution dépasse le seuil configuré. Un appel de base de données long, un appel de service Web long, un appel distant .NET lent, un appel COM+ lent ou du code d'application inefficace peuvent être autant de causes habituelles de la dégradation des performances des applications.

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

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.LobDataProvider">
<Name>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</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.ApplicationInstance.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/problemDescription$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/PerformanceThreshold$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter3>
<AlertParameter4>$Data/EventData/ViewDetail$</AlertParameter4>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>