モニターで生成されたアラートを閉じる方法
重要
このバージョンの Operations Manager はサポート終了に達しました。 Operations Manager 2022 にアップグレードすることをお勧めします。
モニターは、オブジェクトのヘルス状態を定義します。 オブジェクトには、緑 (成功または正常)、黄 (警告) 、赤 (重大または異常) のいずれかのヘルス状態が示されます。 たとえば、ディスク ドライブの容量のモニターで、使用済み容量が 85% 未満の場合は緑、85% 以上の場合は黄、90% 以上の場合は赤と定義する場合があります。 状態が変わったときにアラートを発生するようにモニターを構成することもできます。
アラートを受け取った場合、アラートがルールまたはモニターのどちらにより生成されたかなどの詳細をアラートで確認できます。 アラートがモニターにより生成された場合、ヘルス状態が正常に戻ったときにモニターによりアラートを自動解決するよう許可することが推奨されます。 オブジェクトが警告または異常な状態の間にアラートを閉じると、問題は解決されませんが、それ以上のアラートは生成されません。
ヘルス状態が赤に変更されたときにモニターによりアラートが生成され、アラートを解決した場合は、モニターのヘルス状態もリセットする必要があります。 モニターがリセットされない場合、アラートを生成したのと同じ条件が再び発生する可能性がありますが、正常性状態が変更されていないため、アラートは生成されません。
2019 より前の Operations Manager では、オブジェクトが警告または異常な状態にあるときにアラートを閉じると、問題は未解決のままですが、それ以上のアラートは生成されません。 この動作は、多くの場合、システムにアクティブなアラートがない一方で、基になる問題が存在するシナリオに至りましたが、Operations Manager 2019 で修正されています。
Operations Manager 2019 では、対応するモニターの正常性状態が 正常でない限り、モニターによって生成されたアラートを閉じることはできません。 異常なモニターによって生成されたアラートを閉じようとすると、エラー メッセージが表示され、アラートは閉じられません。
オペレーション コンソールと Web コンソールの両方から、この新しい動作を確認することができます。
オペレーション コンソール
次の手順のようにします。
Operations Manager コンソールを開き、[監視] を選択します
[監視の概要] には、モニターの正常性状態と現在のアラートの概要が表示されます。
ナビゲーション ウィンドウで [ アクティブなアラート ] を選択します。
異常な状態のモニターによって生成された、アラートを右クリックします。
解決状態を [解決済み] として設定します。
アラートが閉じられない理由を示す以下のメッセージが表示されます。
現在選択されているアラートは、これらのアラートを生成したモニターがまだ正常ではないため、閉じることができません。 閉じることができないアラートの詳細については、Operations Manager Web コンソールの "アラート クロージャ エラー" ダッシュボードをご覧ください
Note
このアラートを閉じるには、対応するモニターの正常性状態を手動で正常性状態にリセットする必要があります。 このモニターの自動解決が true に設定されている場合、アラートは、正常性状態がリセットされた後、自動的に閉じられます。 それ以外の場合、アラートは、正常性状態がリセットされた後に、手動で閉じる必要があります。
Web コンソール
Web コンソールを開き、[ 監視] を選択します。 [監視の概要] には、モニターの正常性状態と現在のアラートの概要が表示されます。
ナビゲーション ウィンドウで [ アクティブなアラート ] を選択します。
異常な状態のモニターによって生成された、アラートを開きます。
解決状態を [解決済み] として設定し、変更内容を保存します。
アラートが閉じられない理由を示す以下のメッセージが表示されます。
現在のアラートは、このアラートを生成したモニターがまだ正常ではないため、閉じることができません
Note
このアラートを閉じるには、このアラートを生成した対応するモニターの正常性を手動でリセットする必要があります。
対応するアラートのモニターの正常性状態を手動でリセットする
次の手順のようにします。
ナビゲーション ウィンドウで [ アラートの終了エラー ] ダッシュボードを選択します。 ダッシュボードにアラートが一覧表示されます。これらは、アラートを生成したモニターが異常な状態であるため、Operations Manager で閉じることができなかったものです。
次の 2 つの方法で、対応するアラートのモニターの正常性状態をリセットすることができます。
- ダッシュボードでアラートを選択し、ダッシュボード アクションの [Reset Health for Alert](アラートの正常性をリセットする) を選択します。 または
- このダッシュボードでアラートを選択してアラートのドリルダウン ページに移動し (アラートに関連するすべての情報を視覚化できます)、作業ウィンドウで [正常性のリセット] タスク を選択します。
アラート更新 API
インシデント管理などの外部システムからアラートのクローズがトリガーされ、対応するモニターが異常であるためにアラートが閉じられなかった場合は、アラートの詳細と共に例外が渡され、外部システムによって使用される可能性があります。
アラート更新データの外部化には、次の既存のアラート更新 API を使用できます。 これら 2 つの API は、この新しい動作の外部化を有効にするために拡張されたものです。
次のサンプルには、例外 AlertMonitorUnhealthyException を使用する方法の詳細が示されています。
namespace MonitorAlertClosureFailureExample
{
class Program
{
static void Main(string[] args)
{
ManagementGroup mg = new ManagementGroup("localhost");
// Get database availability alerts.
MonitoringAlertCriteria alertCriteria = new MonitoringAlertCriteria(
"Name LIKE '%DBStatusMonitor' AND Category = 'AvailabilityHealth'");
IList<MonitoringAlert> alerts =
mg.OperationalData.GetMonitoringAlerts(alertCriteria, default(DateTime));
// Find the "Closed" resolution state that is defined
// for this Management Group.
IList<MonitoringAlertResolutionState> alertStates = mg.OperationalData.GetMonitoringAlertResolutionStates();
MonitoringAlertResolutionState closedState = null;
foreach (MonitoringAlertResolutionState thisState in alertStates)
{
if (thisState.Name == "Closed")
{
closedState = thisState;
}
}
// Close all alerts not already in the "Closed" resolution state.
foreach (MonitoringAlert a in alerts)
{
a.ResolutionState = closedState.ResolutionState;
string comment = "Closing the Alert";
try
{
a.Update(comment);
}
catch (AlertMonitorUnhealthyException e)
{
// It mean the alert being closed is a monitor alert and the monitor which generated this alert is still unhealthy
// take an appropriate action. Here an error message is being displayed at console
Console.WriteLine("The alert with Alert Name" + a.Name + "cannot be closed as the monitor which genrated the alert is still unhealthy.")
}
catch (Exception e)
{
// generic exception during the update of the alert
Console.WriteLine("Closing the alert with alert name" + a.Name + "is failing because" + e.Message)
}
}
}
}
namespace MonitorAlertClosureFailureExample
{
class Program
{
static void Main(string[] args)
{
ManagementGroup mg = new ManagementGroup("localhost");
// Get database availability alerts.
MonitoringAlertCriteria alertCriteria = new MonitoringAlertCriteria(
"Name LIKE '%DBStatusMonitor' AND Category = 'AvailabilityHealth'");
IList<MonitoringAlert> alerts =
mg.OperationalData.GetMonitoringAlerts(alertCriteria, default(DateTime));
// Find the "Closed" resolution state that is defined
// for this Management Group.
IList<MonitoringAlertResolutionState> alertStates = mg.OperationalData.GetMonitoringAlertResolutionStates();
MonitoringAlertResolutionState closedState = null;
foreach (MonitoringAlertResolutionState thisState in alertStates)
{
if (thisState.Name == "Closed")
{
closedState = thisState;
}
}
// Close all alerts not already in the "Closed" resolution state.
string comment = "Closing the alert";
foreach(MonitoringAlert a in alerts)
{
a.ResolutionState = closedState.ResolutionState;
}
IList<MonitoringAlertUpdateFailure> updateFailures = mg.OperationalData.UpdateMonitoringAlerts(alerts, comment);
if (updateFailures != null && updateFailures.Count > 0)
{
foreach (MonitoringAlertUpdateFailure failure in updateFailures)
{
if(failure.Exception is AlertMonitorUnhealthyException)
{
// It means the alert being closed is a monitor alert and the monitor which generated this alert is still unhealthy
// take an appropriate action. Here an error message is being displayed at console
Console.WriteLine("The alert with Alert Name" + a.Name + "cannot be closed as the monitor which genrated the alert is still unhealthy.")
}
}
}
}
}
アラートが自動解決されるかどうかを確認するには
次の手順のようにします。
アラートを選択し、アラートの詳細でアラート モニターの名前を選択します。 モニターのプロパティ ダイアログが開きます。
モニターのプロパティで、[アラート] タブ を 選択して、[ モニターが正常な状態に戻ったときにアラートを自動的に解決 する] オプションが選択されているかどうかを確認します。
モニターにより生成されたアラートを閉じるには
次の手順のようにします。
アラートを読み、そのプロパティを確認します。 アラートの詳細で、アラートがモニターかルールのどちらにより生成されたのかを確認します。 アラートの製品ナレッジを使用して、アラートの原因について調べます。
アラートの原因のトラブルシューティングを行い、問題解決に必要な処置を取ります。
問題が解決したら、アラートの詳細で [ソース ] を選択します。 アラートに関連付けられたオブジェクトの [状態] ビューが開きます。
オブジェクトを右クリックし、[開く] をポイントし、オブジェクト名として [正常性エクスプローラー] を選択します。
アラートを生成したモニターを選択し、ツール バーの [ 正常性のリセット ] を選択します。 ヘルス エクスプローラーと [状態] ビューを閉じます。
アラート ビューを最新の情報に更新します。 アラートがまだ表示されている場合は、アラートを選択し、[操作] ウィンドウで [ アラートを閉じる ] を選択します。
Note
次の更新プログラム (孤立したアラートを閉じる) は、Operations Manager 2019 UR3 以降に適用されます。
孤立したアラートを閉じる
Operations Manager 2019 RTM、UR1、UR2 では、次に詳しく説明するように、特定のシナリオでは非永続的正常性状態の後にアクティブなアラートが閉じられません。
フェールオーバー:
- 管理サーバーがオフラインになったときにトリガーされる可能性があるフェールオーバー。
- 新しい管理サーバーがリソース プールに追加されたために、負荷分散が発生する場合。
- エージェントレス コンピューターがフェールオーバーされ、別の管理サーバーによって監視されるときに、そのために新しい正常性状態になった場合。
エージェントが切断され、しばらくしてもう一度接続され、正常性状態が変化しても前の状態が認識されません。
管理サーバーが切断され、再接続された場合。
ヘルス サービスのキャッシュがクリアされた場合。
全体的に、正常性サービスはモニターの最後の状態を保持しません。モニターを正常にリセットしている間、アラートは閉じられません。
Operations Manager 2019 UR3 では、次に詳細を示すように、最終的にすべての孤立アラートがモニターの種類に応じて終了します。
- サービス モニター: すぐに終了します。
- 即時オンデマンド モジュールがあるすべてのモニター: すぐに終了します。
- オンデマンド モジュールのないすべてのモニター: 頻度に応じて 2 回目の実行時に終了します。
- イベント ベース モニター: 初期化後に発生する正常なイベントで終了します。
正常性状態の遷移は、モニターの初期化時に軽微な変更を示します。以下のサンプル:
上の図に示すように、初期化中にモニターは最初は正常になります。 その後、再び計算して、正常になります。 空の状態から正常な状態への 2 つの 状態変更の遷移が表示されます。
アラート終了エクスペリエンスの変更
Operations Manager 2022 を使用すると、管理者は異常な状態にある、ヘルス モニターのアラートの終了を選択できます。
リリース 2019 では、対応するモニターの正常性状態が正常でない限り、モニターによって生成されたアラートを閉じることができませんでした。 異常なモニターによって生成されたアラートを閉じようとすると、エラー メッセージが表示され、アラートは閉じられません。
Operations Manager 2022 では、管理者は [管理]>[設定] に移動して、次のオプションのいずれかを選択することで、この動作を変更できます。
- 基になるモニターの正常性が手動で解決またはリセットされたときにのみ、モニターによって生成されたアラートを閉じます
- 基になるモニターの正常性をリセットしてモニターによって生成されたアラートを閉じる: このオプションを使用すると、プログラムや UI で異常なモニターのアラートを閉じることができます。 これにより、基になるモニターの正常性がリセットされ、対応するアラートが暗黙的に閉じられます。 また、このオプションを使用すると、モニターによって生成されたアラートを一括終了できます。
[アラートのプロパティ]>[履歴] を表示して、アラートがどのように閉じられたかを追跡することもできます。
次の手順
アラートが生成されると、操作と Web コンソールで アクティブなアラートと詳細を表示 して、考えられる問題を特定し、それらを解決するための次の手順を特定できます。
1 つ以上のモニターによって検出された問題を調査して解決した後、「 正常性をリセットする方法 」を確認して、モニターが自動解決するように構成されていない場合、またはモニターが正常性状態を検出するまで待機しない場合は、正常性を手動でリセットします。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示