Operations Manager でのイベント ID 2115 関連のパフォーマンスの問題のトラブルシューティング

この記事は、Operations Manager (OpsMgr) データベースとデータ ウェアハウスのデータ挿入時間に影響するパフォーマンスの問題を特定してトラブルシューティングするのに役立ちます。 これは、サポートされているすべてのバージョンの System Center Operations Manager に適用されます

元の製品バージョン: System Center Operations Manager
元の KB 番号: 2681388

Operations Manager データベースのパフォーマンスの問題の一般的な兆候は、Operations Manager イベント ログにイベント ID 2115 イベントが存在することです。 通常、これらのイベントは、管理サーバー、または Microsoft SQL Serverを実行していて、Operations Manager または Operations Manager データ ウェアハウス データベースをホストしているサーバーにパフォーマンスの問題が存在することを示します。

背景

データベースとデータ ウェアハウスの書き込みアクション ワークフローは、管理サーバーで実行されます。 これらのワークフローは、最初にエージェントとゲートウェイ サーバーから受信したデータを内部バッファーに保持します。 次に、内部バッファーからこのデータを収集し、データベースとデータ ウェアハウスに挿入します。 最初のデータ挿入が完了すると、ワークフローによって別のバッチが作成されます。

データの各バッチのサイズは、バッチの作成時にバッファーで使用できるデータの量によって異なります。 ただし、バッチ内のデータ項目の最大数は 5,000 です。 受信データ項目の割合が増加した場合、または Operation Manager およびデータ ウェアハウス データベースのスループットに対するデータ項目の挿入スループットが低下した場合、バッファーはより多くのデータを蓄積し、バッチ サイズが大きくなります。

管理サーバーで実行される書き込みアクション ワークフローがいくつかあります。 たとえば、次のワークフローでは、さまざまなデータ型の Operations Manager データベースとデータ ウェアハウス データベースへのデータ挿入を処理します。

  • Microsoft.SystemCenter.DataWarehouse.CollectEntityHealthStateChange
  • Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
  • Microsoft.SystemCenter.DataWarehouse.CollectEventData
  • Microsoft.SystemCenter.CollectAlerts
  • Microsoft.SystemCenter.CollectEntityState
  • Microsoft.SystemCenter.CollectPublishedEntityState
  • Microsoft.SystemCenter.CollectDiscoveryData
  • Microsoft.SystemCenter.CollectSignatureData
  • Microsoft.SystemCenter.CollectEventData

管理サーバー上のデータベースまたはデータ ウェアハウスの書き込みアクション ワークフローでデータ バッチ挿入が遅くなる (たとえば、60 秒を超えると) 場合、ワークフローはイベント ID 2115 を Operations Manager イベント ログに記録し始めます。 このイベントは、データ バッチがデータベースまたはデータ ウェアハウスに挿入されるか、書き込みアクション ワークフロー モジュールによってデータが削除されるまで、1 分ごとにログに記録されます。 そのため、イベント ID 2115 は、データベースまたはデータ ウェアハウスへのデータの挿入中に発生する待機時間が原因でログに記録されます。 書き込みアクション ワークフロー モジュールによってデータが削除されるためにログに記録されるイベントの例を次に示します。

イベントの種類: エラー
イベント ソース: HealthService
イベント カテゴリ: なし
イベント ID: 4506
コンピューター: <RMS 名>
説明:
ID<>:"{F56EB161-4ABE-5BC7-610F-4365524F294E} のインスタンス <RMS NAME> に対して実行されているルール "Microsoft.SystemCenter.OperationalDataReporting.SubmitOperationalDataFailed.Alert" の未処理データが多すぎるため、データが削除されました。

詳しく見る

イベント ID 2115 には、次の 2 つの重要な情報が含まれています。

  • 問題が発生しているワークフローの名前
  • ワークフローがデータの最後のバッチを挿入し始めてから経過した時間

例:

ログ名: Operations Manager
ソース: HealthService
イベント ID: 2115
レベル: 警告
コンピューター: <RMS 名>
説明:
管理グループ管理グループ <名> のバインド データ ソースは、アイテムをワークフローに投稿しましたが、300 秒で応答を受信していません。 これは、ワークフローのパフォーマンスまたは機能の問題を示します。
ワークフロー ID: Microsoft.SystemCenter.CollectPublishedEntityState
インスタンス: <RMS 名>
インスタンス ID: {88676CDF-E284-7838-AC70-E898DA1720CB}

ワークフローは Microsoft.SystemCenter.CollectPublishedEntityState 、エンティティ状態データを Operations Manager データベースに書き込みます。 イベント ID 2115 メッセージは、ワークフローがエンティティ状態データのバッチを挿入しようとしていることを示し、300 秒前に開始したことを示 Microsoft.SystemCenter.CollectPublishedEntityState します。 この例では、Entity State データの挿入は完了していません。 通常、データのバッチの挿入は 60 秒以内に完了する必要があります。

ワークフロー ID に DataWarehouse という用語が含まれている場合、問題には Operations Manager データ ウェアハウス データベースが含まれます。 そうしないと、Operations Manager データベースへのデータの挿入が問題になります。

原因

次のいずれかの問題によって、このような問題が発生する可能性があります。

挿入の問題

この問題は、データベースのパフォーマンスの問題、またはエージェントから送信されたデータが多すぎることを示している可能性があります。 イベント ID 2115 の説明は、データベース (Operations Manager または Operations Manager データ ウェアハウス) へのデータの挿入に影響を与えるバックログがあることを示します。 これらのイベントは、さまざまな理由で発生する可能性があります。 たとえば、突然大量の探索データが発生する可能性があります。 または、データベース接続の問題が発生する可能性があります。 または、データベースがいっぱいである可能性があります。 または、ディスク関連またはネットワーク関連の制約がある可能性があります。

Operations Manager では、検出データの挿入は比較的労力のかかるプロセスです。 また、管理サーバーによって大量のデータが受信されるバーストが発生する可能性もあります。 これらのバーストは、イベント ID 2115 の一時的なインスタンスを引き起こす可能性がありますが、検出データの収集にイベント ID 2115 が一貫して表示される場合は、データベースまたはデータ ウェアハウスの挿入の問題、または管理パック内の検出ルールが多すぎる検出データを示す可能性があります。

インスタンス領域の変更または管理パックのインポートによって発生する Operations Manager 構成の更新は、データベース サーバーの CPU 使用率に直接影響します。 これは、データベースの挿入時間に影響する可能性があります。 管理パックのインポートまたは大規模なインスタンス領域の変更後、イベント ID 2115 メッセージが表示されます。 詳細については、「 Operations Manager で頻繁に構成変更を検出してトラブルシューティングする」を参照してください。

Operations Manager では、コストの高いユーザー インターフェイス クエリがデータベースのリソース使用率に影響を与える可能性があり、データベースの挿入時間の待機時間につながる可能性があります。 ユーザーが高価なユーザー インターフェイス操作を実行すると、イベント ID 2115 メッセージがログに記録される場合があります。

データベースがいっぱいまたはオフライン

Operations Manager または Operations Manager のデータ ウェアハウス データベースが空き領域が不足している場合、またはオフラインの場合、管理サーバーはイベント ID 2115 メッセージを Operations Manager イベント ログに記録し続ける必要があります。 また、保留中の時間が長くなります。

書き込みアクション ワークフローが Operations Manager または Operations Manager データ ウェアハウス データベースに接続できない場合、または無効な資格情報を使用して接続を確立している場合、データの挿入はブロックされ、このシナリオが解決されるまでイベント ID 2115 メッセージがログに記録されます。

構成と環境に関する問題

イベント ID 2115 メッセージは、Operations Manager データベース、データ ウェアハウス データベース、およびすべてのサポート環境が正しく構成されていない場合にパフォーマンスの問題を示す場合もあります。 この問題の考えられる原因を次に示します。

  • SQL ServerログまたはTempDBデータベースが小さすぎるか、領域不足です。
  • Operations Manager およびデータ ウェアハウス データベースから管理サーバーへのネットワーク リンクが帯域幅に制約されているか、待機時間が大きい。 このシナリオでは、管理サーバーを Operations Manager サーバーとデータ ウェアハウス サーバーと同じ LAN に配置することをお勧めします。
  • Operations Manager およびデータ ウェアハウス データベースで使用されるデータベース、ログ、または TempDB をホストするデータ ディスクが低速であるか、機能の問題が発生します。 このシナリオでは、RAID 10 を使用し、アレイ コントローラーでバッテリバックアップ書き込みキャッシュを有効にすることをお勧めします。
  • Operations Manager データベースまたはデータ ウェアハウス サーバーに十分なメモリまたは CPU リソースがありません。
  • Operations Manager データベースまたはデータ ウェアハウスをホストするSQL Server インスタンスはオフラインです。

また、管理サーバーは Operations Manager およびデータ ウェアハウス データベース サーバーと同じ LAN に配置することをお勧めします。

イベント ID 2115 メッセージは、データベースをホストするディスク サブシステム、ログ、または Operations Manager およびデータ ウェアハウス データベースによって使用されるディスク サブシステムが遅い場合、または TempDB 機能の問題が発生した場合にも発生する可能性があります。 RAID 10 を使用し、アレイ コントローラーでバッテリバックアップ書き込みキャッシュも有効にすることをお勧めします。

解決方法

パフォーマンス関連のイベント ID 2115 メッセージのトラブルシューティングを行う最初の手順は、イベント内で返されるデータ項目を特定することです。 たとえば、ワークフロー ID は、データ項目の種類 (検出、アラート、イベント、Perf など) と、関連するデータベースを示します。 ワークフロー ID に DataWarehouse という用語が含まれている場合、トラブルシューティングの焦点は Operations Manager データ ウェアハウス データベースにある必要があります。 それ以外の場合は、Operations Manager データベースに焦点を当てる必要があります。

シナリオ 1

次の例では、この問題にはワークフローが Microsoft.SystemCenter.CollectSignatureData 含まれます。

イベントの種類:
警告イベント ソース: HealthService
イベント カテゴリ: なし
イベント ID: 2115
コンピューター: <RMS 名>
説明: 管理グループ <管理グループ名> のバインド データ ソースは、アイテムをワークフローに投稿しましたが、300 秒で応答を受信していません。 これは、ワークフローのパフォーマンスまたは機能の問題を示します。
ワークフロー ID: Microsoft.SystemCenter.CollectSignatureData
インスタンス: <RMS 名>
インスタンス ID: {F56EB161-4ABE-5BC7-610F-4365524F294E}

解決策

次の SQL クエリを実行することで、この例のパフォーマンス署名データ収集規則を特定できます。 このクエリは、Operations Manager データベースに対してSQL Server Management Studioで実行する必要があります。

-- Return all Performance Signature Collection Rules
Use OperationsManager
select
managementpack.mpname,
rules.rulename
from performancesignature with (nolock)
inner join rules with (nolock)
on rules.ruleid = performancesignature.learningruleid
inner join managementpack with(nolock)
on rules.managementpackid = managementpack.managementpackid
group by managementpack.mpname, rules.rulename
order by managementpack.mpname, rules.rulename

このクエリは、すべてのパフォーマンス署名コレクション 規則と、それぞれの管理パック名を返します。 管理パック名とルール名の列が返されます。

管理サーバー上の次のパフォーマンス モニター カウンターは、データベースとデータ ウェアハウスの書き込みアクションの挿入バッチサイズと時間に関する情報を提供します。

  • OpsMgr DB 書き込みアクション モジュール(*)\Avg. バッチ サイズ
  • OpsMgr DB 書き込みアクション モジュール(*)\Avg. 処理時間
  • OpsMgr DW ライター モジュール(*)\Avg. バッチ処理時間(ミリ秒)
  • OpsMgr DW ライター モジュール(*)\Avg. バッチ サイズ

バッチ サイズが増加している場合 (既定のバッチ サイズは 5,000 項目など)、管理サーバーがデータベースまたはデータ ウェアハウスにデータを挿入するのが遅いか、エージェントまたはゲートウェイ サーバーからデータ項目のバーストを受信していることを示します。

データベースとデータ ウェアハウスの書き込みアクション アカウント の平均処理時間 カウンターを調べることで、データのバッチをデータベースとデータ ウェアハウスに書き込むのにかかる平均時間を把握できます。 データのバッチをデータベースに書き込むのにかかる時間によっては、チューニングの機会が得られます。

シナリオ 2

Operations Manager データベースまたはデータ ウェアハウス データベースをホストするSQL Server インスタンスがオフラインの場合、イベント ID 2115 とイベント ID 29200 が Operations Manager イベント ログに記録されます。 例:

ログ名: Operations Manager
ソース: HealthService
日付:
イベント ID: 2115
レベル: 警告
説明:
管理グループ MSFT のバインド データ ソースは、ワークフローに項目を投稿しましたが、60 秒で応答を受信していません。 これは、ワークフローのパフォーマンスまたは機能の問題を示します。
ワークフロー ID: Microsoft.SystemCenter.CollectEventData
インスタンス: name.contoso.local
インスタンス ID: {88676CDF-E284-7838-AC70-E898DA1720CB}

ログ名: Operations Manager
ソース: OpsMgr Config Service
イベント ID: 29200
レベル: エラー
説明:
OpsMgr Config Service は OpsMgr データベースへの接続を失っているため、データベースから更新プログラムを取得することはできません。 これは、自動的に復旧される可能性のある一時的な問題である可能性があります。 問題が解決しない場合は、通常、データベースに問題があることを示します。 理由:
SQL Server への接続を確立している間に、ネットワーク関連またはインスタンス固有のエラーが発生しました。 サーバーが見つからなかったか、アクセスできませんでした。 インスタンス名が正しいことと、リモート接続を許可するようにSQL Serverが構成されていることを確認します。 (プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Serverへの接続を開くことができませんでした)

解決策

この問題を解決するには、次の手順を実行します。

  1. Operations Manager データベースをホストするサーバーに接続します。
  2. サービス アプレットを開きます。
  3. SQL Server (MSSQLSERVER) サービスが開始され、実行されていることを確認します。
  4. SQL Server (MSSQLSERVER) サービスが開始および実行されていない場合は、サービスを開始します。

データベース接続が復元されると、ワークフローが正常に開始され、それぞれのデータベースにデータが再び格納されます。 イベント ID 31554 は、情報が正常に書き込まれたことを確認します。

ログ名: Operations Manager
ソース: Health Service モジュール
イベント ID: 31554
タスク カテゴリ: Data Warehouse
レベル: 情報
説明:
ワークフローは、Data Warehouseにデータを格納することに成功しました
1 つ以上のワークフローがこの影響を受けた。
ワークフロー名: Microsoft.SystemCenter.DataWarehouse.CollectEventData
インスタンス名: name.contoso.local
インスタンス ID: {88676CDF-E284-7838-AC70-E898DA1720CB}

シナリオ 3

イベント ID 2115 は、無効な RunAs 資格情報によって発生します。

Resolution

Operations Manager イベント ログで、次のイベントを確認します。 通常、これらのイベントは、認証アカウントData Warehouse SQL Server資格情報が正しくない可能性があることを示します。

ログ名: Operations Manager
ソース: HealthService
イベント ID: 7000
タスク カテゴリ: Health Service
レベル: エラー
説明: Health Service は、管理グループ管理グループ<名の RunAs アカウント アカウント<名>>にログオンできませんでした。 エラーは、ログオン エラー: 不明なユーザー名または不適切なパスワードです。(1326L)。 これにより、正常性サービスがこの RunAs アカウントを使用してアクションを監視または実行できなくなります

ログ名: Operations Manager
ソース: HealthService
イベント ID: 7015
タスク カテゴリ: Health Service
レベル: エラー
説明:
Health Service では、管理グループ管理グループ><名の RunAs アカウント アカウント<名>の将来の有効性を確認できません。 エラーは、ログオン エラー: 不明なユーザー名または不適切なパスワードです。(1326L)。

この問題を解決するには、次の手順を実行します。

  1. Operations Manager コンソールを開きます。
  2. [ 管理] を選択します
  3. [ 実行構成]\[アカウント] を選択します
  4. Data Warehouse SQL Server認証アカウントの適切な資格情報を構成します。

シナリオ 4

ディスク パフォーマンスの問題によって発生するイベント ID 2115。 これは、Operations Manager およびデータ ウェアハウス データベースによって使用されるデータベース、ログ、または TempDB をホストするデータ ディスクが低速であるか、問題が発生した場合に発生する可能性があります。 このシナリオでは、RAID 10 を使用し、アレイ コントローラーでバッテリバックアップ書き込みキャッシュも有効にすることをお勧めします。

解決策

まず、SQL Serverデータ ファイルまたはログ ファイルを含むすべてのドライブについて、次の物理ディスク カウンターをキャプチャします。

  • アイドル時間の割合: 報告されているディスクのアイドル時間の量。 50% 未満のものは、ディスクのボトルネックを示している可能性があります。

  • 平均ディスク キューの長さ: この値は、LUN 上にあるスピンドルの数の 2 倍を超えないようにしてください。 たとえば、LUN に 25 個のスピンドルがある場合は、 値 50 を使用できます。 ただし、LUN に 10 個のスピンドルがある場合、値 25 が高すぎます。 RAID 構成の RAID レベルとディスク数に基づいて、次の数式を使用できます。

    • RAID 0: すべてのディスクが RAID 0 セットで動作しています。

      Average Disk Queue Length <= # (Disks in the array) *2

    • RAID 1: ディスクの半分が動作しています。 そのため、ディスク キューにカウントできるのは、そのうちの半分だけです。

      Average Disk Queue Length <= # (Disks in the array/2) *2

    • RAID 10: ディスクの半分が動作しています。 そのため、ディスク キューにカウントできるのは、そのうちの半分だけです。

      Average Disk Queue Length <= # (Disks in the array/2) *2

    • RAID 5: すべてのディスクが RAID 5 セットで動作しています。

      Average Disk Queue Length <= # (Disks in the array/2) *2

      平均ディスク秒/転送: 1 つのディスク I/O を完了するために必要な秒数。
      平均ディスク秒/読み取り: ディスクからデータを読み取る平均時間 (秒単位)。
      平均ディスク秒/書き込み: ディスクにデータを書き込む平均時間 (秒単位)。
      ディスク バイト数/秒: ディスクとの間で転送される 1 秒あたりのバイト数。
      ディスク転送/秒: 1 秒あたりの入力操作と出力操作の数 (IOPS)。

      注:

      この一覧の最後の 3 つのカウンターは、一貫して約 .020 (20 ミリ秒) 以下の値を持ち、 .050 (50 ミリ秒) を超えないようにする必要があります。

      次のしきい値は、SQL Server パフォーマンスのトラブルシューティング ガイドに記載されています。

      • 10 ミリ秒未満: 非常に良い
      • 10-20 ミリ秒: 良い
      • 20-50 ミリ秒: 低速、注意が必要
      • 50 ミリ秒を超える: 重大な I/O ボトルネック
      • ディスク バイト数/秒: ディスクとの間で転送される 1 秒あたりのバイト数
      • ディスク転送/秒: 1 秒あたりの入力操作と出力操作の数 (IOPS)

    アイドル時間の割合が低い (10% 以下) 場合、これはディスクが完全に使用されていることを意味します。 この場合、この一覧の最後の 2 つのカウンター (ディスク バイト/秒ディスク転送/秒) は、ドライブの最大スループットをバイト単位と IOPS 単位で示します。 SAN ドライブのスループットは、スピンドルの数、ドライブの速度、チャネルの速度に応じて、非常に変動します。 ドライブでサポートする必要があるバイト数と IOPS については、SAN ベンダーに問い合わせてください。 アイドル時間の割合が低く、これら 2 つのカウンターの値がドライブの予想スループットを満たしていない場合は、SAN ベンダーにトラブルシューティングのヘルプを依頼してください。

次の記事では、パフォーマンスの問題SQL Serverトラブルシューティングする方法について詳しく説明します。

シナリオ 5

イベント ID 2115 がログに記録され、管理サーバーによって Operations Manager のData Warehouse アラートにデータを書き込むことができません。 また、管理サーバー コンピューターでも次のような現象が発生します。

  • 管理サーバーは、次のような 1 つ以上のアラートを生成します。

    ログ名: Operations Manager
    ソース: Health Service モジュール
    日付: 2022 年 1 月 1 日午後 12:00:00
    イベント ID: 31551
    タスク カテゴリ: Data Warehouse
    レベル: エラー
    キーワード: クラシック
    ユーザー: N/A
    コンピューター: <ManagementServerFQDN>
    説明:
    Data Warehouseにデータを格納できませんでした。 操作が再試行されます。
    例外 'SqlException': ログインによって要求されたデータベース "OperationsManagerDW" を開くことができません。 ログインに失敗しました。
    ユーザー 'CONTOSO\Action_Account' のログインに失敗しました。

    1 つ以上のワークフローがこの影響を受けた。

    ワークフロー名: Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
    インスタンス名: <ManagementServerFQDN>
    インスタンス ID: {AEC38E5Z-67A9-0406-20DB-ACC33BB9C494}
    管理グループ: <ManagementGroupName>

  • 次のイベントは、管理サーバーの Operations Manager イベント ログに記録されます。

    ログ名: Operations Manager
    ソース: HealthService
    日付: 2022 年 1 月 1 日午後 12:00:00
    イベント ID: 2115
    タスク カテゴリ: なし
    レベル: 警告
    キーワード: クラシック
    ユーザー: N/A
    コンピューター: <ManagementServerFQDN>
    説明:
    管理グループ <ManagementGroupName> のバインド データ ソースは、アイテムをワークフローに投稿しましたが、22560 秒で応答を受信していません。 これは、ワークフローのパフォーマンスまたは機能の問題を示します。
    ワークフロー ID: Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
    インスタンス: <ManagementServerFQDN>
    インスタンス ID: {AEC38E5Z-67A9-0406-20DB-ACC33BB9C494}

Resolution

この問題は、管理サーバーにデータ ウェアハウスの RunAs プロファイルに指定されたアカウントがない場合に発生する可能性があります。 この問題は、セカンダリ管理サーバーに影響する可能性が高くなります。 この問題を解決するには、次の手順を実行します。

  1. Operations Manager を実行しているコンピューターで、オペレーション コンソールを開きます。

  2. ナビゲーション ウィンドウで、[管理] を選択 します

  3. [ セキュリティ] を展開し、[ 実行プロファイル] を選択します。

  4. [実行プロファイル] ビューで、[Data Warehouse アカウント] をダブルクリックします。

  5. [実行プロファイルのプロパティ - Data Warehouse アカウントのプロパティ] ダイアログ ボックスで、[実行アカウント] タブを選択し、[新規] を選択します。

  6. [実行アカウント] の一覧で、[アクション アカウントData Warehouse選択します

  7. [ 名前 ] ボックスの一覧で、アラートを生成した管理サーバーを選択します。

  8. [ OK] を 2 回選択します。

  9. 手順 4 から 8 に従って、適切な RunAs アカウントを次のプロファイルに割り当てます。

    • Data Warehouse構成同期閲覧者アカウント
    • Data Warehouse レポートの展開アカウント
    • Data Warehouse SQL Server認証アカウント
  10. プロファイルごとに、RunAs プロファイルの名前と一致する RunAs アカウントを選択します。 たとえば、次の割り当てを行います。

    • Data Warehouse構成同期閲覧者アカウントをData Warehouse構成同期閲覧者アカウント プロファイルに割り当てます。
    • Data Warehouse レポート展開アカウントをData Warehouse レポート展開アカウント プロファイルに割り当てます。
    • Data Warehouse SQL Server認証アカウントをData Warehouse SQL Server認証アカウント プロファイルに割り当てます。
  11. アラートを生成した管理サーバーで、 OpsMgr Health Service を再起動します。

  12. 管理サーバーの Operations Manager イベント ログで、イベント ID 31554 イベントがログに記録されていることを確認します。 イベント ID 31554 は、モニターの状態が 正常に変更されたことを示します。 この変更により、アラートが解決されます。

シナリオ 6

イベント ID 2115 は、HP MPIO FF DSM XP 3.01 を実行しているサーバーで発生し、LUN が表示されません。 ユーザーがパフォーマンス モニターを開いてカウンターを追加しようとすると、パフォーマンス モニターハングし、このアプリケーションのハンドル数が急速に増加します。

回避策

この問題には、次の 2 つの回避策があります。

  • HPPerfProv.dll ファイルの名前を変更し、Windows を再起動します。 ファイルの名前が変更され、読み込まれていない場合、パフォーマンス モニターは問題なく動作します。
  • システムに少なくとも 1 つの LUN が存在します。