送信キューの使用率 (\%)

Microsoft.SystemCenter.HealthService.Performance.SendQueuePercentUsedMonitor (UnitMonitor)

このモニターは、ヘルス サービスの Health Service Management Groups\Send Queue \% Used カウンターを測定します。

Knowledge Base article:

概要

このモニターは、Health Service Management Groups\Send Queue % Used を測定して、次の状態を生成します。

モニター状態

送信キューの使用率 (%) のしきい値

重大

60 %

原因

これは、この System Center Management ヘルス サービスから親の管理サーバーへの接続が、低帯域幅接続または遅延の大きい接続であることが原因で発生する可能性があります。 また、親の管理サーバーが処理しきれない量のデータを収集するルールによって発生する場合もあります。特に、多数のエージェントが親の管理サーバーへ大量のデータを送信する場合などです。

解決策

System Center Management ヘルス サービスから親の管理サーバーへのネットワーク接続が飽和状態になっていないか、ネットワーク管理者に確認してください。 飽和状態になっている場合は、トラフィックを処理できるように、ネットワークをアップグレードする必要がある場合があります。

ネットワークをアップグレードできない場合 (System Center Management ヘルス サービスまたはゲートウェイ サーバーが遠隔地の支店にある場合など)、不要な収集ルールを無効にしてください。 無効にできるルールの種類と無効にすることの影響を以下に示します。

ルールの種類

ルールの目的

無効にした場合の影響

パフォーマンスの収集

オペレーション データベースまたはデータ ウェアハウスのいずれかまたは両方にパフォーマンス データを収集します。

パフォーマンス収集ルールを無効にした場合、パフォーマンス データを示す表示にデータが表示されなくなります。 このルールがデータをデータ ウェアハウスに収集していた場合、そのパフォーマンスに依存するレポートにデータが表示されなくなります。

イベントの収集

診断のイベント データを収集します。 イベントが警告を促すのには役立たない場合もありますが、分析的なトラブルシューティングやほぼリアルタイムのトラブルシューティングに役に立つ場合があります。

イベントの収集ルールを無効にした場合、イベント データを示す表示にデータが表示されなくなります。 データ ウェアハウスにデータを収集するルールの場合、そのイベントに依存するレポートにデータが表示されなくなります。

最後に、データが必要な場合は、ネットワーク経由で送信されるデータの量を減らすためにシステムに実装できる別のオプションとして、最適化されたパフォーマンス カウンター収集ルールとイベント統合収集ルールを使用する方法があります。 下の表は、これらのルールの長所とデータの要約方法を説明しています。

ルールの種類

長所

データの要約方法

最適化されたパフォーマンス収集ルール

パフォーマンス データが前回のサンプルから一定のパーセント以上逸脱している場合にのみ、パフォーマンス データのサンプルを送信します。 たとえば、前回のサンプルが 42 の場合、許容範囲 10% で新しいサンプルを収集するように構成されていると、次のサンプルは 42 +/- 4.2 を超えている必要があります (つまり、46.2 より大きいか、37.8 より小さい必要があります)。

構成された許容範囲を超えるパフォーマンス データのみがオペレーション データベースまたはデータ ウェアハウスに送信されるため、データの精度は下がります。 許容範囲を大きくするほど、精度が下がります。

統合イベント収集ルール

このタイプのイベント収集ルールは、このルールが構成されているパラメーターの 1 つが前回のイベントと異なる場合にのみデータを送信します。 たとえば、次の値が同一であるイベントを統合するように、統合収集ルールを構成できます。

  • イベント ソース

  • イベント ID

  • ソース コンピューター

  • 説明

次に、これらのイベントを統合するタイムフレームを構成できます (10 分など)。 上記のどの条件を満たすイベントが発生した場合でも、10 分に 1 回だけイベントが送信されます。送信されるたびに、繰り返し回数プロパティの値が増えていきます。 つまり、1 つのエージェントでこのイベントが頻繁に発生した場合でも、24 時間に最大 144 のイベントのみが送信されます。これは実際にイベント ログに記録される数よりも大幅に少ない可能性があります。

ユーザーは、どのイベント パラメーターとプロパティに統合するかを知っておく必要があります。 たとえば、[説明] で設定すると、[イベントの説明] が通常、一意である場合 (ユーザー名を含む場合など)、まだ多数のイベントが送信されます。 この例の場合、代わりにユーザー名フィールドを表す [イベント パラメーター] で統合します。

また、統合のタイムフレームが非常に長いと次のような影響があります。

  • [イベント ビュー] または [レポート] にイベントが表示されるまでの時間が長くなります (統合のタイムフレームの終わりまでにデータを統合する必要があるため)。

  • エージェントのリソース利用率が若干上昇します。 統合ルールの数が少ない場合、これは無視してもかまいません。 ルールの種類が多く、統合のタイムフレームが長い場合、それに応じて、リソース利用率は高くなります。

上記の種類のルールを作成するには、製品のヘルプを参照するか、コンソールのオーサリング スペースに移動してください。

Element properties:

TargetMicrosoft.SystemCenter.HealthService
Parent MonitorMicrosoft.SystemCenter.HealthService.PerformanceHealthRollup
CategoryPerformanceHealth
EnabledTrue
Instance NameHealth Service Management Groups
Counter NameSend Queue \% Used
Frequency60
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
{0}: このシステムのヘルス サービスの送信キューがいっぱいになっています
System Center Management ヘルス サービスがデータを受信している速度が、その送信可能な速度を上回っている場合は、溜まったデータがキューに入れられます。 キューのサイズは固定されています。キューがこのサイズに達すると、System Center Management ヘルス サービスはキューからデータを削除し始めます。 このアラートが生成されたときのこのシステムの "Send Queue \% Used" カウンターは {0} です。 この問題の原因とトラブルシューティングの詳細については、ナレッジを参照してください。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.HealthService.Performance.SendQueuePercentUsedMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ParentMonitorID="Microsoft.SystemCenter.HealthService.PerformanceHealthRollup" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthService.Performance.SendQueuePercentUsedMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="BelowThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Send Queue % Used</CounterName>
<ObjectName>Health Service Management Groups</ObjectName>
<InstanceName>$Target/ManagementGroup/Name$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>60</Frequency>
<Threshold>90</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>