Generar alerta para evento de APM de rendimiento de transacción

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

Knowledge Base article:

Resumen

El estado de la instancia pasa a ser incorrecto si el número total de eventos de rendimiento por período de tiempo definido supera el umbral del monitor.

Causas

Se generan alertas de rendimiento de aplicación cuando el tiempo de ejecución supera el umbral de alerta configurado. En los detalles de la alerta se divide el tiempo de ejecución por porcentaje dedicado a diversos tipos de llamadas de función. Las llamadas de base de datos excesivamente largas pueden deberse a un problema en el servidor o a la estructura y la complejidad de la consulta. Los tiempos largos de E/S de archivos pueden deberse a problemas en el servidor de archivos. Pueden producirse problemas de rendimiento de servicio web porque el servicio web o el servidor en el que reside se encuentran inactivos, o porque hay un problema en el código del servicio web. Los tiempos largos de ejecución interna de las aplicaciones pueden deberse a un código complejo o ineficiente.

Resoluciones

Se generan alertas de rendimiento de aplicación cuando el tiempo de ejecución supera el umbral configurado. El deterioro típico del rendimiento de una aplicación puede deberse a una llamada larga a una base de datos o servicio web, a una llamada lenta de comunicación remota .NET o de COM+, o a un código de aplicación ineficiente.

Para tener acceso a información adicional acerca de esta alerta, use el vínculo a los detalles del evento disponible en la Descripción de alerta y en la pestaña Contexto de alerta. El vínculo abre el evento en la consola de Application Diagnostics. La consola de diagnóstico de aplicaciones incluye información específica para este evento, así como los eventos relacionados y similares que se hayan detectado.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebServiceTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Excepción de rendimiento de transacción
La transacción {3} para la aplicación {1} en {2} ha superado el umbral configurado de {0} ms. Para obtener más información utilice el siguiente vínculo: $Url[Query='{4}']/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.AlertPerformanceAspectRule" 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>performance</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.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.Transaction"]/PerformanceThreshold$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</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>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>