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

重要

このバージョンの Operations Manager はサポート終了に達しました。 Operations Manager 2022 にアップグレードすることをお勧めします。

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

  • ルールとモニター

  • 通知

  • 自動応答

  • 状態変更

  • 新しいアラート

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

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

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. オペレーション コンソールで、[監視] を選択 します

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

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

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

  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 があります。 次に、イベントから読み取られたレコードに基づいてエージェントにメンテナンス モードを設定します。

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 分の間隔で有効にし、主な理由として [計画済み ] と [軽微な理由 ] [その他] を有効にするには、次のように入力します。

    Start-SCOMAgentMaintenanceMode -Duration 5 –Reason PlannedOther

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

    Start-SCOMAgentMaintenanceMode -Duration 10

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

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

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

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

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

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

注意

メンテナンス モード要求が成功したことを確認するには、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. オペレーション コンソールで、[管理] を選択 します

  3. [管理] ワークスペースで、[デバイス管理] を展開し、[メンテナンス スケジュール] を選択します。

  4. [ タスク ] ウィンドウで、[ メンテナンス スケジュールの作成] を選択します。

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

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

    1. [Search for list] (リストを検索) では、既定の項目 [コンピューター] が選択されています。 または、ドロップダウン リストから [コンピューター グループ] または [SQL Server 2012 DB エンジンなどの特定のクラス] を選択することもできます。

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

    3. [ 利用可能な項目 ] ボックスで目的のオブジェクトを選択し、[ 追加] を選択して、[ OK] を選択します

  7. [ オブジェクトの選択] ページで 、[ 次へ] を選択します。

  8. メンテナンス スケジュールの作成ウィザードの [スケジュール] ページでは、メンテナンス スケジュールについて次の項目を指定できます。

    1. 実行する間隔を選択します。 [1 回] を選択すると、開始日と選択した時間に基づいて、タスクは 1 回のみ実行されます。

    2. [期間] では、 [開始日時] を選択し、 [終了日時] については、 [期間 (分)] を選択するか、 [終了日時の指定] を選択して値を入力します。

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

      Note

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

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

  10. メンテナンス スケジュールの作成ウィザードの [詳細] ページで、次の項目を指定します。

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

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

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

    4. スケジュールをすぐに有効にするには、 [スケジュールの有効化] をオンにします。後でスケジュールを有効にする予定の場合は、オフにします。

  11. [ 完了] を選択 して変更を保存します。

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

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

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

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

  2. Web コンソールの左側のウィンドウで、[ メンテナンス スケジュール] を選択します。

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

  4. [メンテナンス スケジュールの作成] ウィンドウで、以下を実行します。

    1. [クラスの検索] では、既定の項目 [コンピューター] が選択されています。 または、ドロップダウン リストから [コンピューター グループ] または [SQL Server 2012 DB エンジンなどの特定のクラス] を選択することもできます。

    2. 必要に応じて、[キーワード (keyword)でフィルター処理] ボックスにオブジェクト名のすべてまたは一部を入力し、[Enter] を選択します。

    3. [使用可能なオブジェクト] ボックスで、目的のオブジェクトを選択します。

  5. [スケジュール] を展開し、このセクションで、メンテナンス スケジュールに関する以下の項目を指定します。

    1. 実行する間隔を選択します。 [1 回] を選択すると、開始日と選択した時間に基づいて、タスクは 1 回のみ実行されます。

    2. [期間] では、 [開始日時] を選択し、 [終了日時] については、 [期間 (分)] を選択するか、 [終了日時の指定] を選択して値を入力します。

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

      Note

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

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

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

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

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

    4. スケジュールをすぐに有効にするには、 [スケジュールの有効化] をオンにします。後でスケジュールを有効にする予定の場合は、オフにします。

  7. [ 完了] を選択 して変更を保存します。

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

SQL Always On で予定メンテナンス モードを有効にする

以前のリリースの Operations Manager では、別のSQL Server インスタンス上のレプリカへのフェールオーバーが発生したときに、Operations Manager データベースの高可用性を提供するために、Always On可用性グループ内の 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 分の遅延時間が発生する場合があります。 メンテナンス モード ルールをオーバーライドすることで、最大遅延時間を構成できます。 既定値の 5 分は、システムで大きくパフォーマンスの低下を発生させることを防ぐためのものです。

スケジュール重複時の最も遅い終了時間

Note

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

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

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

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

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

次のステップ

グループの作成と管理