Gerar Alerta para Evento APM de Desempenho da Transação

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

Knowledge Base article:

Resumo

O estado da instância fica danificado se o número total de eventos de desempenho por período de tempo definido exceder o limiar do monitor.

Causas

Os alertas de desempenho da aplicação são gerados quando o tempo de execução excede o limiar de alerta configurado. Os detalhes do alerta subdividem o tempo de execução por percentagem gasta nos vários tipos de chamadas de função. Chamadas de base de dados excessivamente longas podem dever-se a problemas com o servidor ou com a estrutura e complexidade da consulta. Tempos E/S de ficheiro longos podem dever-se a problemas com o servidor de ficheiros. Podem ocorrer problemas de desempenho com os Serviços Web, porque o Serviço Web, ou o servidor onde reside, está em baixo ou há um problema com o código do Serviço Web. Os tempos de execução interna longos para aplicações podem dever-se a um código complexo ou ineficaz.

Resoluções

Os alertas de desempenho da aplicação são gerados quando o tempo de execução excede o limiar configurado. As causas típicas de degradação de desempenho da aplicação podem dever-se a uma chamada longa de base de dados, chamada longa de serviços Web, chamada lenta de .NET Remoto ou chamada de COM+, ou código de aplicação ineficiente.

Pode aceder a mais informações sobre este alerta, utilizando a hiperligação para os detalhes do evento disponibilizada na Descrição do Alerta e no separador Contexto do Alerta. A hiperligação abre o evento na consola do Application Diagnostics. A consola do Application Diagnostics contém informações específicas a este evento, bem como a eventos relacionados e semelhantes que foram detetados.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebPageTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Exceção de Desempenho de Transação
A transação {3} para a aplicação {1} em {2} excedeu o limiar configurado de {0} ms. Para obter detalhes adicionais utilize a seguinte hiperligação: $Url[Query='{4}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.WebPageTransaction.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.WebPageTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.WebPageTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>performance</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.WebPageTransaction"]/PageName$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.WebPageTransaction.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>