Gerar Alerta para Evento APM de Falha de Aplicativo de Transação

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

Knowledge Base article:

Resumo

O estado da instância se tornará não íntegro se o número total de eventos de falha de aplicativo por período de tempo definido exceder o limite do monitor.

Causas

Alertas de exceção de aplicativo são provenientes de exceções sem tratamento e de nível superior que impedem o aplicativo de concluir uma tarefa. Os detalhes do alerta exibem o tipo de exceção lançada e a pilha de chamadas resultante. Exceções de aplicativo ocorrem devido a erros no código do aplicativo e exigem a análise do rastreamento de pilha e dos valores de dados usados em funções.

Resoluções

Alertas de falha de aplicativo são provenientes de exceções sem tratamento no aplicativo. Para resolver essas exceções, verifique o tipo de exceção e a função da qual a exceção foi lançada. Em geral, a resolução desses tipos de problemas requer acesso ao código-fonte do aplicativo.

Você pode obter mais detalhes sobre esse alerta através do link para os detalhes do evento, disponível na guia Descrição do Alerta ou Contexto do Alerta. O link abre o evento no console do Application Diagnostics. O console de diagnósticos de aplicativo contém informações específicas desse evento e, também, de eventos relacionados ou semelhantes que foram detectados.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebServiceTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Exceção de Aplicativo de Transação
A transação {5} para o aplicativo {0} em {1} teve uma falha de aplicativo. Foi lançada uma exceção do tipo '{2}' com uma mensagem de '{3}' em '{4}'. Para obter detalhes adicionais, use o link a seguir: $Url[Query='{6}']/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.AlertAppFailureAspectRule" 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>applicationfailure</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.AlertAppFailureAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="AL!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="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>ApplicationFailure</Custom1>
</WriteAction>
</WriteActions>
</Rule>