ワイルドカード一致ルールが失敗し、イベント ID 10303 が Operations Manager に記録される

この記事は、ワイルドカード一致ルールが失敗し、イベント ID 10303 が System Center Operations Manager に記録される問題を解決するのに役立ちます。

元の製品バージョン: System Center 2016 Operations Manager、System Center 2012 Operations Manager、System Center 2012 R2 Operations Manager
元の KB 番号: 3004791

現象

System Center 2016、System Center 2012 R2、System Center 2012 の Operations Manager コンポーネントでは、ワイルドカード一致ルールが失敗し、次のイベントがイベント ログに記録されます。

イベントの種類: エラー
イベント ソース: Health Service モジュール
イベント カテゴリ: なし
イベント ID: 10303
日付:
ユーザー: N/A
コンピューター: <ComputerName>
説明:
Microsoft Operations Manager 式フィルター モジュールは、データ項目の処理に失敗し、削除しました。

エラー: 0x80004005

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

ワークフロー名: <WorkflowName>
インスタンス名: <InstanceName>
インスタンス ID: {InstanceID}
管理グループ: <MG 名>

原因

この問題は、一致する行の長さが式フィルターで処理できる長さよりも長い場合に発生する可能性があります。

解決方法

重要

レジストリを変更する前に、このセクションの手順に慎重に従ってください。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 変更する前に、問題の発生に備えて復元用にレジストリのバックアップを作成してください。

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

  1. 次のレジストリ サブキーを作成します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Modules\Global\ExpressionFilter

  2. このサブキーの下に DWORD 値を作成します。

  3. DWORD 値の MaxExpressionDepth 名前を入力します。

  4. 500 から 100000 の間のデータ値を割り当てます。 既定値は 2000 です

注:

レジストリを変更すると、MonitoringHost.exe プロセスがクラッシュする可能性があり、Operations Manager イベント ログにイベント 4000 が表示されます。 この場合は、 ルール フィルターで別の演算子を使用してみてください。 たとえば、正規表現やワイルドカードを使用する代わりに Contains 演算子を試します。 問題が解決しない場合は、Microsoft サポートにお問い合わせください。