メンテナンスルールの作成

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • メンテナンスルールを使用して、「メンテナンス中」ステータスの CI をマークします。「メンテナンス中」ステータスになっている場合、こうした CI は影響度の計算から除外されます。

    始める前に

    必要なロール:evt_mgmt_admin

    このタスクについて

    指定された基準と一致する CI を「メンテナンス中」ステータスとマークするためのルールを定義できます。マークされた CI は、影響度メンテナンス CI [em_impact_maint_ci] テーブルに入力されます。

    注:
    メンテナンスルールが実行されている場合、一致する CI の cmdb_ci ステータスは変更されません。ただし、一致する CI は、以下のルールによって em_impact_maint_ci テーブルでフラグが付けられ、このステータスは影響度とアラートの計算で考慮されます。

    このルールによって「メンテナンス中」ステータスとしてフラグが付けられたフィールドは、CMDB ステータスフィールドです。

    注:
    メンテナンスルールを有効にするには、メンテナンスルールの [アクティブ] フィールドを選択します。メンテナンスルールを非アクティブ化するには、[アクティブ] フィールドをクリアします。
    ベースインスタンスとともに提供されるメンテナンスルールは、次のとおりです。
    デフォルトのメンテナンスルール 説明
    変更ウィンドウの CI CI にアクティブな変更ウィンドウがある場合、該当する CI は「メンテナンス中」ステータスとマークされます。
    このルールでは、ルールが適用されているかどうかを判断するために、変更要求 [change_request] テーブルに対してクエリを実行します。change_request テーブルの以下のすべての条件を満たす必要があります。
    • [ステータス] が、[スケジュール済み]、[実装]、[対応中]、[オープン/新規 (Open/New)] のいずれか (state = -2、-1、1、 2)。
    • [承認] が [承認済み] (approval = 'approved')。
    • [変更要求] ウィンドウがアクティブである場合、つまり、現在時刻が [開始予定日][終了予定日] の間か、現在時刻が [実績開始日][実績終了日] の間にある場合。
    • 変更要求レコードが保留レコードではない (on_hold = ' false ')。
    注意:このルールによって CI を「メンテナンス中」ステータスにするには、これらすべての条件が存在する必要があります。たとえば、変更要求承認ステータスの [ステータス][変更の承認待ち] である場合、変更は em_impact_maint_ci テーブルに追加されません。
    CI のメンテナンスステータス CMDB ステータスフィールドが [メンテナンス中] になっている CI は、このルールによって、「メンテナンス中」ステータスとしてフラグが付けられます。
    デフォルトでは、廃止された CI は「メンテナンス中」の CI には含まれません。廃止された CI を含めるには:
    1. [すべてのプロパティ] に移動します。
    2. [新規] を選択します。
    3. evt_mgmt.maintenance_rule_include_retired プロパティを Value = true で設定します。
    注:

    廃止された多数の CI を含めると、システムのパフォーマンスが低下するおそれがあります。

    手順

    1. 移動先 すべて > イベント管理 > ルール > メンテナンスルール.
    2. [New] をクリックします。
    3. 必要に応じてフィールドに入力します。
      列見出し 説明
      名前 メンテナンスルール名。
      有効 メンテナンスルールを有効にする場合に選択します。
      詳細 オプションのスクリプトセクションを表示できるようにする場合に選択します。
      説明 このメンテナンスルールを説明する情報。
      このホストで実行される CI にフラグを付ける 認定されたホストで実行されているすべてのアプリケーションにメンテナンス中であることを示すフラグを付ける場合に選択します。
      テーブル 必要な CI が含まれているテーブルを選択します。
      フィルター データの選択方法を指定します。
      CI フィールド名 CI をリストから選択します。リストには、[テーブル] フィールドの選択内容に従って入力されます。

      CMDB テーブル、または CMDB から派生したテーブルが選択されている場合は、 [CI フィールド名][sys_id] を指定します。それ以外の場合は、使用する必要な CI フィールドを指定します。例を参照してください。

    4. [送信] をクリックします。

    CMDB テーブルを使用したメンテナンスルールの例。

    CI の運用ステータスが [修理中] または [DR スタンバイ] である場合に、会社が CI をメンテナンス中として定義すると想定します。

    イベント管理ルール

    CMDB 以外のテーブルを使用したメンテナンスルールの例。

    会社がインシデントレコードを使用してメンテナンスを追跡しているとします。「CI のメンテナンスを実行」で始まる説明があると、どのメンテナンス要求もインシデントに変換されます。このようなインシデントのステータスがオープンである限り、このステータスはメンテナンスが進行中であることを示します。[CI フィールド名] フィールドで、選択したテーブル (この場合は [インシデント]) から CI 名を指定します。

    イベント管理テーブル

    高度なスクリプト機能を使用するメンテナンスルールの例。

    [メンテナンスルール] ページで、[詳細] オプションを選択します。提供されているサンプルスクリプトをカスタマイズします。
    var now_GR = new GlideRecord('cmdb_ci');
    gr.addQuery('name', 'your_name_here');
    gr.query();
    while (gr.next()){
     result.push(gr.sys_id +'');}
    このサンプルスクリプトの戻り値は、['sys_id1','sys_id2','sys_id3'] など、CI ID の配列を表すテキスト文字列です。

    このスクリプトは、独自のカスタマイズされたスクリプトを準備するための例として使用できます。

    イベント管理スクリプト