Gerar Alerta para Evento CSM de Desempenho

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

Knowledge Base article:

Resumo

O estado do objeto é alterado para mau estado de funcionamento quando o número total de eventos de desempenho do lado do cliente no intervalo especificado excede o limiar o monitor.

Causas

Os alertas de desempenho do lado do cliente são gerados quando o tempo de carregamento da página ou a resposta de AJAX para a aplicação Web excede o limiar configurado. A temporização total é medida no browser, é correlacionada com o tempo de processamento do servidor e, em seguida, é separada nas seguintes categorias apresentadas nos detalhes do evento:

Quando o tempo de carregamento da página excede o limiar:

Quando o tempo de resposta para chamadas AJAX excede o limiar:

A quantidade significativa de tempo gasto numa ou em algumas categorias pode indicar a origem do problema de desempenho. Por exemplo, o tempo gasto a processar pedidos e respostas de rede pode sugerir uma conectividade lenta da rede. Tempos de resposta do servidor longos podem ser causados por código do servidor com execução lenta e podem ser resolvidos investigando os alertas de desempenho do lado do servidor associado. Um carregamento lento de DOM pode estar relacionado com a complexidade ou o tamanho excessivo da página da aplicação, ou também pode indicar um desempenho lento do browser do cliente. Tempos de execução longos do evento Window.OnLoad() ou JavaScript AJAX lento indicam um código ineficaz na página, ou podem dever-se a um desempenho lento do browser do cliente. Um elevado número de redirecionamentos de página podem dever-se a um código da aplicação complexo ou ineficaz.

Resoluções

Os alertas de desempenho do lado do cliente são gerados quando o tempo de execução excede o limiar configurado. As causas típicas da deterioração do desempenho da aplicação podem ser um desempenho lento do servidor Web, uma rede lenta ou um código da aplicação ineficaz.

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.CsmApplicationInstance
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Exceção de Desempenho do Cliente
{0}. O limiar configurado de {1} ms para {2} em {3} foi excedido. Para mais informações, utilize a seguinte hiperligação: $Url[Query='{4}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.CsmApplicationInstance.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.CsmApplicationInstance" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.Csm.LobDataProvider">
<Name>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$ (Client)</Name>
<AspectType>performance</AspectType>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.CsmApplicationInstance.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/log/properties/property[name="scomProblemDescription"]/value$</AlertParameter1>
<AlertParameter2>$Data/EventData/log/alertingThreshold$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
<AlertParameter5>$Data/EventData/ViewDetail$</AlertParameter5>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>