メンテナンス モードを使用して監視を一時的に停止する

Operations Manager のメンテナンス モードを使用すると、監視対象オブジェクト (コンピューター、SQL データベース、分散アプリケーションなど) がメンテナンスのためにオフラインになったときに発生する可能性のあるアラートやエラーを回避できます。 メンテナンス モードは、次の機能を一時的に停止します。

  • ルールとモニター

  • 通知

  • 自動応答

  • 状態変更

  • 新しいアラート

たとえば、Windows サーバーで実行されている Exchange メールボックスの役割には、Exchange サーバー サービス パックが適用されます。 このソフトウェア更新プログラム メンテナンスは、完了するまでに 60 分ほどかかります。 この間、このサーバーで実行されているメールボックス データベースは使用できません。

この場合、コンピューター全体をメンテナンス モードにするのではなく、Exchange メールボックスの役割と包含コンポーネントをメンテナンス モードにすることができます。 これにより、Windows オペレーティング システムを含め、サーバー上で実行されている他のコンポーネントを引き続き監視できます。一方、メンテナンスは特に Exchange Server アプリケーションに対して実行されます。

1 つ以上の監視オブジェクトを選択してオンデマンドでメンテナンス モードにするか、サービスまたはメンテナンス期間に合わせてスケジュールを定義し、選択したスケジュールに従って将来自動的にメンテナンス モードに配置することができます。 新しいスケジュール機能を使用すると、次のことができます。

  • メンテナンス モードは、毎日、毎週、または毎月の将来の時刻にスケジュールします。

  • 1 つのスケジュールの一部としてメンテナンスに配置するエンティティとグループのさまざまなクラスを選択します。

  • 1 つの画面からすべてのメンテナンス モード スケジュールを表示します。

  • 同じ監視対象エンティティに対して複数のジョブをスケジュールします。

重要

メンテナンス スケジュール機能の構成と操作に関する次の重要な情報を参照してください。

  • 実行中のスケジュールが終了するタイミングは変更できますが、変更は実行中のスケジュールにのみ適用されます。 そのスケジュールの今後の実行の終了時刻を編集する場合は、まずスケジュールを停止してから、変更を適用する必要があります。

  • Operations Manager 2019 UR2 では、メンテナンス スケジュールが変更されたときに最も長い時間が要します。 詳細な例 参照してください

  • メンテナンス スケジュールの作成または編集中は、一度に 216 個を超えるオブジェクトを含めることはできません。 オブジェクトの数が 216 を超えると、次のエラー メッセージが表示されます: クライアントがサーバーから切断されました。接続を再確立するには、ManagementGroup.Reconnect() を呼び出してください。

    216 を超えるオブジェクトを含めるには、メンテナンス スケジュールに追加するすべてのオブジェクトを含む 1 つまたは複数の グループを作成し グループを対象とするメンテナンス スケジュールを作成または編集します。 一度に 216 個を超えるグループ オブジェクトを含めることはできません。

  • 管理サーバーの役割をホストしている Windows コンピューターに指定されたタイム ゾーンは、メンテナンス スケジュールに適用されます。

  • 夏時間に合わせた変更は、メンテナンス スケジュールには自動的には適用されません。 夏時間に合わせて調整するには、スケジュールを手動で編集する必要があります。

  • 監視対象エンティティがメンテナンス モードになったときの履歴データを取得するには、Operations Manager データベースの MaintenanceModeHistory テーブルに対してクエリを実行します。

  • メンテナンス モード機能を利用するには、System Center Operations Manager SDK アカウントが次のいずれかの SQL Server ロールのメンバーである必要があります。

    • SQLAgentUserRole
    • SQLAgentReaderRole
    • SQLAgentOperatorRole

    SDK アクション アカウントの設定の詳細については、「Operations Manager の アカウント情報」を参照してください。

  • オペレーション データベース アカウント プロファイルの下に一覧表示されているアカウントには、MSDB データベースに対する SQLAgentOperatorRole アクセス許可が必要です。
  • オペレーション データベース アカウント プロファイルに一覧表示されているアカウントが MSDB データベースの SQLAgentOperatorRole アクセス許可にアクセスできない場合は、MSDB データベースに対する SQLAgentOperatorRole アクセス許可を、オペレーション データベース アカウント プロファイルの各アカウントに割り当てます。
  • オペレーション データベース アカウント プロファイルの下にアカウントが一覧表示されていない場合、既定のアクション アカウント プロファイルで使用できるアカウントには、MSDB データベースに対する SQLAgentOperatorRole アクセス許可が必要です。 このアクセス許可は、System Center Operations Manager 2019 の新規インストール時に自動的に付与されます。 ただし、以前のバージョンの System Center Operations Manager から System Center Operations Manager 2019 にアップグレードする場合は、このアクセス許可を手動で付与する必要があります

エージェントで管理されたコンピューターから直接メンテナンス モードを開始するシナリオをサポートするために、Operations Manager では、オペレーション コンソールから実行する必要なく、システム管理者がコンピューター自体から直接メンテナンス モードでマシンを設定できるようになりました。 これは、新しい PowerShell コマンドレット Start-SCOMAgentMaintenanceMode で実行できます。

次のセクションでは、オンデマンド メンテナンス モード機能のさまざまなオプションを操作する方法について説明します。

オンデマンド メンテナンス モード

オンデマンド メンテナンス モードでさまざまなオプションを操作するには、必要なタブを選択します。

監視対象オブジェクトをメンテナンス モードにする には、次の手順に従います。

  1. Operations Manager 管理者ロールのメンバーであるアカウントを使用してコンピューターにサインインします。

  2. オペレーション コンソールで、 Monitoring を選択します。

  3. Monitoring ワークスペースで、Monitoring を展開し、Windows コンピューターを選択します。

  4. Windows コンピューター ウィンドウで、メンテナンス モードにするコンピューターを右クリックし、[ メンテナンス モードを選択し、 メンテナンス モードの開始を選択します。 Ctrl キーまたは Shift キーを押しながらクリックすると、メンテナンス モードにするコンピューターを複数選択できます。

  5. [メンテナンス モードの設定ダイアログで、コンピューターをメンテナンス モードにする場合は [選択したオブジェクトのみ選択したオブジェクトのみを 選択します。それ以外の場合は、選択されたオブジェクトとそのすべての包含オブジェクトを選択します

  6. これが予定されていたイベントである場合は、 [計画済み] を選択します。それ以外の場合は選択せずにそのままにします。

  7. カテゴリ一覧で、適切なメンテナンス カテゴリを選択します。

  8. [期間] で分数を選択して入力するか[特定の終了時刻を選択して入力し、OK を選択します。 [コンピューター] ウィンドウでは、選択したコンピューターの [メンテナンス モード] 列にメンテナンス モードのアイコンが表示されます。

    Note

    分数の最小値は 5 です。 最大値は 1,051,200 (2 年) です。 メンテナンス モードを開始するには、最大待機時間は 5 分です。

ターゲット システムから有効にする

メンテナンス モードは、PowerShell コマンドレット Start-SCOMAgentMaintenanceMode を使用して、システム管理者が監視対象の Windows コンピューターから直接有効にすることができます。 システム管理者またはオペレーターがコンピューターでこの PowerShell コマンドレットを実行すると、コマンドは Operations Manager イベント ログにイベントを記録し、期間、理由、コメント、情報 (コマンドレットが呼び出された時刻など) などのメンテナンス アクティビティの引数を格納します。

コメント フィールドには、特にメンテナンス モードを呼び出したユーザー情報が含まれます。 エージェントを対象とするルールは、5 分ごとに実行され、PowerShell スクリプト ReadMaintenanceModeRegEntry.ps1 を使用してエージェントでこのレジストリ エントリを読み取り、次の呼び出し時にこのエントリが選択されないように無効としてマークされます。 ルールの一部であり、管理サーバーを対象とする書き込みアクションは、このレコードを受け取り、レジストリから読み取られたレコードに基づいてエージェントのメンテナンス モードを設定します。 ルールを実行する頻度は、カスタム間隔にオーバーライドできます。

ターゲット システムから有効にする

メンテナンス モードは、PowerShell コマンドレット Start-SCOMAgentMaintenanceMode を使用して、サーバー管理者が監視対象の Windows コンピューターから直接有効にすることができます。 サーバー管理者またはオペレーターがコンピューターでこの PowerShell コマンドレットを実行すると、コマンドによってイベントがログに記録されます。このイベントには、期間、理由、コメント、コマンドレットの呼び出し時刻などの情報などのメンテナンス モードの引数が格納されます。

エージェントを対象とし、エージェントのイベント エントリを読み取り、Operations Manager データベースに格納するルール。 既定では 4 分ごとに実行され、Operations Manager データベースからこのイベントを読み取る、Microsoft.SystemCenter.Agent.MaintenanceMode.Trigger.Rule Microsoft.SystemCenter.Agent.Trigger.Rule という別の規則があります。 次に、イベントから読み取られたレコードに基づいて、エージェントのメンテナンス モードを設定します。

Start-SCOMAgentMaintenanceMode には次の構文があります。

Start-SCOMAgentMaintenanceMode -Duration <Double (in minutes)> [-Reason <string>] [-Comments <string>]

Note

許容される最小期間の値は 5 分です。

コマンドレットでは、次の理由が受け入れられます。

  • PlannedOther
  • UnplannedOther
  • PlannedHardwareMaintenance
  • UnplannedHardwareMaintenance
  • PlannedHardwareInstallation
  • UnplannedHardwareInstallation
  • PlannedOperatingSystemReconfiguration
  • UnplannedOperatingSystemReconfiguration
  • PlannedApplicationMaintenance
  • UnplannedApplicationMaintenance
  • ApplicationInstallation
  • ApplicationUnresponsive
  • ApplicationUnstable
  • SecurityIssue
  • LossOfNetworkConnectivity

例 :

  1. 5 分の間隔で有効にし、主な理由として Planned およびマイナー理由 Other を有効にするには、次のように入力します。

    Start-SCOMAgentMaintenanceMode -Duration 5 –Reason PlannedOther

  2. 理由なしで 10 分間有効にするには、次のように入力します。

    Start-SCOMAgentMaintenanceMode -Duration 10

ターゲットの Windows コンピューターからメンテナンス モードを開始するには、次の手順を実行します。

  1. コンピューターにサインインします。

  2. Windows Server 2012 以降を実行しているコンピューターで、windows PowerShell を Start 画面から管理者として実行するには、 Windows PowerShell タイルを右クリックし、アプリ バーで 管理者として実行を選択します。

  3. cd C:\Program Files\Microsoft Monitoring Agent\Agentを入力して、ディレクトリを次のパス C:\Program Files\Microsoft Monitoring Agent\Agent に変更します。

  4. Import-module MaintenanceMode.dllを入力して、モジュール MaintenanceMode.dllをインポートします。

  5. Start-SCOMAgentMaintenanceMode を入力し、パラメーターを使用してメンテナンス モード要求を構成します。

Note

メンテナンス モード要求が成功したことを確認するには、Operations Manager イベント ログでイベント ID 2222 を確認し、その後にイベント ID 1215 を持つ 1 つ以上のイベントを確認します。 イベント ID 2222 が存在し、ID 1215 が見つからない場合は、メンテナンス モード要求が欠落したことを示します。 要求を再度発生させる必要があります。

要求を再度発生させるには、次のコマンドを使用して、メンテナンス モードのレジストリ内のレコードを削除し、 Start-SCOMAgentMaintenanceMode コマンドレットを再実行する必要があります。 Set-ItemProperty -Path "HKLM:\software\Microsoft\Microsoft Operations Manager\3.0\MaintenanceMode" -Name record -Value "" 

Note

メンテナンス モードの要求が成功したことを確認するには、Operations Manager のシステム ログで、イベント ID 19999 を確認します。 イベント ID 19999 が使用できない場合は、メンテナンス モード要求をもう一度送信します。

メンテナンス モードのスケジュール

次のセクションでは、メンテナンス モードのスケジュール機能に使用できるさまざまなオプションを操作する方法について説明します。

オペレーション コンソールでメンテナンス スケジュールを作成する

次の手順では、オペレーション コンソールで、選択した監視対象オブジェクトのメンテナンス スケジュールを将来の日付に作成する方法について説明します。

  1. Operations Manager 管理者ロールのメンバーであるアカウントを使用してコンピューターにサインインします。

  2. Operations コンソールで、 [管理]を選択します。

  3. Administration ワークスペースで、デバイス管理を展開し、Maintenance Schedules を選択します。

  4. Tasks ペインで、[メンテナンス スケジュールの作成] 選択

  5. 作成メンテナンス スケジュール ウィザードの [オブジェクトの選択] ページで、[オブジェクトの追加と削除].. を選択し、[ グループの作成ウィザード - オブジェクトの選択] ダイアログボックスが表示されます。

  6. 作成グループ ウィザードの [オブジェクトの選択] ダイアログで、次の操作を行います。

    1. リストの 検索で、既定の項目 Computer が選択されています。 または、ドロップダウン リストから Computer Group または SQL Server 2012 DB Engine などの特定のクラスを選択することもできます。

    2. 必要に応じて、[ 名前の一部でフィルター ボックスにオブジェクト名のすべてまたは一部を入力し、 Search を選択します。

    3. [ Available items ボックスで、目的のオブジェクトを選択し、 追加を選択して、 OKを選択します。

  7. Object の選択 ページで、次選択

  8. メンテナンス スケジュールの作成 ウィザードの Schedule ページで、メンテナンス スケジュールに次を指定できます。

    1. 実行する頻度を選択します。 オプション Once を選択した場合、タスクは選択した開始日時に基づいて 1 回だけ実行されます。

    2. [期間] で開始時刻を選択し、[終了時刻] で分数を選択するか特定の終了時刻を選択して入力します

    3. [ スケジュールは有効な開始日ですで、このスケジュールを有効にするタイミングを指定し、一定期間後に有効でなくなった場合は、 スケジュールの有効期限が切れる オプションを選択し、将来の有効期限を選択します。

      Note

      分数の最小値は 5 です。 最大値は 1,051,200 (2 年) です。 メンテナンス モードを開始するには、最大待機時間は 5 分です。

  9. スケジュール オプションの構成が完了したら 次へ を選択します。

  10. メンテナンス スケジュールの作成 ウィザードの Details ページで、次のように指定します。

    1. スケジュール名 ボックスにスケジュールの名前を作成します。

    2. これが予定されていたイベントである場合は、 [計画済み] を選択します。それ以外の場合は選択せずにそのままにします。

    3. カテゴリ一覧で、適切なメンテナンス カテゴリを選択します。

    4. ここでスケジュール 有効にする場合は [スケジュールを有効にする を選択し、後でスケジュールを有効にする場合はオフにします。

  11. [ Finish を選択して変更を保存します。

新しいスケジュールがメンテナンス スケジュールの一覧に表示され、一覧からメンテナンス スケジュールを編集、無効化、または削除できます。 これを行うには、一覧からスケジュールを選択し、 Tasks ペインから対応するオプションを選択します。

Web コンソールでメンテナンス スケジュールを作成する

次の手順では、Web コンソールで、選択した監視対象オブジェクトのメンテナンス スケジュールを将来の日付に作成する方法について説明します。

  1. 任意のコンピューターで Web ブラウザーを開き、「 http://<web host>/OperationsManager」と入力します。 web ホスト は、Web コンソールをホストしているコンピューターの名前です。

  2. Web コンソールの左側のウィンドウで、 Maintenance Schedules を選択します。

  3. ページの上部にある [ + 作成を選択します。

  4. [メンテナンス スケジュールの作成] ウィンドウで、次の操作を行います。

    1. クラスの検索で、既定の項目 Computer が選択されています。 または、ドロップダウン リストから Computer Group または SQL Server 2012 DB Engine などの特定のクラスを選択することもできます。

    2. 必要に応じて、 Filter by keyword ボックスにオブジェクト名のすべてまたは一部を入力し、 Enter を選択します。

    3. [ Available オブジェクト ボックスで、目的のオブジェクトを選択します。

  5. Scheduleを展開し、このセクションでメンテナンス スケジュールに次を指定します。

    1. 実行する頻度を選択します。 オプション Once を選択した場合、タスクは選択した開始日時に基づいて 1 回だけ実行されます。

    2. [期間] で開始時刻を選択し、[終了時刻] で分数を選択するか特定の終了時刻を選択して入力します

    3. [ スケジュールは有効な開始日ですで、このスケジュールを有効にするタイミングを指定し、一定期間後に有効でなくなった場合は、 スケジュールの有効期限が切れる オプションを選択し、将来の有効期限を選択します。

      Note

      分数の最小値は 5 です。 最大値は 1,051,200 (2 年) です。 メンテナンス モードを開始するには、最大待機時間は 5 分です。

  6. Completionを展開し、このセクションで次を指定して、カスタム メンテナンス スケジュールの構成を完了します。

    1. スケジュール名 ボックスにスケジュールの名前を作成します。

    2. Categoryドロップダウン リストから適切なメンテナンス カテゴリを選択するか、既定の other (Planned)のままにします。

    3. 必要に応じて、 Comment ボックスに、スケジュールされたメンテナンス タスクの説明を入力します。

    4. ここでスケジュール 有効にする場合は [スケジュールを有効にする を選択し、後でスケジュールを有効にする場合はオフにします。

  7. [ Finish を選択して変更を保存します。

新しいスケジュールがメンテナンス スケジュールの一覧に表示され、一覧からメンテナンス スケジュールを編集、無効化、有効化、または削除できます。 これを行うには、一覧からスケジュールを選択し、ページの上部にあるメニューから対応するオプションを選択します。

SQL Always On でスケジュールされたメンテナンス モードを有効にする

以前のリリースの Operations Manager では、Operations Manager データベースの高可用性を提供するために Always On 可用性グループ内の SQL Server のインスタンスを対象としたメンテナンス スケジュールは、別の SQL Server インスタンス上のレプリカへのフェールオーバーが発生したときに機能しませんでした。 Operations Manager 2019 には、この動作を防ぐためのこの問題の修正プログラムが含まれており、フェールオーバー シナリオでメンテナンス スケジュールが確実に機能します。

ガイドライン

  • この問題の修正の一環として、既存のスケジュールは新しいデザインに変換されます。 これは、Operations Manager 2019 へのアップグレード中に自動的に発生します。

  • 上記の操作で発生したエラーは、次のデータベース テーブル [OperationsManager] にキャプチャされます。[dbo]。[MaintenanceModeSchedulesMigrationLogs]

  • 新しいデザインに変換できないスケジュールは、Operations Manager データベースに対して次のスクリプトを実行して手動で変換する必要があります。 EXEC [dbo].[p_MaintenanceScheduleMigrateSchedule] <ScheduleIDOftheMMSchedule> 例: EXEC [dbo].[p_MaintenanceScheduleMigrateSchedule] '1A6917C6-999C-E811-837B-02155DC77B3F'

  • すべてのスケジュールを新しいデザインに変換するには、次のコマンドを使用します。Delete [OperationsManager].[dbo].[MaintenanceModeSchedulesMigrationLogs] EXEC [dbo].[p_MaintenanceScheduleMigrateExistingSchedules]

    Note

    アップグレードをデプロイすると、メンテナンス スケジュールがトリガーされ、最大 5 分の遅延が発生する可能性があります。 最大遅延を構成するには、 Maintenance Mode ルールをオーバーライドします。 既定値の 5 分は、システムのパフォーマンスが大幅に低下しないようにするためです。

スケジュールの重複中に最も遠い終了時刻

Note

この機能は UR2 以降から適用できます。

現在、オブジェクトのメンテナンス モード期間に競合がある場合、新しく更新された終了時刻によって、既存のスケジュールされた時刻が上書きされます。 定義された最新の時間が前の値よりも長い場合、コンピューターは長期間メンテナンス モードのままです。 ただし、定義された最新の時間が短い場合、コンピューターは予想よりも早くメンテナンス モードから抜け出し、誤ったアラートが生成されます。

たとえば、ユーザー Dan は、Redmond のすべてのエージェントで 午前 8 時から午後 3 時まで 毎週火曜日にメンテナンスをスケジュールします。 ユーザー Ryan は Dan の後に別のスケジュールを作成し、毎週火曜日に SQL Server を実行しているすべてのエージェントのメンテナンス モードを 10AM-12PM から開始します。 Sql Server を実行している Redmond には 500 個のエージェントがあり、メンテナンス モードは 12PM で終了し、Dan はこれらのエージェントの誤ったアラートとチケットを受け取ります。

上記のシナリオによって生成された誤ったアラートは、組織の実際の問題に対処するために多くの費用、時間、遅延を要する可能性があります。 更新プログラムのロールアップ 2 から、オブジェクトに対して複数の MM スケジュールが実行されている場合、最も遠い終了時刻は、他の定義された終了時刻を上書きします。

2019 UR2 では、メンテナンス モードの終了時刻に競合がある場合、オブジェクトはオブジェクトに対して定義されている最も遠い終了時刻にメンテナンス モードを終了します。 上記の例では、Redmond にあり、SQL サーバーがあるサーバーは、メンテナンス モードを午後 3 時に終了します。これは、それらのサーバーに対して定義されている最も遠い終了時刻です。

次のステップ

グループの作成と管理