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

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

Knowledge Base article:

Resumo

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

Causas

Alertas de desempenho de aplicativo são gerados quando o tempo de execução excede o limite de alerta configurado. Os detalhes do alerta decompõem o tempo de execução de acordo com a porcentagem gasta em vários tipos de chamadas de função. Chamadas de banco de dados excessivamente longas podem estar relacionadas a um problema com o servidor ou com a estrutura e a complexidade da consulta. Tempos longos de E/S de arquivo podem estar relacionados a problemas com o servidor de arquivos. Problemas de desempenho de serviços Web podem ocorrer porque o serviço Web ou o servidor no qual ele reside está inoperante ou porque há um problema no código desse serviço Web. Tempos longos de execução interna para aplicativos podem ser o resultado de um código complexo ou ineficiente.

Resoluções

Alertas de desempenho de aplicativo são gerados quando o tempo de execução excede o limite configurado. As causas da típica degradação do desempenho do aplicativo podem estar relacionadas a uma chamada longa de banco de dados, a uma chamada longa de serviço Web, a uma chamada Remota lenta do .NET, a uma chamada COM+ lenta ou a um código de aplicativo ineficiente.

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 Desempenho de Transação
A transação {3} para o aplicativo {1} em {2} excedeu o limite configurado de {0} ms. Para obter detalhes adicionais, use o link a seguir: $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>