MID Server リソースのしきい値アラート
MID Server が CPU および JVM のメモリ使用量に関するリソースしきい値を超えた場合はインスタンスが警告を表示し、ユーザーは違反が発生したときにメール通知またはカスタムスクリプトを作成できます。
MID Server の問題 [ecc_agent_issue] テーブルは、MID Server が割り当てられた CPU およびメモリ リソースの設定されたしきい値を超えるとユーザーに警告します。これらの警告は、MID Server でパフォーマンスのデグレードまたはメモリ不足のエラーが発生する前に発行され、管理者はリソースを増やして停止時間を回避できます。管理者は、登録されたイベントを使用して、選択した受信者にメール通知を送信したり、しきい値違反を通知したり、その他のタイプの作業を行うカスタムスクリプトを作成したりすることができます。インスタンスは未解決の問題を最新の状態に保つために、MID Server の問題 [ecc_agent_issue] テーブルを更新し続けます。
デフォルトでは、CPU とメモリのしきい値のアラートは無効になっており、MID Server の問題 [ecc_agent_issue] テーブルにはアラートは発行されません。両方のタイプの警告を有効にするには、次のプロパティをシステムプロパティ [sys_properties] テーブルに追加し、その値を [true] に設定します。
- mid.threshold.resource.breach.enable.cpu.alerts
- mid.threshold.resource.breach.enable.memory.alerts
評価プロセス
この処理は、アラートが有効かどうかに関係なく発生します。
- 各 MID Server は、10 分ごとにその CPU とメモリ消費評価指標をインスタンスに送信します。このインスタンスは、CPU 測定基準を ECC エージェント スカラー測定基準 [ecc_agent_scalar_metric] テーブルの [平均 CPU 使用率] フィールドに、メモリ測定基準を ECC エージェント メモリ測定基準 [ecc_agent_memory_metric] テーブルの [最大メモリ使用率] フィールドに挿入します。
- 正常に挿入されると、次のビジネス ルールが各テーブルで実行され、適切な関数を呼び出すスクリプトインクルードが呼び出されます。各関数は、設定されたサンプリング間隔に基づいて、テーブルに挿入された測定基準セットの平均をとります。
- [MID Server ステータスの cpu 平均値を更新する]:MIDResourceThresholdBreach.checkCpuUsage() スクリプトインクルードを呼び出します。
- [MID Server ステータスの最大メモリを更新する]:MIDResourceThresholdBreach.checkMemoryUsage スクリプトインクルードを呼び出します。
各関数は、設定されたしきい値とサンプリング間隔に基づいて、テーブルに挿入された測定基準セットの平均をとります。インスタンスはまず、各 MID Serverを調べ、その MID Server のカスタムしきい値またはサンプリング間隔を設定する設定パラメーターを探します。これらの属性の設定パラメーターが見つからない場合、インスタンスはシステムのプロパティ [sys_properties] テーブルで使用するカスタム値を探します。プロパティが見つからない場合、インスタンスはコードのデフォルトのしきい値と間隔の値を使用します。注:しきい値のパーセンテージとサンプリング間隔はどちらも設定可能です。詳細については、「しきい値とサンプリング間隔の設定」を参照してください。
警告プロセス
CPU またはメモリのしきい値のアラートが有効になっている場合、この処理が発生します。
- 集計平均測定基準値が設定されたパーセントしきい値以上の場合、インスタンスは mid.threshold.resource.breach イベントをトリガーします。管理者はこのイベントを使用して、しきい値違反アラートのメール通知の作成やカスタムスクリプトの作成が可能です。
- インスタンスは、[状態] の値を [新規]、[カウント] を 1 にして違反のレコードを MID Server の問題 [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 Server の問題フォームの [簡単な説明] フィールドとイベントに表示されます。メッセージの任意の部分をメール通知にコピーできます。
MID Server の問題の状態
管理者が MID Server の問題 [ecc_agent_issue] テーブルの問題を最初に調べたら、管理者は問題の [状態] を [確認済み] に変更して問題が解決されていることを示すことができます。インスタンスが違反を検出するたびに、違反と既存の問題の照合を試みます。MID Server に既にその違反の [状態] が [新規] または [確認済み] の問題レコードがある場合、インスタンスは [前回検出日時] フィールドに現在の日付/時刻を入力し、既存のレコードの [カウント] フィールドをインクリメントして更新します。これにより、MID Server の問題 [ecc_agent_issue] テーブルに重複レコードが作成されるのを防ぎ、違反が再発した最初のインシデント以降の回数を記録します。管理者は、MID Server のリソースを徐々に増やして、[カウント] フィールドへの影響を観察できます。管理者は、カウンターがインクリメントを停止したときに MID Server に十分なリソースがあることがわかります。MID Server リソースが適切に調整されたら、管理者は [状態] を [解決済み] に設定します。MID Server の問題に一致する新しいしきい値違反は [状態] が [解決済み] でログに記録され、インスタンスは新しい問題レコードを作成します。
注:
状態にかかわらず、30 日以内に更新されていない MID Server の問題 [ecc_agent_issue] テーブル内のレコードはすべて削除されます。
リソースの問題を解決するための推奨事項
管理者は、イベントの通知を受け取ったときに、MID Server に関するリソースの問題を解決する機会があります。MID Server リソースの負荷を軽減するには、次の推奨事項に従ってください。
- [JVM メモリ]:
- MID Server により大きい最大メモリを割り当てます。詳細については、「MID Serverの JVM メモリサイズを設定する」を参照してください。
- 別の MID Serverを追加して作業負荷を共有します。詳細については、「MID Server クラスタ」を参照してください。
- MID Server の同時処理量を減らします。これには、検出スケジュールのために IP アドレス範囲をより小さなセグメントに分割すること、またはインポート ジョブ内のより小さなデータ セグメントをロードすることが含まれます。
- [CPU]:ホスト上のアクティビティを減らすか、または利用可能なリソースがより多い新しいホストに MID Serverを移行します。 注:MID Server では、特に多数のターゲットに対する検出や複数の Power Shell セッションの同時実行など、検出中にリソース使用率の急上昇が発生する可能性があります。Discovery の実行が正常に停止すると、MID Server ホストのリソース使用率は自動的に通常に戻ります。CPU 使用率を下げるには、MID Server を専用マシンでホストします。リソース使用率の問題が発生した場合は、各専用ホストマシンで 1 台の MID Server のみが実行されていることを確認してください。MID Server がパブリッククラウドでホストされている場合は、CPU リソースを追加して、ノイズの多い近接の問題を回避します。詳細については、「High CPU Usage on Host with MID Server(s) (MID Server を搭載したホストでの高 CPU 使用率) (KB0597639)」を参照してください。
リソースのしきい値評価に使用されるテーブル
| テーブル | 説明 |
|---|---|
| MID Server の問題 [ecc_agent_issue] | 設定された CPU およびメモリのしきい値の違反など、さまざまなタイプの MID Server の問題に関するデータを保存します。リソースのしきい値違反に使用されるフィールドは次のとおりです。
|
| MID Server のステータス [ecc_agent_status] | CPU リソースとメモリ リソースに使用されているパーセンテージを、各リソースの設定可能な間隔に平均して保存します。使用されるフィールドは次のとおりです。
|
| ECC エージェント スカラー指標 [ecc_agent_scalar_metric] | 10 分ごとに各 MID Server によって挿入された CPU 使用率データを保存します。リソースしきい値アラートで使用されるテーブル フィールドは、[平均] です。 |
| ECC エージェント メモリ測定基準 [ecc_agent_memory_metric] | 10 分ごとに各 MID Server によって挿入されたメモリ使用率データを保存します。リソースしきい値アラートで使用されるテーブル フィールドは、[max_used_pct] です。 |
しきい値違反をチェックするビジネス ルール
| ビジネスルール | 説明 |
|---|---|
| MID Server ステータスの cpu 平均値を更新する | MID Server がレコードを ECC エージェント スカラー指標 [ecc_agent_scalar_metric] テーブルに挿入した後に実行されます。このビジネス ルールは、MID Server が設定されている CPU リソースのしきい値を超えたかどうかを判断するためにしきい値設定を評価する MIDResourceThresholdBreach スクリプトインクルード関数をトリガーします。 |
| MID Server ステータスの最大メモリを更新する | MID Server がレコードを ECC エージェント メモリ測定基準 [ecc_agent_memory_metric] テーブルに挿入した後に実行されます。このビジネス ルールは、MID Server が設定されているメモリ リソースのしきい値を超えたかどうかを判断するためにしきい値設定を評価する MIDResourceThresholdBreach スクリプトインクルード関数をトリガーします。 |
しきい値とサンプリング間隔の設定
デフォルトのしきい値の割合とサンプリング間隔を使用するか、次のいずれかの方法を使用してカスタム値を設定できます。
- インスタンスにシステムプロパティを追加して、すべての MID Server のデフォルト値を変更します。
- 設定パラメーターを追加して、個々の MID Server のデフォルトのリソース値を変更します。
システムプロパティと設定パラメーターは同じ名前を使用します。
| プロパティ/設定パラメーター | 説明 |
|---|---|
| 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 Server リソース レポート
MID Server ダッシュボードには CPU と JVM のメモリ リソースの消費量を表示する 2 つのレポートがあります。これらのレポートには、過去 30 日間の使用状況が表示されます。
- [使用された CPU の平均パーセンテージ]:CPU 使用率の毎日の平均を見れば、MID Server ホストが消費する CPU 処理の量がわかります。同じホストに配備された MID Server は、同じ CPU 使用率をレポートします。
- [使用された最大メモリの平均パーセンテージ]:使用された最大パーセンテージ (max_used_pct) は、MID Server に十分なメモリリソースがあるかどうかを判断するための便利な測定基準です。この測定基準は、使用可能メモリ全体の使用された最大メモリの割合です。この傾向を経時的に見ることで、MID Server が必要とするメモリ量を視覚化することができます。