Generar alerta para el evento de error de aplicación de APM

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

Knowledge Base article:

Resumen

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

Causas

Las alertas de excepción de aplicación se deben a excepciones no controladas y de nivel superior que impiden que la aplicación realice una tarea. Los detalles de la alerta muestran el tipo de excepción y la pila de llamadas resultante. Las excepciones de aplicación se deben a errores en el código de la aplicación y requieren un análisis de seguimiento de la pila y de los valores de datos que se usan en las funciones.

Soluciones

Las alertas de error de aplicación surgen de excepciones no controladas en la aplicación. Para resolver estas excepciones, compruebe el tipo de excepción y la función en la que se produjo la excepción. Para solucionar problemas de este tipo suele ser necesario tener acceso al código fuente de la aplicación.

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 abrirá el evento en la consola de diagnóstico de aplicaciones. 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.ApplicationInstance
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Excepción de aplicación de servidor
Ha habido un error de aplicación de '{0}' en {1}. Se produjo una excepción de tipo '{2}' con el mensaje '{3}' en '{4}'. Para obtener más información, utilice el siguiente vínculo: $Url[Query='{5}']/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.AlertAppFailureAspectRule" 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>applicationfailure</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.AlertAppFailureAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Data/EventData/ViewDetail$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>ApplicationFailure</Custom1>
</WriteAction>
</WriteActions>
</Rule>