Stan wystąpienia staje się nieprawidłowy, jeśli łączna liczba zdarzeń wydajności w ustalonym okresie przekracza próg monitora.
Alerty wydajności aplikacji są generowane, gdy czas wykonania przekracza skonfigurowany próg alertu. Szczegóły alertu pokazują czas wykonania w rozbiciu procentowym na poszczególne typy wywołań funkcji. Zbyt długie wywołania bazy danych mogą być spowodowane problemami z serwerem lub strukturą i złożonością kwerendy. Długie czasy trwania operacji we/wy mogą wynikać z problemów z serwerem plików. Problemy z wydajnością usług sieci Web mogą wynikać z niedziałania usługi bądź serwera, na którym jest uruchamiana, lub problemów z kodem usługi. Zbyt długie czasy wykonania aplikacji mogą być wynikiem złożonego lub mało wydajnego kodu.
Alerty wydajności aplikacji są generowane, jeśli czas wykonania przekracza skonfigurowany próg. Typowe przyczyny spadku wydajności aplikacji to długie wywołania bazy danych, długie wywołania usług sieci Web, powolne wywołania zdalnych obiektów .NET lub COM+ albo niewydajny kod aplikacji.
Więcej szczegółów alertu można uzyskać, korzystając z łącza do szczegółów zdarzenia dostępnego w opisie alertu i na karcie Kontekst alertu. To łącze powoduje otwarcie zdarzenia w konsoli diagnostyki aplikacji. Konsola diagnostyki aplikacji zawiera informacje dotyczące danego zdarzenia oraz powiązanych i podobnych zdarzeń, które zostały wykryte.
Target | Microsoft.SystemCenter.Apm.FunctionTransaction | ||
Category | Alert | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
LOBProvider | DataSource | Microsoft.SystemCenter.Apm.FunctionTransaction.LobDataProvider | Default |
AlertWriteAction | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.Apm.FunctionTransaction.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="true" Target="Microsoft.SystemCenter.Apm.FunctionTransaction">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.FunctionTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>performance</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.FunctionTransaction"]/FunctionName$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.FunctionTransaction.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.SystemCenter.Apm.Transaction"]/PerformanceThreshold$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="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>