Générer une alerte pour l'événement APM de connectivité de transaction

Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule (Rule)

Knowledge Base article:

Résumé

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

Causes

Les alertes de connectivité sont générées à la suite d'erreurs de connectivité de l'application qui empêchent le flux normal de l'application. Le champ Détail de l'alerte affiche une description contenant le nom de la fonction qui a échoué et le contexte des opérations pour résoudre le problème. Les exceptions de configuration sont dues à des problèmes qui sont habituellement résolus en apportant des modifications à l'environnement ou à la configuration sans intervenir au niveau du code source. Ce type de problème peut être lié à un serveur de base de données ou un service Web inaccessible ou incorrect, ou à un fichier non existant.

Résolutions

Les alertes de connectivité viennent d'exceptions non gérées en raison de problèmes d'accès aux ressources externes. Pour résoudre ces problèmes, vérifiez les éléments suivants :

1) la description de l'alerte et des événements ;

2) les cibles d'opération, par exemple, Microsoft SQL Server ;

3) les méthodes ayant tenté une exécution, par exemple, la connexion au serveur ;

4) la connexion dans le contexte de sécurité et les détails d'identité pour l'exécution. Utilisez ces informations pour vérifier l'environnement et la configuration de manière à assurer la disponibilité des ressources externes.

Element properties:

TargetMicrosoft.SystemCenter.Apm.FunctionTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Exception de connectivité de transaction
Un échec de connectivité 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.FunctionTransaction.LobDataProvider Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule" Enabled="false" ConfirmDelivery="true" Target="Microsoft.SystemCenter.Apm.FunctionTransaction">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.FunctionTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>connectivity</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.FunctionTransaction"]/FunctionName$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="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="Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Connectivity</Custom1>
</WriteAction>
</WriteActions>
</Rule>