MID サーバーが CPU および JVM のメモリ使用量に関するリソースしきい値を超えた場合はインスタンスが警告を表示し、ユーザーは違反が発生したときにメール通知またはカスタムスクリプトを作成できます。

MID サーバーの問題 [ecc_agent_issue] テーブルは、MID サーバーが割り当てられた CPU およびメモリ リソースの設定されたしきい値を超えるとユーザーに警告します。これらの警告は、MID サーバーでパフォーマンスのデグレードまたはメモリ不足のエラーが発生する前に発行され、アドミニストレーターはリソースを増やして停止時間を回避できます。アドミニストレーターは、登録されたイベントを使用して、選択した受信者にメール通知を送信したり、しきい値違反を通知したり、その他のタイプの作業を行うカスタムスクリプトを作成したりすることができます。インスタンスは未解決の問題を最新の状態に保つために、MID サーバーの問題 [ecc_agent_issue] テーブルを更新し続けます。

デフォルトでは、CPU とメモリのしきい値のアラートは無効になっており、MID サーバーの問題 [ecc_agent_issue] テーブルにはアラートは発行されません。両方のタイプの警告を有効にするには、次のプロパティをシステムプロパティ [sys_properties] テーブルに追加し、その値を [true] に設定します。
  • mid.threshold.resource.breach.enable.cpu.alerts
  • mid.threshold.resource.breach.enable.memory.alerts
プラットフォームにシステムプロパティを追加する方法の詳細については、「sys_properties.list を使用したプロパティの追加」を参照してください。

評価プロセス

この処理は、アラートが有効かどうかに関係なく発生します。
  1. 各 MID サーバーは、10 分ごとにその CPU とメモリ消費評価指標をインスタンスに送信します。このインスタンスは、CPU メトリクスを ECC エージェントスカラーメトリクス [ecc_agent_scalar_metric] テーブルの [平均 CPU 使用率] フィールドに、メモリメトリクスを ECC エージェントメモリメトリクス [ecc_agent_memory_metric] テーブルの [最大メモリ使用率] フィールドに挿入します。
  2. 正常に挿入されると、次のビジネス ルールが各テーブルで実行され、適切な関数を呼び出すスクリプトインクルードが呼び出されます。各関数は、設定されたサンプリング間隔に基づいて、テーブルに挿入されたメトリクスセットの平均をとります。
    • [MID サーバーステータスの cpu 平均値を更新する]MIDResourceThresholdBreach.checkCpuUsage() スクリプトインクルードを呼び出します。
    • [MID サーバーステータスの最大メモリを更新する]MIDResourceThresholdBreach.checkMemoryUsage スクリプトインクルードを呼び出します。
    各関数は、設定されたしきい値とサンプリング間隔に基づいて、テーブルに挿入されたメトリクスセットの平均をとります。インスタンスはまず、各 MID Serverを調べ、その MID サーバーのカスタムしきい値またはサンプリング間隔を設定する設定パラメーターを探します。これらの属性の設定パラメーターが見つからない場合、インスタンスはシステムのプロパティ [sys_properties] テーブルで使用するカスタム値を探します。プロパティが見つからない場合、インスタンスはコードのデフォルトのしきい値と間隔の値を使用します。
    注: しきい値のパーセンテージとサンプリング間隔はどちらも設定可能です。詳細については、「しきい値とサンプリング間隔の設定」を参照してください。

警告プロセス

CPU またはメモリのしきい値のアラートが有効になっている場合、この処理が発生します。
  1. 集計平均メトリクス値が設定されたパーセントしきい値以上の場合、インスタンスは mid.threshold.resource.breach イベントをトリガーします。アドミニストレーターはこのイベントを使用して、しきい値違反アラートのメール通知の作成やカスタムスクリプトの作成が可能です。
  2. インスタンスは、[状態] の値を [新規][カウント] を 1 にして違反のレコードを MID サーバーの問題 [ecc_agent_issue] テーブルに挿入し、違反のすべての関連する詳細を含むメッセージを発行します。このメッセージの例は Mean CPU used % has exceeded threshold (96>=91) for a 40 minute interval span, occurring after start date 2017-01-11 14:25:19 のようになります。このメッセージは、MID サーバーの問題フォームの [簡単な説明] フィールドとイベントに表示されます。メッセージの任意の部分をメール通知にコピーできます。

MID サーバーの問題の状態

管理者が MID サーバーの問題 [ecc_agent_issue] テーブルの問題を最初に調べたら、管理者は問題の [状態][確認済み] に変更して問題が解決されていることを示すことができます。インスタンスが違反を検出するたびに、違反と既存の問題の照合を試みます。MID サーバーに既にその違反の [状態][新規] または [確認済み] の問題レコードがある場合、インスタンスは [前回検出日時] フィールドに現在の日付/時刻を入力し、既存のレコードの [カウント] フィールドをインクリメントして更新します。これにより、MID サーバーの問題 [ecc_agent_issue] テーブルに重複レコードが作成されるのを防ぎ、違反が再発した最初のインシデント以降の回数を記録します。管理者は、MID サーバーのリソースを徐々に増やして、[カウント] フィールドへの影響を観察できます。管理者は、カウンターがインクリメントを停止したときに MID サーバーに十分なリソースがあることがわかります。MID サーバーリソースが適切に調整されたら、アドミニストレーターは [状態][解決済み] に設定します。MID サーバーの問題に一致する新しいしきい値違反は [状態][解決済み] でログに記録され、インスタンスは新しい問題レコードを作成します。
注: 状態にかかわらず、30 日以内に更新されていない MID サーバーの問題 [ecc_agent_issue] テーブル内のレコードはすべて削除されます。

リソースの問題を解決するための推奨事項

管理者は、イベントの通知を受け取ったときに、MID サーバーに関するリソースの問題を解決する機会があります。MID サーバーリソースの負荷を軽減するには、次の推奨事項に従ってください。
  • [JVM メモリ]
    • MID サーバーにより大きい最大メモリを割り当てます。詳細については、「MID サーバーの JVM メモリサイズを設定する」を参照してください。
    • 別の MID サーバーを追加して作業負荷を共有します。詳細については、「MID サーバークラスター」を参照してください。
    • MID サーバーの同時処理量を減らします。これには、ディスカバリースケジュールのために IP アドレス範囲をより小さなセグメントに分割すること、またはインポートジョブ内のより小さなデータセグメントをロードすることが含まれます。
  • [CPU]:ホスト上のアクティビティを減らすか、または利用可能なリソースがより多い新しいホストに MID サーバーを移行します。
    注: MID サーバーでは、特に多数のターゲットに対する検出や複数の Power Shell セッションの同時実行など、ディスカバリー中にリソース使用率の急上昇が発生する可能性があります。ディスカバリーの実行が正常に停止すると、MID サーバーホストのリソース使用率は自動的に通常に戻ります。CPU 使用率を下げるには、MID サーバーを専用マシンでホストします。リソース使用率の問題が発生した場合は、各専用ホストマシンで 1 台の MID サーバーのみが実行されていることを確認してください。MID サーバーがパブリッククラウドでホストされている場合は、CPU リソースを追加して、ノイズの多い近接の問題を回避します。詳細については、「High CPU Usage on Host with MID Server(s) (MID サーバーを搭載したホストでの高 CPU 使用率) (KB0597639)」を参照してください。

リソースのしきい値評価に使用されるテーブル

テーブル 説明
MID サーバーの問題 [ecc_agent_issue] 設定された CPU およびメモリのしきい値の違反など、さまざまなタイプの MID サーバーの問題に関するデータを保存します。リソースのしきい値違反に使用されるフィールドは次のとおりです。
  • [カウント]:イベントが [解決済み] にマークされていない場合、以前レポートされたしきい値の違反が発生した回数。
  • [last_detected]:しきい値違反が検出された現在の日時。このフィールドは、[解決済み] にマークされていない場合、以前に検出された違反が見つかるたびに更新されます。
  • [メッセージ]:しきい値違反イベントをトリガーした条件を要約した説明メッセージ。このメッセージには、計算された CPU とメモリの実際の割合と、違反した設定済みのしきい値が含まれます。
  • [mid_server]:リソースしきい値の違反が発生している MID サーバーの名前。
  • [ソース]:違反の問題のソース。考えられるソースは次のとおりです。
    • [CpuMIDResourceThresholdBreach]:CPU しきい値問題のソース。
    • [MemoryMIDResourceThresholdBreach]:メモリしきい値問題のソース。
MID サーバーのステータス [ecc_agent_status] CPU リソースとメモリ リソースに使用されているパーセンテージを、各リソースの設定可能な間隔に平均して保存します。使用されるフィールドは次のとおりです。
  • 平均 CPU 使用率
  • 最大メモリ使用率
ECC エージェント スカラー指標 [ecc_agent_scalar_metric] 10 分ごとに各 MID サーバーによって挿入された CPU 使用率データを保存します。リソースしきい値アラートで使用されるテーブル フィールドは、[平均] です。
ECC エージェント メモリメトリクス [ecc_agent_memory_metric] 10 分ごとに各 MID サーバーによって挿入されたメモリ使用率データを保存します。リソースしきい値アラートで使用されるテーブル フィールドは、[max_used_pct] です。

しきい値違反をチェックするビジネス ルール

ビジネスルール 説明
MID サーバーステータスの cpu 平均値を更新する MID サーバーがレコードを ECC エージェント スカラー指標 [ecc_agent_scalar_metric] テーブルに挿入した後に実行されます。このビジネス ルールは、MID サーバーが設定されている CPU リソースのしきい値を超えたかどうかを判断するためにしきい値設定を評価する MIDResourceThresholdBreach スクリプトインクルード関数をトリガーします。
MID サーバーステータスの最大メモリを更新する MID サーバーがレコードを ECC エージェントメモリメトリクス [ecc_agent_memory_metric] テーブルに挿入した後に実行されます。このビジネス ルールは、MID サーバーが設定されているメモリ リソースのしきい値を超えたかどうかを判断するためにしきい値設定を評価する MIDResourceThresholdBreach スクリプトインクルード関数をトリガーします。

しきい値とサンプリング間隔の設定

デフォルトのしきい値の割合とサンプリング間隔を使用するか、次のいずれかの方法を使用してカスタム値を設定できます。
システムプロパティと設定パラメーターは同じ名前を使用します。
プロパティ/設定パラメーター 説明
mid.threshold.mean_cpu.aggregate_interval_span CPU 使用率データをサンプリングする間隔の 10 分単位の数。デフォルトの間隔は 30 分 (3 x 10 分) です。

デフォルト:3

mid.threshold.mean_cpu.percent しきい値違反アラートを開始する合計 CPU リソースの使用率。

デフォルト:95

mid.threshold.mean_max_memory.aggregate_interval_span メモリ使用率データをサンプリングする間隔の 10 分単位の数。デフォルトの間隔は 30 分 (3 x 10 分) です。

デフォルト:3

mid.threshold.mean_max_memory.percent しきい値違反アラートを開始する合計メモリ リソースの使用率。

デフォルト:95

MID サーバーリソースレポート

MID サーバーダッシュボードには CPU と JVM のメモリ リソースの消費量を表示する 2 つのレポートがあります。これらのレポートには、過去 30 日間の使用状況が表示されます。
  • [使用された CPU の平均パーセンテージ]:CPU 使用率の毎日の平均を見れば、MID サーバーホストが消費する CPU 処理の量がわかります。同じホストに配備された MID サーバーは、同じ CPU 使用率をレポートします。
  • [使用された最大メモリの平均パーセンテージ]:使用された最大パーセンテージ (max_used_pct) は、MID サーバーに十分なメモリリソースがあるかどうかを判断するための便利なメトリクスです。このメトリクスは、使用可能メモリ全体の使用された最大メモリの割合です。この傾向を経時的に見ることで、MID サーバーが必要とするメモリ量を視覚化することができます。