Generuj alerty dla zdarzeń APM wydajności

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

Knowledge Base article:

Podsumowanie

Stan wystąpienia staje się nieprawidłowy, jeśli łączna liczba zdarzeń wydajności w ustalonym okresie przekracza próg monitora.

Przyczyny

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.

Rozwiązania

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.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
Wyjątek wydajności serwera
Licznik „{0}” przekroczył skonfigurowany próg {1} ms w chwili {2}. Więcej informacji zawiera następująca strona: $Url[Query='{3}']/APMEvent$

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.LobDataProvider">
<Name>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</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.ApplicationInstance.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/problemDescription$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/PerformanceThreshold$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter3>
<AlertParameter4>$Data/EventData/ViewDetail$</AlertParameter4>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>