Vydat výstrahu pro událost APM výkonu transakce

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

Knowledge Base article:

Souhrn

Stav instance se změní na Není v pořádku, pokud celkový počet událostí výkonu za definované časové období překročí prahovou hodnotu monitorování.

Příčiny

Výstrahy výkonu aplikace jsou generovány, pokud čas provádění překročí nakonfigurovanou prahovou hodnotu pro výstrahy. Detaily výstrahy analyzují čas provádění podle procent času stráveného v různých typech volání funkcí. Nadměrně dlouhá volání databáze mohou být způsobena buď problémem se serverem, nebo se strukturou a složitostí dotazu. Dlouhé časy vstupu a výstupu mohou být způsobeny problémy se souborovým serverem. Problémy s výkonem webových služeb mohou být způsobeny tím, že webová služba nebo server, na němž je umístěna, jsou vypnuty nebo došlo k problému v kódu webové služby. Dlouhé časy interního provedení u aplikací mohou být způsobeny složitým nebo neefektivním kódem.

Řešení

Výstrahy výkonu aplikace jsou generovány, pokud čas provádění překročí nakonfigurovanou prahovou hodnotu. Typickými příčinami snížení výkonu aplikace mohou být dlouhé volání databáze, dlouhé volání webové služby, pomalé dálkové volání .NET nebo volání COM+ nebo neefektivní kód aplikace.

Další podrobnosti k této výstraze zobrazíte otevřením odkazu na podrobnosti události, které jsou k dispozici na kartě Popis výstrahy a Kontext výstrahy. Odkaz otevře událost v konzole Application Diagnostics. Konzola Application Diagnostics obsahuje konkrétní informace o této události, ale také o souvisejících a podobných událostech, které byly nalezeny.

Element properties:

TargetMicrosoft.SystemCenter.Apm.WebServiceTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Výjimka výkonu transakce
Transakce {3} pro aplikaci {1} na {2} překročila nakonfigurovanou prahovou hodnotu {0} ms. Další informace naleznete pod tímto odkazem: $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>