トランザクション パフォーマンスの CSM イベントのアラートを生成します。

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

Knowledge Base article:

概要

構成されたトランザクションでクライアント側のパフォーマンス イベントの合計数がモニターのしきい値を超えると、オブジェクトが異常な状態になります。

原因

クライアント側のパフォマンス アラートは、Web アプリケーションのページの読み込み時間が、構成されているしきい値を超えた場合に生成されます。合計時間は Web ブラウザーで測定され、サーバーの処理時間と関連付けされた後で、次のカテゴリに分類されてイベントの詳細に表示されます。

ページの読み込み時間がしきい値を超えた場合:

AJAX 呼び出しの応答時間がしきい値を超えた場合:

1 つまたは複数のカテゴリで非常に長い時間を要した場合は、パフォーマンスの問題の根本原因を示すことがあります。たとえば、ネットワーク要求と応答の処理に時間を要する場合は、ネットワーク接続が遅いことを意味することがあります。サーバーの応答時間が長い場合は、サーバー コードの実行が遅いことが原因として考えられます。関連付けられているサーバー側のパフォーマンス アラートを調べて問題を解決することができます。DOM の読み込みが遅い場合は、非常に複雑かサイズの大きなアプリケーション ページにリンクしている可能性があります。また、クライアント ブラウザーのパフォーマンスが遅いことを示す場合もあります。Window.OnLoad() イベントの実行時間が長かったり、AJAX JavaScript が遅い場合は、ページのコードの効率がよくないことを示します。クライアント ブラウザーのパフォーマンスが遅いことが原因の場合もあります。大量のページがリダイレクトされる場合は、アプリケーション コードが複雑であったり、効率がよくないことが原因として考えられます。

解決方法

クライアント側のパフォーマンス アラートは、パフォーマンスの実行時間が、構成されているしきい値を超えた場合に生成されます。通常、アプリケーションのパフォーマンスが低下する原因として、Web サーバーのパフォーマンスが低い、ネットワークが遅い、またはアプリケーション コードの効率がよくないことが挙げられます。

このアラートの詳細については、[アラートの説明] および [アラートのコンテキスト] タブに表示されるイベント詳細へのリンクを使用してご確認ください。リンクをクリックすると、Application Diagnostics コンソールで該当するイベントが開きます。Application Diagnostics コンソールには、そのイベントに固有の情報と、検出された関連イベントおよび類似イベントの情報が表示されます。

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmWebPageTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableFalse
Alert Message
クライアント ページ パフォーマンスの例外
{0}. トランザクション {4} について、{3} の {2} に対して構成されているしきい値 ({1} ミリ秒) を超えました。詳細については、次のリンク先を参照してください: $Url[Query='{5}']/APMEvent$

Member Modules:

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

Source Code:

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